¿Cómo convierto las coordenadas del plano estatal en latitud-longitud?


Respuestas:


19

Tendrá que volver a proyectarlos para manejar esta conversión.

Proj.4 es una biblioteca muy estándar, utilizada por una gran cantidad de software para reproyecciones.

Una forma de usar esto sería usar una utilidad como gdaltransform para hacer la transformación por usted.


9

Si conoce los códigos EPSG relevantes o los parámetros de proj.4, ambos gdaltransformy proj.4 cs2cs( página de manual ) son una buena ruta, como mencionó Reed.

Sin embargo, si se encuentra sin esta información, pruebe spatialreference.org : proporciona los parámetros y un mapa web para realizar una transformación de sistema lat / long para coordinar ( ejemplo con plano de estado IL ). Como muchas de las proyecciones del plano estatal carecen de un código EPSG, use sr.org para encontrar la cadena proj.4, que gdaltransformcomprende. Aquí hay un ejemplo de conversión de la Zona V del plano estatal de California a pares 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

Después de lo cual, 1815241.25377291 557301.336190851debe volver a escribir -120 33.9999999999996.


Esto es correcto, pero hay un error tipográfico, el argumento -s_srs se da dos veces. El comando debe terminar en -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, he corregido el error tipográfico, ¡gracias por el aviso!
scw

8

Cliente o servidor? Idioma específico? ¿Único o a granel?

Por ejemplo, para el lado del cliente, con JavaScript, use OpenLayers + Proj4js.

0) Importar todas las librerías apropiadas

1) crea tu punto

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

2) convertirlo

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

ahora lonlat.lon y lonlat.lat están en valores WGS84 lon / lat.


Esto funciona, pero requiere un desarrollo personalizado. No estoy seguro si el OP solo quería una herramienta utilizable.
Reed Copsey

1
Bien, solo estaba dando un ejemplo: el lado del cliente, javascript, en el código. OP no especificó lo que estaba buscando. Incluso la respuesta aceptada es una biblioteca. También hay muchos sitios web que le brindan una forma simple de ingresar manualmente las coordenadas y le permiten transformar.
Vadim

6

Un programa gratuito y extremadamente fácil es CorpsCon, que convertirá puntos individuales, lotes de puntos en archivos de texto, y tiene una DLL que se puede usar desde entornos de programación como python.

2014-07-09: el enlace actualizado es http://www.agc.army.mil/Missions/Corpscon.aspx Al hacer clic en "Descargar CorpsCon", se accede a una página que parece un poco extraña y temporal, pero funciona.


El enlace está caído. ¿Te gusta otro?
Scott_B

Estoy interesado en usar Corpscon dll en python. ¿Hay documentación para esto? No vi ninguna en el sitio de Corpscon.
Gary Lester


Hace un tiempo comencé a usar pyproj para todas las transformaciones dentro de python al final de la publicación que se enumera a continuación, puede ver cómo se puede hacer muy fácilmente en solo un par de líneas. dshimer.blogspot.com/2012/11/…
Dennis


2

Otra opción (pero solo para NAD83) es SPCS83 en http://www.ngs.noaa.gov/PC_PROD/SPCS83 . Se ejecuta en una ventana de línea de comandos en una PC y convierte de forma interactiva o desde una entrada de archivo de texto. Incluye código fuente si realmente solo quieres el algoritmo. La fuente es Fortran, que puede ser difícil de usar pero es lo suficientemente fácil de descifrar para sacar los algoritmos. Consulte también www.metzgerwillard.us/spcge/spcge.html, que es una interfaz para SPCS83 en Google Earth.


2

Echa un vistazo al servicio de traducción gratuito. Cargue sus datos y luego especifique el sistema de coordenadas de salida deseado. Al seleccionar el mismo formato para la salida como entrada, efectivamente está haciendo una reproyección.

El servicio se encuentra en http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html

y se basa en el producto FME. También hay una prueba gratuita de 14 días de esto también. www.safe.com



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.