32 votos

Cálculo de la latitud y la longitud de los puntos con QGIS

Estoy tratando de averiguar cómo calcular la latitud y la longitud de los puntos utilizando la calculadora de campo de QGIS.

¿Hay alguna manera fácil de hacerlo?

He visto una pregunta anterior relacionada ( ¿Utilizando la API de QGIS y Python, para devolver la latitud y la longitud de un punto? ), pero se trata de un enfoque más avanzado.

En ArcGIS Desktop esto es similar al Calculate Geometry pero no encuentro dónde hacer esto en QGIS.

35voto

Jauder Ho Puntos 3172

Claro que sí. Primero, guarde la capa como WGS84 y vuelva a importarla. Luego, en la calculadora de campo puede utilizar $x or $ y como variable para obtener la x y la y.

x and y

NOTA: Esto se añadió en la versión 1.7.

18voto

tobes Puntos 19

Primero tiene que reproyectar la capa de puntos a EPSG:4326. Haga clic con el botón derecho del ratón sobre el nombre de la capa en la lista de capas y seleccione "Guardar como...". Allí, puede especificar que el CRS de destino sea EPSG:4326.

Cargue la nueva capa de puntos reproyectada y ejecute "Exportar/Añadir columnas de geometría".

5 votos

Tenga en cuenta que con la nueva versión de QGIS (accesible a través del instalador de OSGeo4W) ni siquiera es necesario exportar una capa a un nuevo CRS. Sólo tiene que cambiar el CRS del lienzo del mapa a lo que sea su elección para las unidades de salida y CRS y marcar "Calcular usando CRS del proyecto" al hacer "Exportar/Añadir columnas de geometría" y la salida al mismo shapefile.

2 votos

La opción "Exportar/Añadir columnas de geometría" se encuentra en menu > Vector > Geometry Tools > Export / Add Geometry Columns

17voto

matzeri Puntos 176

El expresión más sencilla hoy en día es este para x | lon si la capa no está ya en el CRS deseado:

x(transform($geometry, layer_property(@layer_name, 'crs'),'EPSG:4326'))

y

y(transform($geometry, layer_property(@layer_name, 'crs'),'EPSG:4326'))

para y | lat coordenadas. Se puede utilizar, por ejemplo, en Calculadora de campos de QGIS o en cualquier otro lugar, donde se aceptan las expresiones. Basta con sustituir EPSG:4326 por el Código EPSG del SIR en el que desea mostrar las coordenadas. _EPSG:4326 es el código para WGS 84 , por lo que devolverá latitud y longitud ._


Explicación: transform() transforma cada CRS conocido en el CRS de destino especificado (aquí EPSG:4326 WGS 84 ). También puede escribir todos los demás códigos EPSG conocidos aquí en su lugar. layer_property() detecta automáticamente las capas de origen CRS por 'crs' así como el nombre de la capa actual por @layer_name . x() y y() devuelve las coordenadas de la corriente $geometry .

Si la capa ya se encuentra en el SIR en el que desea mostrar las coordenadas, el respuesta aceptada sigue siendo la expresión más corta, al utilizar $x y $y .

11voto

NickGPS Puntos 123

En QGIS 3.8 (junio de 2019), ahora hay un algoritmo para sumar los valores X e Y. Puede reproyectar coordenadas sobre la marcha.

enter image description here

Si todavía necesita un formato de grado-minuto o grado-minuto-segundo, tiene que utilizar primero el to_dm o to_dms para añadir estos campos a la tabla de atributos.

0 votos

Lo siento, etrimaille, soy tan lerdo que no encuentro cómo encontrar esa pantalla ("Añadir campos X/Y a la capa"). ¿Puedes orientarme, por favor?

1 votos

En 3.10.3, lo encontré en Processing > Toolbox > Vector table > Add X/Y fields to layer

9voto

heidi123p Puntos 121

Una opción podría ser especificar el CRS de la capa como WGS 84 (sin proyección). Es posible que también tenga que cambiar el CRS del proyecto. Ahora utilice "Vector > Herramientas de Geometría > Exportar/Añadir Columnas de Geometría". Esto debería darle las coordenadas Lat/long.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X