Creando un buffer dinámico en QGIS 3

En SIG el termino Buffer se refiere a un análisis/consulta de área de influencia, en capas vectoriales se utiliza para definir el área a una distancia fija de una entidad, algunos ejemplos prácticos: determinar las viviendas a una distancia de 200 metros de un hidrante, representar la zona de protección de un cauce según la normativa. Los Buffers pueden crearse con múltiples anillos e incluso a un solo lado.

Buffer dinámico

Utilizando las opciones de Simbología es posible crear un Buffer dinámico en QGIS 3, es decir, un área de influencia que cambie bajo ciertas condiciones.

Ejemplo practico:

Tipo de análisis/simbología: representar un Buffer dinámico alrededor de un curso de agua.

Capas utilizadas: una capa de líneas que representa el cauce del río y una capa de polígonos

Condiciones:

  • El espesor del Buffer será 40 veces menor a la longitud del cauce. De esta manera se expandirá cuando se alargue la entidad y se retraerá en caso contrario.
  • El Buffer se creara cuando el cauce tenga una longitud mayor de 1000 metros.
  • Resalte la porción del buffer que intersecte un polígono especifico.

Procedimiento:

1.- En QGIS 3 cargar las capas:

Buffer QGIS 3

Nota: las capas deben tener el mismo sistema de coordenadas, los análisis se realizan en el sistema de proyección de la capa

2.- En la figura puede observar que la capa de Polígonos llamada “PropiedadB“, tiene una única entidad, al identificar dicho polígono, cuenta con tres campos, el campo “Nombre” tiene como atributo “Finca Azusal

Buffer QGIS 3

3.- En el “Panel estilo de capas”,  seleccione la capa de línea que representa el curso de agua (en el ejemplo “hidroB“), luego en la pestaña Simbología, se mantiene el estilo por defecto, Símbolo Sencillo (Single Symbol), luego clic al botón con icono de cruz de color verde para adicionar una nueva capa de símbolo.

Símbolos QGIS 3

5.-  En la capa de símbolo recién creada y en la pestaña “Tipo de Capa del Símbolo” seleccione “Geometry Generator”,  luego en la pestaña “Tipo de Geometría” seleccione “Poligono/Multipoligono”, esta es la entidad que debe generar el código que escribiremos más adelante.

6.- Debajo de la pestaña “Tipo de Geometría” hay una caja de texto donde escribir el código que definirá el comportamiento de nuestra Capa de Símbolo, clic sobre el botón con una “E” (símbolo de Épsilon), esto abre el Dialogo de Expresiones.

Escriba el siguiente código:

if  ( length($geometry) > 1000, buffer( $geometry, length($geometry)/40, 0) , 0) 

Expresión buffer qgis 3

Explicación del código:

  • If (condición, verdadero, falso) se define una condición “Si”, dependiendo el resultado se ejecuta el proceso verdadero o falso.
  • length($geometry): calcula la longitud de la geometría actual.
  • Buffer (geometría, valor numérico): genera un buffer a la geometría dado un valor numérico en las unidades del sistema de proyección de la capa.

8.- Para que el buffer reaccione al interceptar el polígono verde que se encuentra al sur del cauce, seleccionamos “Relleno” o  “Simple fill” de la capa “Geometry Generator” recién creada, luego repetimos el proceso anterior, dando clic al botón con el signo en cruz de color verde creamos una nueva Capa de Símbolos, luego “Geometry Generator” > “Tipo de Geometría” > “Poligono/Multipoligono”. Despliegue el dialogo de Expresiones y coloque el siguiente código:

intersection($geometry, geometry(get_feature( ‘PropiedadB_62be45a2_718e_46d9_855f_afd886692054’, ‘Nombre’, ‘Finca Azusal’ )))

Intersección polígono buffer QGIS 3

Explicación del código:

  • intersection(geometria, geometria): determina la intersección de dos geometrías pasadas como argumentos.
  • geometry(get_feature(Layer, Campo, Atributo): devuelve una geometría al especificar la capa (Layer), el campo y el atributo que le corresponde. El nombre de la capa se obtiene del Dialogo de Expresiones, en “Capas de Mapas”, en el caso del ejercicio se hace doble clic sobre PropiedadB  y se escribe el código que está en la expresión
    Buffer capa QGIS 3

 El resultado se muestra en la imagen animada:

Buffer dinámico QGIS 3

Autor: Luis Eduardo Pérez Graterol
Profesión: Ingeniero en Recursos Naturales
País: Venezuela
Web: www.mundocartogeo.blogspot.com

 

6 comentarios en “Creando un buffer dinámico en QGIS 3”

    • Puede parecer algo complejo, mi consejo abre el dialogo de expresiones luego Geometría y selecciona cada comando, veras una explicación de lo que hacen (esta es una gran novedad en Qgis3)
      Toma el código de este ejemplo y realiza cambios, experimenta
      Para mi la aplicación mas interesante es para diseñar mapas inteligentes, por ejemplo puedes trazar una red vial y configurar que cuando solape otra vía cambie el estilo, por ejemplo para reflejar un puente

      Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.