Jump to content
  • 0

Afstand tussen Nederlandse postcodes


Sanne

Question

Posted

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?

17 answers to this question

Recommended Posts

  • 0
Posted

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.

  • 0
Posted

Reisafstanden zijn niet nodig: het gaat om de hemelsbrede afstand.

 

Ik heb dus lengte- en brredte-coördinaten nodig.

 

En welke berekening doe je daar dan mee?

  • 0
Posted

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.

  • 0
Posted

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.

  • 0
Posted

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

  • 0
Posted

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!

  • 0
Posted

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

  • 0
Posted
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

  • 0
Posted
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).

  • 0
Posted

Zeg Andries, ik heb nog wel een andere uitdaging voor je: het blijkt nu dat de formule ook in FileMaker Pro 5 (VIJF) moet werken. En daar blijken de functies acos en asin niet aanwezig ... !

  • 0
Posted
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...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...