Bevorzugte Reihenfolge beim Schreiben von Breiten- und Längengrad-Tupeln in GIS-Diensten


144

Wenn Sie mit GIS-Quellcode arbeiten, müssen Sie häufig Breiten- und Längenkoordinatentupel schreiben.

ZB in Google Maps-Links (123, 456):

http://maps.google.com/maps/ms?msid=214518704716144912556.00046d7689a99e95b721c&msa=0&ll=123,456&spn=0.007996,0.026865

Welches ist die bevorzugte Reihenfolge (und warum?)

  • Breite, Länge

  • Längengrad Breitengrad

Ich habe gesehen, dass beide in verschiedenen Systemen verwendet werden, und ich hoffe, einige Beweise zu finden, um bei anderen zu bleiben.

Gibt es eine Standardpraxis und wenn ja, was ist das / was sind sie?


2
Anstelle der bevorzugten Reihenfolge können Sie eine Zusammenstellung von Fällen überprüfen: macwright.org/lonlat
golimar

3
Es ist latitude, longitudeBestellung
onmyway133

1
Ich stimme dafür, diese Frage zu schließen, weil es nicht um Programmierung geht, sondern um Geographie. Es ist auch eine meinungsbasierte Frage.
TylerH

1
@MikkoOhtamaa Der Unterschied besteht darin, dass Ihre Frage nicht nach der erforderlichen Reihenfolge für eine bestimmte technische Spezifikation fragt (die wahrscheinlich genauso vom Thema abweicht wie eine Anfrage nach Informationen zur Dokumentation außerhalb des Standorts), sondern nach der bevorzugten Methode ist [ im Allgemeinen ]. Was sind bevorzugte Änderungen basierend auf der Person, die Sie fragen, und dem Zweck / Kontext der Verwendung. Wie die Antworten hier gezeigt haben, haben beide Ordnungen eine wesentliche Anhängerschaft. In der Folge ist das Problem der Programmierbeziehung noch völlig ungeklärt.
TylerH

1
@MikkoOhtamaa Ich habe kein Problem mit GIS-Fragen zum Stapelüberlauf. Dies ist keine GIS-Frage. Es ist eine Frage "Wie soll ich Breiten- / Längengrade bestellen?". Es gibt nicht einmal eine bestimmte GIS-Anwendung, nach der Sie fragen. Diese Frage ist immer noch meinungsbasiert (jede Frage nach "bevorzugten Methoden" ist meinungsbasiert), zu weit gefasst (nach welchem ​​Kontext, Szenario oder welcher Anwendung fragen Sie? Wie die Antworten zeigen, unterscheidet sie sich aufgrund dieser Kriterien). und nicht über Programmierung (Breite und Länge sind keine Programmierbegriffe, sondern geografische Begriffe).
TylerH

Antworten:


210

EPSG: 4326 gibt ausdrücklich an, dass die Koordinatenreihenfolge Breite und Länge sein sollte. Viele Softwarepakete verwenden immer noch Längen- und Breitengrade. Diese Situation hat unvorstellbare Schäden an den Projektfristen und der Vernunft der Programmierer verursacht.

Die beste Anleitung, die Sie anbieten können, besteht darin, die erwartete Achsenreihenfolge jeder Komponente in Ihrem Software-Stack vollständig zu kennen. PostGIS erwartet lng / lat. WFS 1.0 verwendet lng / lat, aber WFS 1.3.0 weicht vom Standard ab und verwendet lat / lng. GeoTools ist standardmäßig lat / lng, kann jedoch mit einer Systemeigenschaft überschrieben werden.

Die GeoTools-Dokumente zum Verlauf und zur Erläuterung des Problems sind lesenswert: http://docs.geotools.org/latest/userguide/library/referencing/order.html


6
Ich sehe selten eine Antwort auf SO.com, die angibt, warum dies so gut ist. Beats Mist aus diesen "weil MongoDB es benutzt" Antworten.
Mikko Ohtamaa

1
Ihr Link stimmt nicht mit Ihnen überein. In der EPSG-Datenbank werden 4326 einem geografischen CRS mit einer Achsenreihenfolge (Breite, Länge) zugeordnet. Die meisten Softwareprodukte auf diesem Gebiet verstehen EPSG: 4326 jedoch als geografisches CRS mit (Längen-, Breiten-) Achsenreihenfolge, da ältere OGC-Spezifikationen auf diese Weise entworfen wurden.
Aaron McIver

7
Die ersten beiden Sätze aus meiner Antwort: EPSG: 4326 besagen ausdrücklich, dass die Koordinatenreihenfolge Breite und Länge sein sollte. Viele Softwarepakete verwenden immer noch Längen- und Breitengrade. Ist das nicht genau das gleiche?
Shane

5
Wenn jemand andere Probleme mit Google Maps hat und eine KML-Datei bereitstellt, lautet die Reihenfolge Longitude / Latitude !! Keine Dokumentation für die KML-Datei sagt dies !!
Turnerj

2
"Keine Dokumentation für die KML-Datei sagt dies" ist falsch. developer.google.com/kml/documentation/kmlreference#point "Ein einzelnes Tupel, das aus Gleitkommawerten für Längen-, Breiten- und Höhenwerte (in dieser Reihenfolge) besteht."
tmcw

