Werking van Postcode API

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Albert de Wit

Albert de Wit

04/08/2012 20:34:23
Quote Anchor link
Hallo,

Ik heb al redelijk recentelijk een postcode database gedownload, om vervolgens de afstand te berekenen. Die database schijnt na een paar controles, niet helemaal volledig te zijn. Nu heb ik een API gevonden op het internet (Klik) waar een paar postcodes die misten in mijn database wel in stonden. Mijn vraag is, hoe gebruik ik zo'n API?
Gewijzigd op 04/08/2012 23:11:47 door Albert de Wit
 
PHP hulp

PHP hulp

26/12/2024 22:26:34
 
- Ariën  -
Beheerder

- Ariën -

04/08/2012 21:08:06
Quote Anchor link
Is voglens mij JSON, kijk eens naar JSON-encode() en JSON-decode().

En kies een betere titel, API is zo globaal ;-)
Gewijzigd op 04/08/2012 21:08:32 door - Ariën -
 
Thomas Verschoof

Thomas Verschoof

04/08/2012 21:09:42
Quote Anchor link
Door middel van een CURL opdracht kan je een HTTP request versturen, zie: http://wiki.dreamhost.com/index.php/CURL, of als je makkelijker wilt doen gebruik je de functie file_get_contents, zie http://php.net/file_get_contents, om de data die de pagina genereert uit te lezen.
Daarna kan je d.m.v. json_decode (http://php.net/json_decode) de response van de api omzetten naar een array die je daarna verder kan gebruiken in je applicatie.
Gewijzigd op 04/08/2012 21:10:54 door Thomas Verschoof
 
- Ariën  -
Beheerder

- Ariën -

04/08/2012 21:26:48
Quote Anchor link
cURL is niet eens nodig, je kan ook file_get_content() gebruiken.
 
Albert de Wit

Albert de Wit

04/08/2012 21:46:59
Quote Anchor link
- Aar - op 04/08/2012 21:08:06:
En kies een betere titel, API is zo globaal ;-)


Sorry, wat zou wel een goede titel moeten zijn?


Toevoeging op 04/08/2012 21:53:20:

Thomas Verschoof op 04/08/2012 21:09:42:
of als je makkelijker wilt doen gebruik je de functie file_get_contents, zie http://php.net/file_get_contents, om de data die de pagina genereert uit te lezen.


Ok bedankt, ik lees nu de pagina http://postcode-api.nl/adres/9207dj/ uit. Ik krijg precies wat ik op dit pagina zie. Hoe kan ik nu een specifiek element krijgen? Ik doel dan op bijvoorbeeld Latitude (in dit geval 53.10000000). Hoe krijg ik zoiets in een variabele?
 
- Ariën  -
Beheerder

- Ariën -

04/08/2012 21:57:32
Quote Anchor link
Vat je vraag kort samen....

Werking Postcode-API?

En doe eens een print_r() op json_decode()
Gewijzigd op 04/08/2012 21:59:25 door - Ariën -
 
Albert de Wit

Albert de Wit

04/08/2012 23:44:26
Quote Anchor link
print_r(json_decode($json)), komt er een object uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

$json
= file_get_contents('http://postcode-api.nl/adres/'.$_GET['postcode'].'/');
$json = json_decode($json);


$json = $json[0];


echo '<table>';
echo '<tr><td>Provincie</td><td>'.$json->{'provincie'}.'</td></tr>';
echo '<tr><td>Gemeente</td><td>'.$json->{'gemeente'}.'</td></tr>';

if ($json->{'alternatief'}!=''){
  echo '<tr><td>Plaats</td><td>'.$json->{'alternatief'}.'</td></tr>';
}
else{
  echo '<tr><td>Plaats</td><td>'.$json->{'plaats'}.'</td></tr>';
}


echo '<tr><td>Straat</td><td>'.$json->{'straat'}.'</td></tr>';
echo '<tr><td>Postcode</td><td>'.$json->{'postcode'}.'</td></tr>';
echo '<tr><td>Latitude</td><td>'.$json->{'latitude'}.'</td></tr>';
echo '<tr><td>Longtitude</td><td>'.$json->{'longtitude'}.'</td></tr>';
?>


werkt prachtig!! bedankt!

Toevoeging op 05/08/2012 00:17:13:

nu heb ik nog snel een vraagje,

na even snel onderzoek gedaan te hebben uit mijn bestaande database die ik heb gedownload, blijkt dat er verschil is tussen de afstand van postcodes.

als ik een radius van 5 kilometer invoer krijg ik van (random) 7461 de volgende postcodes

7460
7461
7462
7463
7466
7467

en als ik een radius invoer bij de postcode-api.nl van 5 kilometer krijg ik

7461
7462
7463
7466
7467
7468

is dit gewoon een verschil tussen de databases of is ligt dit aan het feit dat mijn database 6pp postcodes berekent en de API de 4pp gebruikt?

kan het verschil cruciaal zijn?
 
