Ik ben blij dat er iemand is die het wel echt weet; na het posten van
dit bericht begon ik te twijfelen aan mijn formulering en ben
sindsdien aan het graven in geheugen en bronnen, maar mijn
intellectuele vermogens lijken een bermudadriehoek te hebben waar het
gaat om projecties en coördinaatsystemen...
Sorry voor de verwarring!
Martijn
Op 22-okt-2007, om 22:03 heeft Milo van der Linden het volgende
geschreven:
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
[email protected] <mailto:[email protected]>
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
[email protected] <mailto:[email protected]>
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
[email protected] <mailto:[email protected]>
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
-------------------------------------------------------------------
--
---
_______________________________________________
Talk-nl mailing list
[email protected]
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
[email protected]
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
[email protected]
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
--
Milo van der Linden
skype: milovanderlinden
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[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
[email protected]
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
_______________________________________________
Talk-nl mailing list
[email protected]
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl