Wie konvertiert man den Breiten- oder Längengrad in Meter?
Wenn ich ein latitude oder longitude Lesen in standard-NMEA-format gibt es eine einfache Möglichkeit /Formel zu konvertieren, dass das Lesen zu Meter, die ich dann umsetzen in Java (J9)?
Bearbeiten:
Ok scheint, was ich tun möchte, ist nicht möglich leicht, aber was ich wirklich tun wollen ist:
Sagen, ich habe eine lat und long der einen Weg zeigen und lat und long der eine Benutzer gibt es eine einfache Möglichkeit, Sie zu vergleichen, zu entscheiden, Wann sagen Sie den Benutzer sind Sie innerhalb einer einigermaßen Nähe von den Weg zeigen? Ich begreife das angemessene Thema, aber ist dies ganz einfach tun können oder noch übermäßig Mathematik-y?
InformationsquelleAutor der Frage Adam Taylor | 2009-03-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine javascript-Funktion:
Erklärung: https://en.wikipedia.org/wiki/Haversine_formula
InformationsquelleAutor der Antwort b-h-
Für die Angleichung der kurzen Entfernungen zwischen zwei Koordinaten, die ich verwendet Formeln aus
http://en.wikipedia.org/wiki/Lat-lon:
.
Im code unten habe ich Links die rohen zahlen, um zu zeigen, deren Bezug zu der Formel aus wikipedia.
Den wikipedia-Eintrag besagt, dass der Abstand calcs sind innerhalb von 0,6 m für 100 km in Längsrichtung und 1 cm für 100 km latitudinally, aber ich habe nicht überprüft, wie überall in der Nähe, die Genauigkeit ist in Ordnung für meinen Gebrauch.
InformationsquelleAutor der Antwort JJones
Gegeben, die Sie suchen für eine einfache Formel, dies ist wahrscheinlich der einfachste Weg, es zu tun, vorausgesetzt, dass die Erde eine Kugel ist der Umfang 40075 km.
Länge in Meter 1° Breitengrad = immer 111.32 km
Länge in Meter 1° Längengrad = 40075 km * cos( Breitengrad ) /360
InformationsquelleAutor der Antwort Ben
Breiten-und Längengrade angeben, Punkte, Entfernungen nicht, also deine Frage ist etwas unsinnig. Wenn Sie Fragen über den kürzesten Abstand zwischen zwei (lat, lon) Punkte, siehe dieser Wikipedia-Artikel auf der great-circle Entfernungen.
InformationsquelleAutor der Antwort John Feminella
Gibt es viele tools, die machen das einfach. Sehen monjardin Antwort für mehr details über das, was beteiligt.
Allerdings tun dies nicht unbedingt schwer. Es klingt wie Sie Java verwenden, so würde ich empfehlen, sich in so etwas wie GDAL. Es bietet java-wrappers für Ihre Routinen, und Sie haben alle die erforderlichen tools zum konvertieren von Lat/Lon (geographische Koordinaten) in UTM-Projektion-Koordinatensystem) oder einen anderen vernünftigen Kartenprojektion.
UTM ist nett, denn es ist Meter, also einfach, mit zu arbeiten. Allerdings werden Sie brauchen, um das entsprechende UTM-zone für Sie zu tun, einen guten job. Es gibt einige einfache codes zur Verfügung, die über googeln zu finden, eine geeignete zone für einen lat/long-pair-Mädchen.
InformationsquelleAutor der Antwort Reed Copsey
Die Erde ist eine ärgerliche unregelmäßige Oberfläche, es gibt also keine einfache Formel, um dies zu tun, genau. Sie haben zu Leben, mit einer ungefähren Modell der Erde, und projizieren Sie Ihre Koordinaten auf. Das Modell, das ich in der Regel sehen, dafür verwendet wird, ist WGS 84. Dies ist, was GPS-Geräte in der Regel verwenden, um zu lösen die genau das gleiche problem.
NOAA hat einige software, die Sie herunterladen können, um mit diesem auf Ihrer website.
InformationsquelleAutor der Antwort T.E.D.
Einer seemeile (1852 Meter) ist definiert als eine arcminute des Längengrades am äquator. Jedoch, Sie müssen definieren, eine Kartenprojektion (siehe auch UTM), in dem Sie arbeiten, damit die Konvertierung wirklich Sinn machen.
InformationsquelleAutor der Antwort Judge Maygarden
Basierend auf der durchschnittlichen Entfernung für Abschlüsse in der Erde.
1° = 111km;
Konvertieren diese für das Bogenmaß und die Aufteilung für m ist eine Magische Nummer für das RAD, in Meter: 0.000008998719243599958;
dann:
InformationsquelleAutor der Antwort Jaykon
Gibt es durchaus ein paar Möglichkeiten, um diese zu berechnen. Sie alle nutzen die aproximations der sphärischen Trigonometrie, wo der radius ist das one von der Erde.
versuchen http://www.movable-type.co.uk/scripts/latlong.html für ein bisschen von Methoden und code in verschiedenen Sprachen.
InformationsquelleAutor der Antwort rcaval
Hier ist die R-version des b-h-'s-Funktionnur für den Fall:
InformationsquelleAutor der Antwort Rodrigo
InformationsquelleAutor der Antwort dbasnett
Umwandeln von Längen-und Breitengrad in x-und y-Darstellung, die Sie brauchen, um zu entscheiden, welche Art der Kartenprojektion zu verwenden. Wie für mich, Elliptical Mercator scheint sehr gut. Hier finden Sie eine Implementierung (in Java auch).
InformationsquelleAutor der Antwort Megamozg
Wenn Ihr nahe genug sind, können Sie sich mit der Behandlung von Ihnen, wie die Koordinaten auf einer flachen Ebene. Dies funktioniert auf sagen, die Straße oder die Stadt-Ebene, wenn perfekte Genauigkeit ist nicht erforderlich und alles, was Sie brauchen, ist eine grobe Schätzung auf die Entfernung zu vergleichen mit einer willkürlichen Grenze.
InformationsquelleAutor der Antwort
Wenn Sie möchten, eine einfache Lösung, dann verwenden Sie die Haversine Formelwie von den anderen Kommentaren. Wenn Sie haben eine Genauigkeit sensible Anwendung beachten Sie die Haversine-Formel ist keine Garantie für eine Genauigkeit besser als 0,5% ist, wie es ist annehmen, dass die Erde ein Kreis ist. Zu berücksichtigen, dass die Erde eine oblate Sphäroid erwägen Sie die Verwendung Vincenty die Formeln.
Außerdem, ich bin mir nicht sicher, welchen radius sollten wir nutzen, mit der Haversine-Formel: {Äquator: 6,378.137 km, Polar: 6,356.752 km, Volumenstrom: 6,371.0088 km}.
InformationsquelleAutor der Antwort Samuel Crawford Loveys
Müssen Sie zum konvertieren von Koordinaten in Bogenmaß zu tun, die sphärische geometrie. Einmal konvertiert, dann kann man berechnen einer Entfernung zwischen den beiden Punkten. Der Abstand kann dann umgewandelt werden, um jede Maßnahme, die Sie wollen.
InformationsquelleAutor der Antwort Arlie Winters