Eddy E

Eddy E

05/08/2012 11:20:29
Quote Anchor link
Klein verschil wel.... Persoonlijk zou ik bij opgeven 5 km altijd iets meer opgeven (bijvoorbeeld 7km), omdat dat afgerond toch wel 5 is.

Als mensen wel 5 km willen rijden, doen ze er 6 ook wel (als de volgende stap 50 km is etc).
 
Albert de Wit

Albert de Wit

05/08/2012 11:30:05
Quote Anchor link
tja, 5 kilometer is vrij klein lijkt mij. Als mensen op een site iets zoeken, gaan ze heus wel verder dan 10 kilometer ervoor rijden. Of fietsen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/08/2012 11:50:47
Quote Anchor link
Het verschil zit m in de gegevens in de postcode tabel van d-centralize. Die kloppen namelijk niet. Ik krijg via google geocode api andere coordinaten (verschil 3 km)
 
Albert de Wit

Albert de Wit

05/08/2012 12:03:26
Quote Anchor link
ik gebruik geen d-centralize

ik gebruik http://postcode-api.nl/

Ik zie niet de afstanden maar mijn postcode database (die ik ondertussen gewist heb) toonde minder postcodes aan binnen een radius dan deze postcode-api
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/08/2012 12:17:27
Quote Anchor link
d-centralize is waar je jouw postcode database vandaan hebt. Die is dus onvolledig en incorrect.
 
Albert de Wit

Albert de Wit

05/08/2012 12:23:25
Quote Anchor link
och natuurlijk! dat verklaart het :D. Ik had zo een ideetje,


is het handiger om een API te gebruiken?
wat als een API ophoud met bestaan?
wat als een API tijdelijk down is?

is het handiger om een API te importeren naar een database?
 
Eddy E

Eddy E

05/08/2012 12:29:24
Quote Anchor link
Je kan gewoon 'vertrouwen' op die API.
Daar is het voor. Dus niet om zelf alles te downloaden en te moeten upgraden.
Als de API down is, moet je gewoon een melding geven dat het nu niet mogelijk is om zoiets te berekenen oid.

Als het ophoud met bestaan, zoek je een ander.
Kijk ook postcodes wijzigen: denk aan nieuwe straten/wijk of herindelingen (zeldzamer).
 
- Ariën  -
Beheerder

- Ariën -

05/08/2012 13:28:15
Quote Anchor link
www.postcode.nl, die schijnen een volledige Postcode-database te hebben. Is wel betaald, maar is als ik het goed heb wel redelijk betaalbaar.

Vergeet niet dat er wekelijks een hoop postcode-mutaties plaatsvinden, en een actuele database zeer handig kan zijn als je op postcodes wilt controleren.
 
Albert de Wit

Albert de Wit

05/08/2012 13:33:05
Quote Anchor link
tja, ik weet zelf niet in hoeverre postcode-api.nl up to date is.
 
Eddy E

Eddy E

05/08/2012 13:33:28
Quote Anchor link
90 euro voor iets wat ook met een (gratis) API kan.... of desnoods met cURL() vind ik nog best veel.
Oké, je koopt de blokkade om ipv die te omzeilen.
 
Albert de Wit

Albert de Wit

05/08/2012 13:37:56
Quote Anchor link
omzeilen? postcode-api.nl verschaft het naar mijn mening gratis. alles wat er op dit site staat is hoe het te gebruiken. totaal niets anders
 
- Ariën  -
Beheerder

- Ariën -

05/08/2012 13:44:15
Quote Anchor link
Eddy Erkelens op 05/08/2012 13:33:28:
90 euro voor iets wat ook met een (gratis) API kan.... of desnoods met cURL() vind ik nog best veel.
Oké, je koopt de blokkade om ipv die te omzeilen.

Heb je mijn laatste alinea trouwens gelezen?

Voor de liefhebbers: Elke dag/week verdert er een hoop qua postcode's.
Gewijzigd op 05/08/2012 13:45:27 door - Ariën -
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/08/2012 13:54:08
Quote Anchor link
Albert, ik ben zo 'gemeen' geweest om dat te uit te testen, en de conclusie is: nee.
Ik heb een sterk vermoeden dat ze ook de database van d-centralize gebruiken (in ieder geval de lat en long -die dus niet kloppen-)

@Aar
Zo goedkoop is dat niet, voor de pro versie betaal je bijna 1700 euro (dat was begin dit jaar)
 
Albert de Wit

Albert de Wit

05/08/2012 14:20:46
Quote Anchor link
Ger van Steenderen op 05/08/2012 13:54:08:
Albert, ik ben zo 'gemeen' geweest om dat te uit te testen, en de conclusie is: nee.
Ik heb een sterk vermoeden dat ze ook de database van d-centralize gebruiken (in ieder geval de lat en long -die dus niet kloppen-)


Ik had dus met de gedownloade database van d-centralize en die toonde noujuist verschillen met deze API
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.