Antworten:
Am einfachsten ist es vielleicht, QGIS und sein Plugin für abgegrenzte Texte zu verwenden, um die Daten zu importieren und dann zu exportieren. Wenn Sie nach einer Befehlszeile und Skalierbarkeit suchen, ist der von Sasa erwähnte VRT-Ansatz gut.
Sie können dies auch mit Dateieingaben und -ausgaben tun, indem Sie gdaltransform
:
gdaltransform -s_srs epsg:4326 -t_srs epsg:25832 < space-delimited-coordinates.txt
Wenn Sie mehr programmgesteuerten Zugriff auf die Ergebnisse benötigen , lesen Sie die Antwort von geographika mit pyroj für eine verwandte Frage.
Fügen Sie mit arcmap
die CSV hinzu und erstellen Sie mit den Lat Longs eine Ereignistabelle. (Rechtsklick auf Ebene> "XY-Daten anzeigen")
Dadurch wird eine Ereignisebene mit der Tabelle und einer Punktebene erstellt (keine echte Punktebene, sie muss später exportiert werden).
Stellen Sie die Dokumentprojektion (Datenrahmeneigenschaften) auf die gewünschte Ausgabe der Datei ein. (Klicken Sie mit der rechten Maustaste auf Ebenen "im Inhaltsverzeichnis"> Eigenschaften> Registerkarte Koordinatensystem).
Klicken Sie mit der rechten Maustaste auf die Ebene unter Inhaltsverzeichnis> Daten exportieren
Verwenden Sie die Option "Verwenden Sie dasselbe Koordinatensystem wie: den Datenrahmen".
ogr2ogr sollte in der Lage sein, damit umzugehen (Sie können FWTools für eine schnelle Installation herunterladen ).
Dieser Thread zeigt, wie CSV-Daten neu projiziert werden. Zusammenfassend müssen Sie eine VRT-Datei erstellen, die Verweise auf die CSV-Spalten enthält:
<OGRVRTDataSource>
<OGRVRTLayer name="test">
<SrcDataSource>test.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<GeometryField encoding="PointFromColumns" x="RW" y="HW"/>
</OGRVRTLayer>
</OGRVRTDataSource>
Führen Sie dann ogr2ogr zur Neuprojektion aus:
ogr2ogr -s_srs "epsg:31466" -t_srs "epsg:25832" -f "CSV" -lco GEOMETRY=AS_XY -sql "SELECT PNR FROM test" temp_dir test.vrt
Sie müssen epsg: 31466 durch den entsprechenden EPSG-Code für Ihr UTM-Koordinatensystem ersetzen.
Mit Corpscon , einem kostenlosen Tool des US Army Corps of Engineers, können Sie Lat / Long in / von UTM stapelweise konvertieren. Beachten Sie, dass es auf die USA beschränkt ist und möglicherweise in Kanada funktioniert .
Unter http://www.gpsy.com/gpsinfo/geotoutm/ gibt es funktionierende Tabellenkalkulationen und anderen Quellcode (Fortran, C ++ usw.). Großartige Ressource für 1996 (und funktioniert immer noch)!
Wir haben eine kommerzielle (aber erschwingliche) eigenständige Desktop-Anwendung, mit der Sie Ihre Koordinaten stapelweise konvertieren können. Weitere Informationen finden Sie unter: http://geomaticsolutions.com/products/geo-suite/geo-calc
Sie können auch unseren kostenlosen Onlinedienst nutzen, um Einzelpunkttransformationen durchzuführen. http://georepository.com/home.html
So wie ich es verstehe, möchten Sie eine Datei nicht einfach neu projizieren, sondern die Koordinaten selbst konvertieren und eine neue Datei mit den neuen Koordinaten erstellen. Wenn Sie Google "lat / lon in utm konvertieren", sollten Sie Excel-Tabellen finden, die diese Konvertierung durchführen (z. B. an der University of Wisconsin Green Bay oder in der obigen Antwort von whuber ). Sie können auch Software wie AllTrans oder Franson Coordtrans erwerben, die stapelweise in und aus vielen verschiedenen Koordinatensystemen konvertiert werden.
Weniger einfach, aber lehrreicher ist es, die Syntax für gdal oder FWTools zu lernen.
Für eine Skriptlösung können Sie pyproj verwenden :
import sys
import csv
import pyproj
# example invocation
# ./reproj.py ./file.csv 32619 4326
if (len(sys.argv) != 4):
print '%s <csvfile> <epsg_code_in> <epsg_code_out>' % sys.argv[0]
sys.exit(1)
else:
p1 = pyproj.Proj(init='epsg:%s' % sys.argv[2])
p2 = pyproj.Proj(init='epsg:%s' % sys.argv[3])
f = open(sys.argv[1], 'r')
table = csv.reader(f)
for row in table:
print '%s %s' % (row[1], row[2])
newxy = pyproj.transform(p1, p2, row[1], row[2])
print '%s %s' % (row[0], newxy[0], newxy[1])
f.close()
Die folgende neue Site konvertiert Dateien online. (Es verwendet pyproj)
Außerdem wird KML generiert, und die Eingabedatei kann häufig unverändert gelassen und nicht neu formatiert werden, um dem Konvertierungsprogramm zu entsprechen.
Sorry i cant post a numeric domain so have to wrap it in a code block!
http://54.251.49.75/XYZ_tools
Bitte schneiden Sie den Link aus und fügen Sie ihn ein, um ihm zu folgen.
Ich würde mich nicht für eine ARC-Lösung entscheiden. Für diese gängigen Konvertierungen gibt es viele Online-Tools wie http://www.hamstermap.com. Kopieren Sie einfach eine Liste mit Koordinaten und fügen Sie sie ein. Sie erhalten sie sofort konvertiert.