Use la calculadora de campo para verificar la intersección
Meta final
Planeo recuperar atributos de capas usando la calculadora de campo donde se cruzan con una geometría.
Paso actual
Comprobando si la corriente se $geometry
cruza con la capa de interés.
Lo que intenté
intersects($geometry,collect_geometries('Layer'))
- y variaciones de map_get
. Como acabo de enterarme de que intersects
hay que entregar geometrías conocidas, aunque quiero comprobar SI hay una geometría en la capa, en realidad estoy perdido. Simplemente no sé cómo verificar las intersecciones usando la calculadora de campo.
Si esto no es posible usando la calculadora de campo, ¿tal vez Python?
Respuestas
Supongamos que tiene una capa con polígonos que contiene un atributo "nombre": en la captura de pantalla siguiente, este campo de nombre tiene los valores A, B, C, D, E y F (los polígonos están etiquetados).
Además, tenemos una capa de líneas y queremos obtener los nombres de los polígonos que intersecta la línea. Desde QGIS 3.16 (ver registro de cambios visual ; para versiones anteriores de QGIS, tal vez el complemento RefFunctions al que se hace referencia allí podría ayudar), hay nuevas expresiones superpuestas. Podemos usar uno de ellos para etiquetar la línea con los nombres de los polígonos que interseca. De la misma forma, la expresión se puede utilizar en la calculadora de campo para generar nuevos campos (incluso campos virtuales para cálculo dinámico):
array_to_string (
overlay_intersects (
'Polygons',
name
)
)
