12 votos

¿Cómo utilizar la función Intersects en la calculadora de campos de QGIS?

Me gustaría tener un ejemplo de cómo utilizar la función Intersects en la calculadora de campos de QGIS.

Básicamente, quiero saber qué característica de una capa de polilíneas interseca una capa de polígonos y almacenar el resultado en un atributo. (0 = no intersección, 1 = intersección).

Conozco las herramientas de geoprocesamiento "Clip" o "Intersect", pero ¿es posible en la calculadora de campo?

7voto

tobes Puntos 19

Esto no es posible en la calculadora de campo. La función de intersección en la calculadora de campo no funciona con dos capas. Lo que puede hacer es calcular intersecciones con geometrías específicas, por ejemplo

intersects( $geometry, geomFromWKT( 'LINESTRING(765145.88 6274561.22, 776031.67 6284189.52)' ) )

Para más información sobre estos operadores espaciales, consulte http://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/expression.html#geometry-functions

En su lugar, utilice el Consulta espacial para seleccionar primero todas las características que se cruzan con la capa de polígonos. A continuación, utilice la calculadora de campos y actualizar sólo las funciones seleccionadas para establecer el atributo de intersección en 1.

0 votos

Enlace muerto por desgracia... realmente buscando más documentación sobre el funcionamiento de estos operadores...

0 votos

La calculadora de campo de @DPSSpatial tiene documentación incorporada. ¿Qué te falta? También he añadido el enlace del manual de usuario correspondiente

0 votos

Gracias, Anita. Nunca he visto esto, y probablemente porque no uso la calculadora de campos, siempre buscando en la expresión, reglas, configuración del atlas, etc... cuando accedes a estos como Variables, son difíciles de averiguar lo que esperan en términos de entradas y salidas... ¡Voy a revisar ese documento, así que gracias por eso!

6voto

ital Puntos 106

Esta es una pregunta antigua y la respuesta aceptada fue probablemente correcta en su momento, sin embargo creo que con las nuevas versiones de QGIS, (específicamente la 3.16) una introducción de las funciones overlay_intersection (y overlay_contains/crosses/within/ etc) en el editor de expresiones, puede permitir desarrollar consultas espaciales dentro de la Calculadora de Campos.

Otro hilo que habla de esto está aquí:

Utilice la calculadora de campo para comprobar la intersección

Como ejemplo, he desarrollado lo siguiente que toma la geometría de intersección del registro actual, con la capa de destino, y devuelve el valor del atributo del campo 'field_site_no'.

array_to_string(overlay_intersects( '<target_layer_name>', field_site_no))

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