Cómo convertir coordenadas de 6 y 7 dígitos a grados de latitud y longitud

8

Soy un poco nuevo en todo el mundo SIG, y aunque estoy haciendo grandes avances dibujando polígonos y cosas así en Bing Maps, actualmente estoy estancado. En nuestros datos espaciales de SQL, me encontré con datos MULTIPOLYGON, donde todos los valores de coordenadas son números muy grandes (6 dígitos y 7 dígitos para lo que debería ser latitud y longitud, antes del decimal). Encontré un método SQL para desmantelar el polígono múltiple en varios polígonos, pero esos valores grandes no funcionan en Bing Maps ni en Google Maps. Así que he estado buscando un algoritmo para convertir esos números grandes a lo que he percibido como números regulares de latitud / longitud, como 45.19167 -93.58328 (que funciona en mapas en línea).

Dicho esto, ¿podría alguien mostrarme o indicarme una gran dirección para aprender cómo convertir 631456.83, 3816200.79 a algo que pueda usar en línea. Sé que las coordenadas caen en algún lugar de Arizona.

Jonathan Hansen
fuente
1
Necesita convertir esos datos de un sistema de coordenadas a otro. No use un algoritmo, use una biblioteca. O una aplicación de escritorio SIG. O OGR. alastaira.wordpress.com/ogr2ogr-patterns-for-sql-server
Alex Leith
3
Actualice la pregunta con la ubicación de sus datos / punto de muestra (ciudad, condado, etc.). Como @radar implica, sus datos se encuentran en un sistema de referencia de coordenadas proyectado, en lugar de geográfico. Puede ser UTM, pero podría ser otra cosa. Saber dónde están los datos permitirá a alguien averiguar qué zona UTM, o si hay otro posible ProjCRS.
mkennedy
1
Pregunta duplicada sobre SO (con un polígono de muestra): stackoverflow.com/q/20552567
Antonio Falciano
No me di cuenta de que este sitio existía hasta que publiqué en StackOverflow y obtuve todo tipo de respuestas de personas aparentemente tan confundidas como yo. :-)
Jonathan Hansen
Hay cierta confusión aquí porque parece haber mezclado los significados de latitud y longitud.
whuber

Respuestas:

9

Es probable que sus coordenadas estén en UTM (Universal Transverse Mercator) Eastings and Northings

Puede convertir coordenadas UTM a lat / long en línea utilizando muchos sitios diferentes. Aquí en uno . También puede realizar este cálculo en Excel o dentro de una base de datos si puede calcular la fórmula. Alternativamente, puede realizar la conversión dentro de un SIG como QGIS o ArcGIS.

Antes de que pueda convertir coordenadas a lat / long, necesitará saber en qué zona UTM se encuentran sus coordenadas.

Aquí hay un ejemplo para Norteamérica:

ingrese la descripción de la imagen aquí

En este ejemplo, la mayor parte de Florida cae dentro de la zona UTM 17N.

Encontré esta página buscando 'conversión por lotes UTM a lat / long'.

Radar
fuente
3
Si la latitud tiene seis dígitos y la longitud siete, es casi seguro que no sea una coordenada UTM.
whuber
1
Las zonas UTM son solo algunos de los muchos sistemas de coordenadas proyectadas, por lo que el autor de la pregunta puede necesitar investigar cuál se ha utilizado si una simple inversión de su X e Y no comienza a tener sentido UTM.
PolyGeo
La compañía para la que trabajo ha estado utilizando una aplicación de terceros para procesar la visualización de sus SIG, pero la aplicación es terriblemente lenta y desactualizada, y tengo la tarea de ver si se puede desarrollar una solución personalizada para mostrar estos mapas SIG en Bing Maps, como parte de nuestro servicio en línea. Sé que todas las coordenadas están dentro de los límites de los Estados Unidos.
Jonathan Hansen
Sé en qué estado y condado se encuentran las coordenadas, junto con la cantidad total de acres, junto con los campos que presumo que son FarmNumber y TractNumber. Espero que con estos datos pueda determinar la Zona.
Jonathan Hansen
Radar, eso me puso en el estado correcto. Muchas gracias por explicarme esto. Ahora necesito encontrar una manera de determinar dinámicamente las Zonas, en base a pares Estado / Condado ... pero eso suena divertido.
Jonathan Hansen
7

Prueba este:

http://cs2cs.mygeodata.eu/

o use "proj" (línea de comando a continuación suponiendo que UTM zona 17 sur y 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

En su caso (es decir, 631456.83356859628, 3816200.7961099017; que son coordenadas UTM este y norte respectivamente como METROS) necesita conocer la ZONA y el HEMISFERIO utm (algo así como ZONA 17 SUR arriba). Sus datos probablemente deberían estar en WGS84.

Al final, si no conoce la zona UTM que es, simplemente recorrería las zonas UTM de EE. UU. (Es decir, 10-19) para obtener las coordenadas geográficas, y luego trazaría las coordenadas resultantes para ver cuáles son las correctas. :

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

consiguiendo:

-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

donde "% .4f" controla el número de decimales.

Espero que esto ayude,

Gery
fuente