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

Antwoord per e-mail aan