So konvertieren Sie 6- und 7-stellige Koordinaten in Längen- und Breitengrade

8

Ich bin ein bisschen neu in der gesamten GIS-Welt, und obwohl ich große Fortschritte beim Zeichnen von Polygonen und Ähnlichem in Bing Maps mache, stecke ich derzeit fest. In unseren SQL-Geodaten bin ich auf MULTIPOLYGON-Daten gestoßen, bei denen alle Koordinatenwerte sehr große Zahlen sind (6 Stellen und 7 Stellen für Längen- und Breitengrade vor der Dezimalstelle). Ich habe eine SQL-Methode gefunden, um das Multi-Polygon in mehrere Polygone zu zerlegen, aber diese großen Werte funktionieren weder in Bing Maps noch in Google Maps. Daher habe ich nach einem Algorithmus gesucht, mit dem diese großen Zahlen in reguläre Breiten- / Längengrade umgewandelt werden können, z. B. 45.19167 -93.58328 (der auf Online-Karten funktioniert).

Könnte mir bitte jemand zeigen oder mich in eine gute Richtung weisen, um zu lernen, wie man 631456.83, 3816200.79 in etwas konvertiert, das ich online verwenden kann. Ich weiß, dass die Koordinaten irgendwo in Arizona liegen.

Jonathan Hansen
quelle
1
Sie müssen diese Daten von einem Koordinatensystem in ein anderes konvertieren. Verwenden Sie keinen Algorithmus, sondern eine Bibliothek. Oder eine GIS-Desktopanwendung. Oder OGR. alastaira.wordpress.com/ogr2ogr-patterns-for-sql-server
Alex Leith
3
Bitte aktualisieren Sie die Frage mit dem Standort Ihrer Daten / Ihres Stichprobenpunkts (Stadt, Landkreis usw.). Wie @radar impliziert, befinden sich Ihre Daten in einem projizierten und nicht in einem geografischen Koordinatenreferenzsystem. Es kann UTM sein, könnte aber etwas anderes sein. Wenn Sie wissen, wo sich die Daten befinden, kann jemand herausfinden, welche UTM-Zone oder ob es ein anderes mögliches ProjCRS gibt.
Mkennedy
1
Doppelte Frage zu SO (mit einem Beispielpolygon): stackoverflow.com/q/20552567
Antonio Falciano
Ich habe nicht bemerkt, dass diese Seite existiert, bis ich auf StackOverflow gepostet habe und alle möglichen Antworten von Leuten erhalten habe, die scheinbar genauso verwirrt waren wie ich. :-)
Jonathan Hansen
Hier gibt es einige Verwirrung, weil Sie anscheinend die Bedeutungen von Längen- und Breitengrad verwechselt haben.
whuber

Antworten:

9

Ihre Koordinaten sind wahrscheinlich in UTM (Universal Transverse Mercator) Eastings und Northings.

Sie können UTM-Koordinaten über viele verschiedene Sites online in lat / long konvertieren. Hier in einem . Sie können diese Berechnung auch in Excel oder innerhalb einer Datenbank durchführen, wenn Sie die Formel ausarbeiten können. Alternativ können Sie die Konvertierung in einem GIS wie QGIS oder ArcGIS durchführen.

Bevor Sie Koordinaten in Lat / Long konvertieren können, müssen Sie wissen, in welche UTM-Zone Ihre Koordinaten fallen.

Hier ist ein Beispiel für Nordamerika:

Geben Sie hier die Bildbeschreibung ein

In diesem Beispiel fällt der größte Teil von Florida in die UTM-Zone 17N.

Ich bin auf diese Seite gestoßen, indem ich nach 'Batch-Konvertierung von UTM in lat / long' gesucht habe.

Radar
quelle
3
Wenn der Breitengrad sechs Stellen und der Längengrad sieben hat, ist dies mit ziemlicher Sicherheit keine UTM-Koordinate.
whuber
1
UTM-Zonen sind nur einige von vielen projizierten Koordinatensystemen, daher muss der Fragesteller möglicherweise untersuchen, welches verwendet wurde, wenn eine einfache Inversion seines X und Y UTM nicht sinnvoll macht.
PolyGeo
Das Unternehmen, für das ich arbeite, hat eine Drittanbieteranwendung verwendet, um die Anzeige des GIS zu verarbeiten. Die Anwendung ist jedoch sehr langsam und veraltet. Ich muss prüfen, ob eine benutzerdefinierte Lösung für die Anzeige dieser GIS-Karten auf Bing Maps entwickelt werden kann Teil unseres Online-Service. Ich weiß, dass alle Koordinaten innerhalb der Grenzen der USA liegen.
Jonathan Hansen
Ich weiß, in welchen Bundesstaat und in welchen Landkreis die Koordinaten fallen, wie viele Hektar insgesamt und welche Felder ich als FarmNumber und TractNumber betrachte. Hoffentlich kann ich mit diesen Daten die Zone bestimmen.
Jonathan Hansen
Radar, das hat mich in den richtigen Zustand gebracht. Vielen Dank, dass Sie mir das erklärt haben. Jetzt muss ich einen Weg finden, um Zonen dynamisch zu bestimmen, basierend auf State / County-Paaren ... aber das klingt nach Spaß.
Jonathan Hansen
7

Probier diese:

http://cs2cs.mygeodata.eu/

oder verwenden Sie "proj" (Befehlszeile unten unter der Annahme der UTM-Zone 17 Süd und wgs84):

# geographical coordinates (ie. longitude,latitude) to utm
proj -f "%.4f" +proj=utm +zone=17 +south +ellps=WGS84 < myfile

# utm to geographical coordinates (ie. longitude,latitude)
proj -f "%.4f" +proj=utm +zone=17 +south +ellps=WGS84 -I < my file

In Ihrem Fall (dh 631456.83356859628, 3816200.7961099017; dies sind Ost- und Nord-UTM-Koordinaten als METER) müssen Sie die utm ZONE und HEMISPHERE kennen (so etwas wie ZONE 17 SOUTH oben). Ihre Daten sollten sich wahrscheinlich in WGS84 befinden.

Wenn Sie die UTM-Zone, die Sie sind, nicht kennen, würde ich am Ende einfach die UTM-Zonen der USA (dh 10-19) durchlaufen, um die geografischen Koordinaten zu erhalten, und dann die resultierenden Koordinaten zeichnen, um zu sehen, welche die richtigen sind ::

for ((utmZone=10;utmZone<20;utmZone++))
do
  echo 631456.83356859628 3816200.7961099017 | proj -f "%.4f" +proj=utm +zone=$utmZone +north +ellps=WGS84 -I
done

bekommen:

-121.5685       34.4790
-115.5685       34.4790
-109.5685       34.4790
-103.5685       34.4790
-97.5685        34.4790
-91.5685        34.4790
-85.5685        34.4790
-79.5685        34.4790
-73.5685        34.4790
-67.5685        34.4790

Dabei steuert "% .4f" die Anzahl der Dezimalstellen.

Hoffe das hilft,

Gery
quelle