12 Stimmen

Finden der nächstgelegenen Breiten- und Längengrade

Eine Frage zu Breiten- und Längengraden... Wahrscheinlich eine dumme Frage.

Ich habe eine Reihe von Breiten- und Längengraden für verschiedene Orte und ich habe den Breiten- und Längengrad des Ortes, an dem ich mich befinde.

Nun muss ich die nächstgelegenen Orte von meinen Standorten aus dem Satz von Breiten- und Längengraden finden, den ich habe. Gibt es eine besondere Berechnungsmethode oder ist es nur eine einfache Subtraktion und Überprüfung der Differenz?

Könnten Sie bitte etwas Licht in diese Angelegenheit bringen?

Danke! J

1 Stimmen

Vielleicht sollten Sie eine Suche nach SO durchführen - es gibt zahlreiche Antworten auf diese Frage, z. B. stackoverflow.com/questions/27928 y stackoverflow.com/questions/23569/ y

13voto

Arnkrishn Punkte 28604

Es kommt darauf an, wie die Punkte platziert werden.

Ein Beispiel: Wenn die meisten Punkte auf einem Parkplatz liegen, dann Euklidischer Abstand sollte gut funktionieren.

In anderen Fällen - Geodätische Entfernung errechnet werden muss. Diese Link sollte Ihnen weitere Informationen liefern.

Hier ist die Umwandlung vom Dezimalformat ins Grad-Minuten-Sekunden-Format und umgekehrt.

Prost

7voto

Pritesh Mahajan Punkte 4768

Sie können dieses SQL verwenden. Es wählt dann den nächstgelegenen Lat, Lng aus Ihren DB-Einträgen.

SELECT id,lat,lng, ((ACOS(SIN(Ihr_lat * PI() / 180) * SIN(lat * PI() / 180) + COS(your_lat * PI() / 180) * COS(lat * PI() / 180) [ ] COS((Ihre_Länge - lng) * PI() / 180)) * 1 distance VON your_table_name HABEN distance < ORDER BY distance ASC LIMIT 0,10

Ich hoffe, das hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X