Ga naar inhoud
  • 0

Afstand tussen Nederlandse postcodes


Sanne

Vraag

Is er iemand bekend met het berekenen van de afstand tussen twee Nederlandse postcodes?

 

Mijn beperkte kennis is nu, dat je van de postcode de lengte- en breedtegraad coördinaten verkrijgt, en dat je daarna met een berekening de afstand hemelsbreed kunt berekenen.

 

Als dat waar is:

- hoe kom je aan lengte- en breedtegraad coördinaten?

- welke berekening doe je dan?

Link naar reactie

17 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Ik vrees dat je als eerste per postcode de lengte- en breedtecoördinaten moet invoeren. Ik weet niet of hier tabellen voor zijn, handwerk met Googlemaps lijkt me veel werk.

Daarna zou je de afstand tussen twee punten kunnen berekenen, maar dat is dan wel een rechte lijn tussen twee punten. Dus niet geschikt voor reisafstanden.

Link naar reactie
  • 0

Even Googelen levert leuke formules op. Let wel: de meeste houden rekening met de kromming van de aarde (bolvormig of elipsvormig), dus het zijn complexe formules.

Afhankelijk van hoe groot je gebied is kun je de berekeningen ook voor een plat vlak maken. De kromming van de aarde binnen Nederland is verwaarloosbaar.

 

In het kort: coordinaten omrekenen naar graden, stelling van Pythagoras, 1 graag is x km in Nederland (evenaar: 1 graad=111 km).

 

Als ik dit weekend nog tijd heb duik ik er in, leuk probleem.

Link naar reactie
  • 0

Andries,

Daar was ik ook geweest, er zijn meer van dat soort sites. Echter nergens te zien hoe ze het doen.

 

Sanne,

Het is ook een erg ingewikkelde berekening wil het een beetje in de buurt van de exacte afstand komen. Dit is simpelste formule die ik ben tegengekomen. Als je de teksten op de website gelezen hebt, dan zie je waar overal rekening mee wordt gehouden.

Het kan wel simpeler, maar dan wordt het ook (veel) onnauwkeuriger.

 

En tabellen op internet: zoeken! Er zijn diverse.

Link naar reactie
  • 0

Hallo Sanne,

 

Zoals eerder vermeld kan het met: In het kort: coördinaten omrekenen naar graden, stelling van Pythagoras, 1 graag is x km in Nederland (evenaar: 1 graad=111 km).

Dit geeft een ruwe schatting van de afstand hemelsbreed en houdt geen rekening met de kromming van de aarde, etc.

 

Maak 4 velden: Latitude 1+2 en Longitude 1+2 voor de coördinaten in graden (decimale waarde)

De verschillen in graden ga je gebruiken in de stelling van Pythagoras:

Sqrt((Latitude1 - Latitude2) ^ 2 + (Longitude1 - Longitude2) ^ 2)*111

 

