Risposte:
Forse il modo più semplice è usare qualcosa come QGIS e il suo plugin di testo delimitato per importare e quindi esportare i dati. Se stai cercando qualcosa da linea di comando e scalabile, l'approccio VRT menzionato da Sasa è buono.
Puoi anche farlo con input e output di file usando gdaltransform
:
gdaltransform -s_srs epsg:4326 -t_srs epsg:25832 < space-delimited-coordinates.txt
E se hai bisogno di un accesso più programmatico ai risultati, controlla la risposta di geographika usando pyroj per una domanda correlata.
Con arcmap,
aggiungi il CSV e usa i long long per creare una tabella degli eventi. (livello clic destro> "Visualizza dati XY")
Questo crea un livello evento con la tabella e un livello punto (non un livello punto reale, deve essere esportato in seguito)
imposta la proiezione del documento (proprietà del frame di dati) sull'output desiderato del file. (fare clic con il tasto destro del mouse sui livelli "nel sommario"> proprietà> scheda sistema di coordinate).
fare clic con il tasto destro del mouse sul livello in TOC> Esporta dati
Utilizzare l'opzione per "utilizzare lo stesso sistema di coordinate di: il frame di dati"
ogr2ogr dovrebbe essere in grado di gestirlo (puoi scaricare FWTools per una rapida installazione).
Questo thread illustra come riproiettare i dati CSV. Per riassumere, dovrai creare un file VRT che contenga riferimenti alle colonne CSV:
<OGRVRTDataSource>
<OGRVRTLayer name="test">
<SrcDataSource>test.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<GeometryField encoding="PointFromColumns" x="RW" y="HW"/>
</OGRVRTLayer>
</OGRVRTDataSource>
E quindi esegui ogr2ogr per la riproiezione:
ogr2ogr -s_srs "epsg:31466" -t_srs "epsg:25832" -f "CSV" -lco GEOMETRY=AS_XY -sql "SELECT PNR FROM test" temp_dir test.vrt
Dovrai sostituire epsg: 31466 con il codice EPSG appropriato per il tuo sistema di coordinate UTM.
Corpscon , uno strumento gratuito di US Army Corps of Engineers ti consentirà di convertire in batch lat / long in / from UTM. Si noti che è limitato agli Stati Uniti e potrebbe funzionare in Canada .
Esistono fogli di lavoro e altri codici sorgente (Fortran, C ++, ecc.) Su http://www.gpsy.com/gpsinfo/geotoutm/ Grande risorsa per il 1996 (e funziona ancora)!
Abbiamo un'applicazione desktop autonoma commerciale (ma economica) che ti permetterà di convertire in batch le tue coordinate. Ulteriori informazioni sono disponibili all'indirizzo: http://geomaticsolutions.com/products/geo-suite/geo-calc
Puoi anche utilizzare il nostro servizio online gratuito per eseguire trasformazioni a punto singolo. http://georepository.com/home.html
A quanto ho capito, non vuoi semplicemente riproiettare un file, vuoi convertire le coordinate stesse e avere un nuovo file con le nuove coordinate. Se Google "converti lat / lon in utm" dovresti trovare fogli di calcolo Excel che eseguiranno questa conversione (ad es. All'Università del Wisconsin Green Bay o nella risposta di Whuber sopra). In alternativa, puoi acquistare software come AllTrans o Franson Coordtrans, che possono essere convertiti in batch da e verso diversi sistemi di coordinate.
O, meno semplice ma più educativo, è imparare la sintassi per gdal o FWTools.
Per una soluzione di scripting, è possibile utilizzare pyproj :
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()
Il nuovo sito seguente converte i file online. (Usa pyproj)
Genera anche KML e il file di input può spesso essere lasciato "così com'è" e non riformattato per adattarsi al programma di conversione.
Sorry i cant post a numeric domain so have to wrap it in a code block!
http://54.251.49.75/XYZ_tools
Taglia e incolla il link per seguirlo.
Non sceglierei la soluzione ARC; per queste conversioni comuni ci sono molti strumenti online come http : //www.hamsterttp : basta copiare e incollare un elenco di coordinate e le convertirai immediatamente.