28

Die bevorzugte Bestellung erfolgt gemäß Konvention latitude, longitude. Dies wurde vermutlich von der International Maritime Organization standardisiert, wie hier berichtet . Google verwendet diese Reihenfolge auch in seinen Karten und auf der Erde . Ich erinnere mich an diese Reihenfolge, indem ich an die alphabetische Reihenfolge von dachte latitude, longitude.


12
Außer in KML-Dateien. Dort werden die Koordinaten als lng, lat, alt gespeichert; wahrscheinlich, weil das in x, y, z übersetzt werden kann
Wouter van Nifterick

23

Die richtige Reihenfolge ist Längen- und Breitengrad in praktisch allen professionellen GIS-Anwendungen, wie es in der konventionellen Mathematik (dh f(x ,y, z)) der Fall ist . Der GeoJSON-Standard ist ziemlich typisch und prägnant:

The order of elements must follow x, y, z order
(easting, northing, altitude for coordinates in a 
projected coordinate reference system, or longitude,
latitude, altitude for coordinates in a geographic
coordinate reference system).

Gleiches gilt für die primären Open Geospatial Consortium-Standards (WKT und WKB sowie Erweiterungen wie EWKB). Ebenso kann Google die Reihenfolge in Lat / Lon ausgeben, um sie Nutzern, die mit dieser Gewohnheit aufgewachsen sind, vertrauter zu machen (dh aus Navigationsstandards wie IMO und nicht aus rechnerischen). Der KML-Standard selbst ist jedoch wie praktisch alle anderen GIS-Systeme:

The KML encoding of every kml:Location and coordinate
tuple uses geodetic longitude, geodetic latitude, and
altitude (in that order).

Gute Faustregel: Wenn Sie wissen, was ein Tupel ist und programmieren, sollten Sie verwenden lon, lat. Ich würde sogar sagen, dass dies zutrifft, wenn Ihr Endbenutzer (z. B. ein Pilot oder ein Schiffskapitän) es vorziehen wird, die Ausgabe in lat, lon. Sie können die Reihenfolge in Ihrer Benutzeroberfläche bei Bedarf ändern, aber die überwiegende Mehrheit Ihrer Daten (Shapefiles, Geojson usw.) befindet sich in der normalen kartesischen Reihenfolge.


4
Ich sehe hier einige Meinungsverschiedenheiten: Ich habe zwei Möglichkeiten zur Auswahl - zu viele!
Mikko Ohtamaa

6
Leser sollten beachten, dass ISO 6709 ausdrücklich festlegt, dass Sie in jeder Benutzeroberfläche immer das Format [lat, lon] verwenden sollten, und dass dies nicht - wie vermutet werden kann - nur eine Frage der persönlichen Präferenz ist.
Iain Collins

9

