Hallo,
meine Frage hat weniger mit OpenStreetMap zu tun sondern mehr mit Mathe / Geografie:
Ich möchte zu einem gegeben Punkt (LONG/LAT) in einem Umkreis / Rechteck was suchen.
Bsp: 10 km … vom Punkt also 5 km nach Osten, 5 km nach Westen, 5 km nach Norden, 5 km nach Süden.
Für das OpenStreetMap-API brauche ich also die entsprechenden Koordinaten des Punktes “links unter” und “rechts oben”.
Wie rechnet man das aus? Die x km zeigen sich ja je nach Position auf der Erdkugel in anderen LONG/LAT - Differenzen.
Ein “schöne Formel”, die ich “gut” programmieren kann, wäre mir am liebsten. (PS: alles nicht kommerziell)
Hi
Ich habe es mir einfach gemacht: Um Fehler bei größeren Breitengraddifferenzen zu vermeiden, gehe ich bei der Berechnung von der Mitte der Breite aus.
Man hat zunächst 2 Koordinatenpaare X1, Y1 und X2, Y2 als Dezimalzahl, X_Länge, Y=Breite
Differenzlänge Xd = abs(X2-X1)
Differenzbreite Yd = abs(Y2-Y1)
Ymitte = Yd / 2
LängeX = Xd * Einheitslänge zB.111.111 ich habe mich aber an einem anderen Modell mit 111.243 km orientiert, die Erde soll ja eine Kartoffel sein :-))
BreiteY = Yd * cos(DegToRad(Ymitte)) * 111.243
Strecke s = hypot(LängeX,BreiteY)
Entwicklungsumgebung für mein Konvertierungstool “E605.exe” war Delphi 5 prof, irgendwo schlummern noch Listings von meinen ersten Versuchen mit GFA-Basc (Win16) und Power-Basic aus DOS-Zeiten.
oa. Berechnung ist zwar nicht ganz korrekt, ich gehe aber von Trackpoints mit einem Abstand von kleiner 1 km aus. Fehler dürften damit klein genug bleiben
Danke für alle Hinweise,
ich dachte, irgendwo gibt es eine “Normberechnungsmethode” (für Koord. WGS84).
Anscheinend ist das nicht so und daher behelfe ich mir hat mit einem kugelförmigen Erde.
Nur zur Info - wozu das ganze:
In GEONames finde ich viele Einträge, wie beinahe identisch sind, etwa:
2362828;Banou;Banou;; 12.16667;-3.2; P;PPL;BF;;0;;;;0;;293;Africa/Ouagadougou;30.12.1993
2362829;Banou;Banou;Banou,Bounou;11.76667;-3.36667;P;PPL;BF;BF;0;;;;0;;295;Africa/Ouagadougou;10.08.2010
2362830;Banou;Banou;; 11.75; -3.25; P;PPL;BF;;0;;;;0;;288;Africa/Ouagadougou;30.12.1993
Ich möchte nun anhand der Koordinaten prüfen,
a) ob es sich um die selben Orte handelt
b) wie weit sie voneinander entfernt liegen
also erster Treffer von googlen nach “entfernungsberechnung auf ellipsoid” liefert: http://www.kompf.de/gps/distcalc.html
=> Ergänzung 1: Entfernungsberechnung für Ellipsoide