Calcular Azimut y Distancias en Capas Poligonales con QGIS 3 Tutorial Completo

Calcular Azimut y Distancias en Capas Poligonales con QGIS 3

En este post les comparto el procedimiento para determinar el azimut en grados, minutos y segundos con sus respectivas distancias horizontales, como se aprecia en el siguiente gráfico.


Paso 1: Convertir Polígono a Líneas.

Para poder estimar la distancia y dirección del lindero del terreno debemos convertir nuestro polígono a líneas siguiendo los pasos:

  • Ir a menú vectorial.
  • Herramientas de Geometría.
  • Polígonos a Líneas.

En la siguiente ventana elegir la capa poligonal de entrada y ejecutar para guardar el resultado como capa temporal.

El resultado será una capa de líneas con un único segmento en la tabla de atributos, si encontramos 2 filas debemos eliminar la segunda fila para evitar la duplicidad de información.
  • Activar la edición de la capa.
  • Seleccionar fila 2 dando clic en la etiqueta.
  • En las opciones elegir borrar elemento.

Paso 2: Explotar Líneas (multiples segmentos)

Ahora procedemos a convertir la capa de líneas a múltiples segmentos para el cual debemos seguir los pasos:
  • Escribir explotar en el buscador de la caja de herramientas.
  • En el grupo Geometría Vectorial ejecutar Explotar líneas.
  • En capa de entrada elegir la capa de líneas.
  • Dejar el resultado como capa temporal.
  • Ejecutar.

El resultado será una capa de línea con múltiples segmentos que contiene los atributos de la capa de la capa poligonal.

Paso 3: Crear campo Estación y Punto Observado

Abrimos la tabla de atributos y activamos la edición de la capa.
  • Creamos un nuevo campo para la estación.
  • Tipo de campo: número entero.
  • Expresión @row_number -1 con esto conseguimos que el valor iniciar sea 0.
  • Clic en aceptar.

El resultado será una columna con un numero correlativo que empieza en 0.

Repetimos el procedimiento para crear un nuevo campo con el nombre P.O. que hace referencia a Punto observado, en este caso deseamos que el valor inicial sea 1, por tanto la expresión debe ser @row_number

Paso 4: Calcular Azimut (GMS)

Ahora calculamos el azimut usando la calculadora de campos.
  • Nombre del campo: Azimut
  • Tipo de campo: Texto, tamaño 25
  • Expresión: copiar el código adjunto después de la imagen.


Código:

concat(floor(degrees(azimuth(start_point($geometry), end_point($geometry)))), '° ',

floor(degrees(azimuth(start_point($geometry), end_point($geometry)))*60 % 60), ''' ',

round(degrees(azimuth(start_point($geometry), end_point($geometry)))*3600 % 60,2),'"')

El resultado será un nuevo campo con los valores de azimut en formato GMS con 2 decimales.


Paso 5: Calcular Distancias Horizontales

Ahora calculamos las distancias horizontales haciendo uso de la calculadora de campos.
  • Nombre del campo: DH 
  • Tipo de campo: numero decimal (real).
  • Expresión: round($length,2)

El resultado será un nuevo campo que contiene las distancias horizontales en metros redondeado a 2 decimales.
Nota: si se desea obtener el resultado en otra unidad de medida debe dividirse el valor en su equivalente, por ejemplo, si se desea en km la expresión sería: round($length/1000,2)

Guardar cambios en la tabla de atributos y detener la edición.

Paso 6: Guardar Resultado

Para hacer permanente el resultado bastará con dar clic en el icono de memoria temporal.
  • Formato de archivo: shape de ESRI o Geopaquete.
  • Definir nombre y ruta de almacenamiento.


Derechos reservados
© Silvherinformatica (2022)