Martijn van Exel schreef:
Voor afstandberekening in het RD-stelsel kun je volgens mij inderdaad
veilig pythagoras gebruiken, omdat het een km2-grid is met vaste
afstand tussen de gridlijnen en rechte hoeken. Maar als je
cartesische coördinaten hebt (zoals Gert heeft) zou je die eerst
moeten omrekenen naar RD en dan krijg je ook met dergelijke
trigonometrie te maken.
Dit is niet helemaal juist, cartesisch betekent namelijk "plat". Gert
zijn coordinaten kunnen dus ook gebruik maken van dezelfde stelling van
pythagoras.
Feitelijk zijn er 2 soorten coordinaatstelsels op GIS gebied:
1) Geografische coordinaat systemen
en
2) "geprojecteerde" coordinaat systemen.
In een coordinaat systeem uit 1) geldt dat trigonometrie of "great
circle" berekeningen dienen te worden toegepast.
Bij 2) kun je altijd volstaan met de stelling van pythagoras, maar
afhankelijk van de projectie zullen er afwijkingen optreden in afstand
of in oppervlakte. Er zijn namelijk zogenaamde "Equal Area" (Oppervlakte
getrouw) en "Equidistant" (Afstands getrouw) projecties en mengvormen
van deze twee. Vliegroute kaarten zijn b.v. equidistant omdat afstand
hier belangrijker is dan oppervlakte. Thematische vlakken kaarten zijn
vaak oppervlakte getrouw.
Tevens is het gebied waarvoor de projectie specifiek is ingericht
essentieel. In Nederland snijdt de projectie bijvoorbeeld door de aarde
in een specifieke straal rondom Amersfoort. Dit betekent dat je vlak bij
Amersfoort een negatieve afwijking hebt, (in Zeeland en Groningen een
positieve) van enkele centimeters. Op de snijring is de afwijking het
kleinste.
Indien de afstandsberekening bedoeld is voor b.v. routeplanning zou ik
daarom adviseren om de extra moeite te nemen om de "great circle"
berekening door te voeren. Deze is dan automatische bij benadering
gelijk aan de GPS afstand.
(Pfff, 't zat diep weg in de uithoeken van mijn RAM, maar als HTS
Geo-Informaticus/Geodeet moest ik hier even op reageren)
Martijn
Op 22-okt-2007, om 20:40 heeft Just van den Broecke het volgende
geschreven:
Volgens mij heet de formule "great circle distance" (zoals c#
voorbeeld). Zie http://en.wikipedia.org/wiki/Great-circle_distance
Pythagoras kan m.i. alleen met zgn "equidistante projectie" (bijv.
pixels evenredig aan meters in x en y richting) zoals RD op bijv.
topokaarten in NL.
Ik heb wel een aantal implementaties bijv. in Java of JavaScript.
Just
Martijn van Exel wrote:
Dat maakt het een stuk complexer. Je moet je afvragen of je dat
ervoor
over hebt, maar enfin, ik vind de volgende uitwerking:
http://www.codeproject.com/csharp/distancebetweenlocations.asp
Succes ermee;
Martijn
Op 22-okt-2007, om 13:29 heeft Gert Gremmen het volgende geschreven:
Dank je Martijn,
maar nu in lengte en breedte graden....
en over de aardbol, hoewel dat
binnen Nederland wel ongeveer hetzelfde
is als op een plat vlak.
Regards,
Je bedoelt de hemelsbrede afstand?
Dat is de implementatie van Pythagoras:
(in c#)
public double Distance(Point pt1, Point pt2)
{
return Math.Sqrt(Math.Pow(pt2.X.ToDouble() - pt1.X.ToDouble(),
2) +
Math.Pow(pt2.Y.ToDouble() - pt1.Y.ToDouble(), 2));
}
Voor afstand over de weg kun je een webservice aanroepen, er zijn
verschillende partijen die dat aanbieden (Locatienet, Geodan, ...)
Martijn
Op 22-okt-2007, om 13:04 heeft Gert Gremmen het volgende geschreven:
Voor het schrijven van een eenvoudige applicatie
zoek ik een algorithme om de afstand tussen
twee coordinaten ( uit OSM natuurlijk)
te berekenen. (in Nederland)
Het hoeft niet sub-meter nauwkeurig....
Wie heeft een voorbeeld in universele code?
Regards,
Gert Gremmen
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org <mailto:Talk-nl@openstreetmap.org>
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org <mailto:Talk-nl@openstreetmap.org>
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org <mailto:Talk-nl@openstreetmap.org>
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
---------------------------------------------------------------------
---
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
--
--Just
Just van den Broecke [EMAIL PROTECTED]
Just Objects B.V. tel +31 65 4268627 Skype: justb4
The Netherlands http://www.justobjects.nl
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
--
Milo van der Linden
skype: milovanderlinden <skype:milovanderlinden?add>
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
http://www.3dsite.nl
De informatie in dit bericht reflecteert mijn persoonlijke mening en
niet die van een bedrijf of instantie. Aan de informatie kunnen geen
rechten worden ontleend. Indien dit bericht onderdeel is van een forum,
mailing-list of community dan gelden automatisch de bij het betreffende
medium behorende voorwaarden. The information in this message reflects
my personal opinion and not that of a company or public body. All rights
reserved.If this message is contained in a mailing-list or community,
the rights on the medium are automatically adapted.
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl