Tengo una capa con polígonos (llamémosla "bosque") que está intersectada por "n" objetos de línea ("caminos"). Cada camino tiene un atributo único roadid.
Necesito agregar TODOS los roadid (no solo los primeros hallazgos de QGis) a la capa de polígonos de bosque que se cruzan para su uso posterior. Preferiblemente, todos los roadid deben estar en una nueva columna de atributos del "bosque", dividida por ejemplo, ",".
Si solo hubiera un camino en cada bosque, podría usar la herramienta "unir atributo por posición" para obtener los roadid en los polígonos. El atributo deseado es una cadena única, por lo que no ayuda a sumar / promediar / min / max los campos, y no hay ninguna opción para unirlos como cadenas divididas por ",".
Editar: no hay solución sin la ayuda de complementos o programas externos por ahora (ver comentario de Matthias Kuhn a continuación).
(QGIS 2.10.1-Pisa)
fuente
Respuestas:
Utilice la base de datos Spatialite!
Es una base de datos espacial basada en archivos livianos compatible con QGIS.
Primero configure una base de datos espacial siguiendo estas instrucciones
Empuje sus dos tablas a esta base de datos espacial usando el administrador QGIS DB
Suponiendo que sus tablas se llaman "polígono" y "línea", ejecute el siguiente comando SQL en la interfaz de consulta del administrador de base de datos.
Más explicaciones y diversión leyendo sobre las funciones agregadas de SQLite aquí y las funciones de spaceialite aquí
fuente