Gemäß der Konvention im "realen Leben" wird bei der Angabe einer Position der Breitengrad (dh Nord / Süd) immer als 1. angegeben, z. B. 20 ° N 56 ° W (obwohl dies nicht der normalen Konvention folgt, wenn an einen Standard-Kartesier gedacht wird Gitter); In ähnlicher Weise folgen alle Koordinaten auf Wikipedia dieser Konvention (siehe z. B. Standort für Southampton: http://en.wikipedia.org/wiki/Southampton ). Um Verwirrung zu vermeiden, insbesondere wenn keine Einheiten enthalten sind, würde ich immer empfehlen, dass der Breitengrad in einem Tupel an erster Stelle steht.


9

Persönlich habe ich nie etwas anderes als Breitengrad gefolgt von Längengrad gesehen.

Und wenn + und - anstelle von N und S verwendet werden, war es immer + ist N und - ist S.

Ich habe Abweichungen bei der Verwendung von + und - für E und W beobachtet. Im Allgemeinen war + E und - war W. Bei älteren Anwendungen, bei denen sie sich überwiegend mit W-Längen befassten, habe ich gesehen, dass + W und - E sind .

Hoffentlich müssen Sie sich nicht mit so alten Anwendungen befassen.


Es ist leicht zu beobachten, wenn Sie mit weltweiten Anwendungen arbeiten.
Daniel Antunes Pinto

Geben Sie einfach ein beliebiges Paar von Längen- und Breitengradkoordinaten in Google Maps ein und Sie werden sehen, dass es als (lang, lat) interpretiert wird und nicht umgekehrt. Das ist ein Beispiel für ein sehr weit verbreitetes System.
Cazort

2
@cazort Aus irgendeinem Grund passiert das hier nicht. Zum Beispiel liegt meine Heimatstadt Eugene, Oregon, bei ungefähr N 44,1, W 123,1. Wenn ich in maps.google.com 44.1 -123.1 eingebe, geht es an Eugene. Wenn ich -123.1 44 eingebe, wird mir mitgeteilt, dass es nicht gefunden werden kann. Interessanterweise, wenn ich 123,1 W 44 N eingebe, wird es herausgefunden und geht zu Eugene, so dass es eine gewisse Flexibilität gibt. Auch reference.com/technology/… scheint anzuzeigen, dass lat / long die bevorzugte Reihenfolge ist. Für das, was es wert ist, verwendet Google Earth Lat / Long.
Terry

5

Abgesehen von der GeoJSON-Spezifikation, die andere bereits erwähnt haben, gibt es andere praktische Fälle, in denen Längen- und Breitengradreihenfolge empfohlen wird, sogar obligatorisch - z. B. geografische Indizierung in MongoDB . Wenn Sie dort die Reihenfolge falsch eingeben, geben Ihre Abfragen falsche Ergebnisse zurück, als würden Sie erneut einen transponierten Datensatz ausführen.


5

Die bevorzugte Reihenfolge hängt also von Ihren persönlichen Vorlieben ab!

Latitude stand an erster Stelle; Die Tagundnachtgleiche ist seit Jahrtausenden bekannt, als die "Sonne den Äquator überquert". im März Kreuzung von S nach N und September von N nach S. Die einzige Frage könnte gewesen sein, ob der Äquator 0 oder 90 Grad hätte sein sollen. Mit 0 Grad ist der Winkel zwischen vertikalem und mittagsem Sonnenzenit auf dem Äquinoktium der Breitengrad eines Ortes überall auf dem Planeten. Der primäre Breitengrad oder die primäre Parallele definierte sich effektiv.

Längengrad konnte nur nach Vereinbarung sein. Großbritannien hat einen Longitude-Preis vergeben. Großbritannien brauchte seine Schiffe, um zu wissen, wo sie waren, und brauchte bessere Karten. Harrison ( http://www.youtube.com/watch?v=T-g27KS0yiY ) stellte einen genauen Marine-Chronometer her; Sie schickten Kartenreisen, z. B. James Cook aus den 1770er Jahren. Großbritannien beanspruchte daher den Nullmeridian, indem es Greenwich als 000 Grad für seine Karten verwendete. Nach 100 Jahren wurde der Nullmeridian 1884 international akzeptiert.

In der Zeit von Christoph Kolumbus war Latitude die einzige Nummer, die sie hatten. Die Strategie bestand darin, eine Parallele zu durchqueren, bevor Sie zum Ziel nach links oder rechts abbiegen. auf Wolken oder Vögel achten. Das stündliche Messen der Geschwindigkeit in Knoten war üblich, berücksichtigte jedoch keine Ströme. Der vielleicht größte Erfolg von Columbus war die viermalige Rückkehr aus Westindien. Ohne das könnte Land, das er entdeckt hat, nicht zu den Karten hinzugefügt werden.

Lesen Sie "Longitude" von Dava Sobel (ISBN: 9780007214228)


1
Ich denke, er meint programmatisch und mit einer technischen Referenz (aber ich könnte mich irren). Die Geschichtsstunde war jedoch interessant.
JWW

1
Dies hat nichts mit der Frage zu tun, ist aber definitiv interessant. Danke :)
Mikko Ohtamaa

Es ist jedoch sinnvoll, denn wenn nur Kartenkoordinaten verwendet würden, wäre die Reihenfolge ohne Frage Längen- und Breitengrad wie in X, Y; Die Verwirrung besteht nur aufgrund der jahrhundertelangen Priorität, Breitengrad und Längengrad überall zu sagen (und zu hören).
Antti Haapala

5

ISO 6709 standardisiert die Auflistung der Reihenfolge aus Breiten- und Längengraden aus Sicherheitsgründen. Grahams obige Erklärung klingt auch für mich richtig. Jemand schlug vor, dass diese Antwort nicht mit der Frage zusammenhängt - es ist absolut so und erklärt, warum die Reihenfolge oft als Längen- und Breitengrad angegeben wird.

So wurde es aufgelistet, obwohl Navigatoren das System schon lange verwenden. Dies jetzt zu ändern wäre verwirrend und, wie ISO vorschlägt, potenziell gefährlich. GIS-Software wie ArcMap listet sie umgekehrt auf, da dies die typische Konvention für x- und y-Koordinatenpaare ist. Breite ist y, Länge ist x, so listet Arc sie auf.


1

Längengrad dann Breitengrad (lon, lat).

Bei der Projektion auf Mercator definiert der Längengrad die x-Richtung und der Breitengrad die y-Richtung. Die meisten Geometriebibliotheken verwenden ausschließlich dieses Format von (lon, lat), da es die intuitivste Art ist, sich geografische Koordinaten in einer 2D-Ebene vorzustellen.


3
Wenn dies die intuitivste Denkweise ist, warum heißt das Google Earth-Blog Lat-Long-Blog, während es in KML Lon-Lat verwendet?
Theta

1
Grundsätzlich verwenden Navigatoren traditionell die Lat-Lon-Reihenfolge. Wenn Sie also mit dieser Reihenfolge herumspielen, können Sie Ihre Navigation vermasseln. Google verwendet also die traditionelle Reihenfolge für ein Blog und die Reihenfolge der 2D-Ebene für ihre Datenstruktur. @mkennedy beantwortet dies am besten in ihrer Antwort auf die gleiche Frage: gis.stackexchange.com/questions/6037/…
David
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.