( de 111 is de omrekening van graden naar kilometers.

et voila, een redelijke schatting van de hemelsbrede afstand

 

Succes

Link naar reactie
  • 0

Tabellen met de latitude en longitude van Nederlandse postcodes kan ik niet vinden.

 

Nu hoef ik ook niet van elke postcode deze gegevens te weten, ik moet ze weten van de 2.000 leden van de leden-administratie die ik onderhoud.

Dus ik heb gebruik gemaakt van http://www.himbuv.com/pdif.htm.

Deze website heeft een groot voordeel, en dat is dat je de url met een calculatie-veld en het veld met de postcode kunt bereken, en je dus de pagina met de gegevens direct vanuit FileMaker kunt oproepen.

Via een calculatie-veld, een web-viewer-object en een scriptje heb ik hier de coördinaten van de meeste leden wel gevonden en in FileMaker-velden genoteerd.

 

Mocht het op die website niet lukken, dan kan ik nog de volgende urls proberen, alleen kan ik daar niet een url van bereken met de postcode of het adres erin, dus moeten deze gegevens in de webpagina zelf ingevuld worden (handwerk!):

http://www.blinfotec.org/loadstone-gps/geocoder/index.php

http://www.inventio.nl/cgi-bin/postcode.pl

http://www.multimap.com/

 

De formule is ook gelukt.

Uitgaande van notatie van de coördinaten als "52,135" en "4,65972" is geworden:

Let ( [
lat1 = lat_g * (Pi / 180) ; 
lon1 = lon_g * (Pi / 180) ;
lat2 = lat * (Pi / 180) ;
lon2 = lon * (Pi / 180) ;
R = 6371 ;
lat = lat2 - lat1 ; 
lon = lon2 - lon1 ; 

d = Acos ( (Sin (lat1) * Sin (lat2)) + (Cos(lat1) * Cos ( lat2) * Cos(lon))) * R
] ; 
d
)

 

Gescript doe ik nu het volgende:

 

- zet latitude en longitude van de postcode waarom je de straal wilt weten in twee globals.

- een calculatie-veld bij alle leden berekent de afstand tussen zichzelf en de informatie in de globals

- vind alle leden die op een bepaalde afstand tot de informatie in de globals liggen

 

En dat was precies wat ik wilde!

 

Als bonus heb ik met de gegevens een url berekent die een map toont waarop beide plaatsen staan.

Bijvoorbeeld:

http://www.movable-type.co.uk/scripts/latlong-map.html?lat1=.9127076277592081&long1=.0984749496027315&lat2=.9110874909744593&long2=.0984749496027315&d=23.8773756445410837

 

Dankjewel Hiker en Andries!

Link naar reactie
  • 0

He Sanne,

 

mooi dat je er bent uitgeraakt.

 

Niet dat ik een betweter wil zijn, maar je gebruikt hier de wet van "Cosines for Spherical Coordinates". Op zich is dit geen slechte formule, maar door het gedrag van de cosinus bij kleine hoeken ( de tendens om steeds gelijk te zijn aan 1 ) kan je die beter niet gebruiken voor kleine afstanden. De formule die ik heb gebruikt is de Haversine formule, die mathematisch 100% correct is voor kleine afstanden. Er kruipt een fout in als we over punten spreken die recht tegen overelkaar liggen (zijnde wij en Australie of zo :-) ), op zo een afstand van 20.000 km kruipt er een fout in van 2km.

 

Maar goed ik weet ook niet hoe exact het allemaal moet zijn :-)

 

Groetjes

Link naar reactie
  • 0
Op o.a. http://kvdb.net/projects/6pp/ vindt je een tabel met postcodes en coördinaten.

Ja, prachtig. Maar de tabellen blijken niet bepaald compleet te zijn: een aanzienlijk deel van de postcodes staat er niet in. Daarbij blijken de coördinaten ook veel minder nauwkeurig dan op http://www.himbuv.com/pdif.htm

 

Omdat ik de url die bij de postcode hoort, kan berekenen in FileMaker en vervolgens van himbuv.com de coördinaten - gescript - kan ophalen, lijkt deze oplossing iets meer resultaat op te leveren dan de tabellen van kvdb.net.

 

Overigens, als dit geld had mogen kosten, dan zou ik direct de gegevens hebben gekocht, in plaats van me op openbare bronnen te moeten baseren (want je weet maar nooit hoe lang die blijven bestaan).

Link naar reactie
  • 0
Niet dat ik een betweter wil zijn, maar je gebruikt hier de wet van "Cosines for Spherical Coordinates".

 

Andries, ik heb inderdaad een andere formule dan de custom function die door jou geplaatst is op:

http://www.fmfunctions.com/fid/218

 

Maar uh ... de uitkomst van "mijn" formule is exact gelijk jouw formule! 8O

 

 

Er is een verschil van 1 meter op een afstand van 1 km

Een verschil van 20m op een afstand van 50 km

 

:-D

 

de verschillen zijn idd te verwaarlozen...

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...