Cómo calcular las coordenadas de una geometría con QGIS

Que QGIS es uno de los software GIS de mayor crecimiento en los últimos años es un hecho, convirtiéndose en el software GIS Open Source de mayor uso entre usuarios tanto noveles como profesionales en el sector.

Una herramienta vital dentro del núcleo de procesado es la calculadora de campos. Esta herramienta nos permite realizar múltiples cálculos empleando la información guardada en la tabla de atributos de un shapefile pero, también, nos permite realizar cálculos geométricos de las entidades digitalizadas en dicho archivo. Por ejemplo, podemos calcular áreas, longitudes, perímetros, etc.

logo calculadora

Si aún no conoces la calculadora de campos de QGIS, echa un vistazo a nuestro post cómo usar la calculadora de campos de QGIS.

En el presente post, vamos a mostrarte cómo realizar diferentes cálculos relacionados con las coordenadas de los vértices de diferentes tipos de geometrías con las que trabajamos en un software GIS. Es decir, calcularemos las coordenadas de una geometría con QGIS.

Extraer las coordenadas de inicio y final de una línea

Una necesidad común en los usuarios GIS es extraer las coordenadas de partida y final de un conjunto de líneas. Esto puede obtenerse de forma sencilla con la calculadora de campos de QGIS.

En primer lugar, es necesario que la capa de tipo lineal tenga en su tabla de atributos dos campos de tipo decimal para albergar los valores de coordenadas X (la de inicio y la de final), y otros dos campos para las coordenadas Y. Pueden denominarse, por ejemplo, X e Y, respectivamente.

tabla líneas

Una vez tengamos los campos necesarios creados, accedemos a la calculadora de campos y seleccionamos el campo X1 (coordenada X inicial) para actualizarlo en Actualizar campo existente.

La sentencia que debemos introducir es la siguiente, con la función start_point:

x(  start_point(  $geometry ))

Para ello, debes de ayudarte del grupo de funciones Geometría.

coordenadas de una geometría con QGIS

Por otro lado, la consulta para extraer la coordenada Y de inicio de la geometría sería muy similar:

y(  start_point(  $geometry ))

Cálcular las coordenadas de una geometría con QGIS - coordenada Y

El siguiente paso, sería calcular las coordenadas del punto final, las sentencias deben emplear la función end_point:

x(  end_point(  $geometry ))

y(  end_point(  $geometry ))

x2 y2

Con ello, ya tendríamos las coordenadas de inicio y final de una capa de líneas en su tabla de atributos.

tabla lineas inicio fin

Calcular el punto medio o centroide de una geometría

Toda geometría vectorial (punto, línea o polígono) contiene un punto central denominado centroide. Este punto medio puede calcularse de una forma sencilla a través de un cálculo geométrico con la calculadora de campos de QGIS, extrayendo su coordenada X e Y.

En este caso, debemos de saber que existen dos funciones que nos permiten calcular centroides:

  • Centroid (geometry) devuelve un punto que está aproximadamente en el centro de masa del argumento de entrada. Este sencillo cálculo es muy rápido, pero a veces no es el deseable, porque el punto devuelto no está necesariamente dentro de la entidad geométrica. Si la función de entrada tiene una convexidad (imaginemos la letra ‘C’), el centroide devuelto puede no estar en el interior de dicha entidad.

centroid

  • PointOnSurface (geometry) devuelve un punto que garantiza que esté dentro de la geometría de entrada. Computacionalmente, es sustancialmente más costoso que la operación Centroid.

point on surface

En este ejemplo, vamos a emplear una capa vectorial de tipo poligonal con una parcela. Esta capa, en su tabla de atributos, debe de contener dos campos de tipo decimal, que albergarán las coordenadas del centroide. Puedes denominarse, por ejemplo, X_cen e Y_cen, respectivamente.

parcela

Una vez tengamos los campos necesarios creados, accedemos a la calculadora de campos y seleccionamos el campo X_cen (coordenada X) para calcularlo en Actualizar campo existente.

La sentencia que debemos introducir es la siguiente, con la función centroid:

x(  centroid(  $geometry ))

Para ello, debes de ayudarte del grupo de funciones Geometría.

x_cen

Después, realizaríamos el cálculo con la misma sentencia para la coordenada Y:

y(  centroid(  $geometry ))

y_cen

Como resultado, tendremos las coordenadas del centroide de nuestra parcela en su tabla de atributos.

tabla atributos centroide

Si tuviésemos una geometría multiparte, lo correcto sería emplear la función centroid, en caso de que la geometría fuese irregular, lo correcto sería utilizar la función point_on_surface.

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

4 comentarios en “Cómo calcular las coordenadas de una geometría con QGIS”

    • Hola Mónica,

      Genera un KML a través de la capa en la que has calculado las coordenadas para subirla a Maps.

      Un saludo!

  1. Hola Abraham,

    Para calcular los valores de tres campos diferentes no puedes hacerlo a través de la calculadora de campos sino es con un script de python a través del editor de funciones.

    Un saludo!

  2. Como puedo calcular la coordenada x y z a la vez en un solo campo con una precisión de 2, es decir calcular el centroide (x y z)

    estou usando
    x( centroid( $geometry )) || x( centroid( $geometry )) || z( centroid( $geometry )) y me da fallo

Los comentarios están cerrados.