Come posso convertire le coordinate del piano di stato in latitudine-longitudine?


Risposte:


19

Dovrai riproiettarli per gestire questa conversione.

Proj.4 è una libreria molto standard, utilizzata da molti software per riproiezioni.

Un mezzo per usarlo sarebbe usare un'utilità come gdaltransform per fare la trasformazione per te.


9

Se conosci i codici EPSG o i parametri proj.4 pertinenti, sia gdaltransformProj.4 che la cs2cs( pagina man ) sono una buona strada, come menzionato da Reed.

Tuttavia, se ti trovi senza queste informazioni, prova spatialreference.org : fornisce i parametri e una mappa web per fare un lat / long per coordinare la trasformazione del sistema ( esempio con piano di stato IL ). Poiché molte delle proiezioni sul piano statale mancano di un codice EPSG, utilizzare sr.org per trovare la stringa proj.4, che gdaltransformcomprende. Ecco un esempio di conversione da California State Plane Zone V a lat / long WGS84:

gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 \ 
+lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 \ 
+ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326

Dopodiché, la digitazione 1815241.25377291 557301.336190851dovrebbe tornare -120 33.9999999999996.


Questo è giusto, ma c'è un refuso, l'argomento -s_srs viene dato due volte. Il comando dovrebbe terminare tra -t_srs:gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326
alvin

@alvin, ho corretto l'errore di battitura, grazie per l'heads-up!
scw

8

Client o server? Lingua specifica? Una tantum o alla rinfusa?

Ad esempio, per lato client, con JavaScript, utilizzare OpenLayers + Proj4js.

0) Importa tutte le librerie appropriate

1) crea il tuo punto

var lonlat = new OpenLayers.LonLat( ....)

2) convertilo

lonlat.transform( new OpenLayers.Projection("epsg:XXXX"), new OpenLayers.Projection("epsg:4326"));

ora lonlat.lon e lonlat.lat sono nei valori lon / lat di WGS84.


Funziona, ma richiede uno sviluppo personalizzato. Non sono sicuro che l'OP volesse solo uno strumento utilizzabile.
Reed Copsey,

1
Bene, stavo solo facendo un esempio: lato client, javascript, nel codice. OP non ha specificato cosa stava cercando. Anche la risposta accettata è una biblioteca. Ci sono anche molti siti Web che ti danno un semplice modulo per inserire manualmente i coords e farti trasformare.
Vadim,

6

Un programma gratuito ed estremamente semplice è CorpsCon che converte singoli punti, lotti di punti in file di testo e ha una DLL che può essere utilizzata all'interno di ambienti di programmazione come Python.

09/07/2014: il link aggiornato è http://www.agc.army.mil/Missions/Corpscon.aspx Facendo clic su "Scarica CorpsCon" si accede a una pagina che sembra un po 'strana e temporanea ma funziona.


Il link non è attivo. Ti piace un altro?
Scott_B,

Sono interessato all'utilizzo di Corpscon DLL in Python c'è documentazione per questo non ho visto nessuno sul sito Corpscon.
Gary Lester,


Qualche tempo fa ho iniziato a usare pyproj per tutte le trasformazioni all'interno di Python alla fine del post elencato di seguito puoi vedere come si può fare molto facilmente in solo un paio di righe. dshimer.blogspot.com/2012/11/…
Dennis


2

Un'altra opzione (ma solo per NAD83) è SPCS83 all'indirizzo http://www.ngs.noaa.gov/PC_PROD/SPCS83 . Funziona in una finestra della riga di comando su un PC e si converte in modo interattivo o da un input di file di testo. Include il codice sorgente se si desidera davvero solo l'algoritmo. La fonte è Fortran, che può essere una seccatura da usare ma è abbastanza facile da decifrare per far uscire gli algoritmi. Vedi anche www.metzgerwillard.us/spcge/spcge.html che è un front-end per SPCS83 in Google Earth.


2

Dai un'occhiata al servizio di traduzione gratuito. Carica i tuoi dati e quindi specifica il sistema di coordinate di output desiderato. Selezionando lo stesso formato per l'output dell'input, si esegue effettivamente una riproiezione.

Il servizio è disponibile all'indirizzo http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html

e si basa sul prodotto FME. C'è anche una prova gratuita di 14 giorni. www.safe.com



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.