Soy un novato, disculpas si esto es obvio / ya me han preguntado y respondido pero no pude encontrar nada.
Tengo dos shapefiles: 1. una capa límite administrativa para un condado en el Reino Unido conocida como límite LSOA que tiene 500 pequeñas zonas en ella 2. una zona de inundación.
Idealmente, quiero averiguar cuáles de las pequeñas zonas de LSOA están ≥50% dentro de la zona de inundación y terminan con un sí / no o un 1/0 para cada una de las 500 zonas de LSOA.
Pero no sé cómo hacer esto. Pensé que podría unir los dos archivos de forma, pero no hay un atributo común entre ellos. Luego pensé que podría usar la función Unir atributo por ubicación, que funcionó y me muestra qué LSOA están en la zona de inundación, pero eso es casi todo (ver imagen 2).
Creo que este es un problema de SQL pero no lo sé. Soy nuevo en QGIS y nunca he usado PostgreSQL.
Cualquier ayuda sería muy apreciada. Puedo proporcionar cualquier información que necesiten ustedes para ayudarme.
fuente
Vector > Research Tools > Vector Grid... Output grid as polygons
), luego intersecte la cuadrícula con la capa de inundación. Luego use la salida en lugar de la capa de inundación en el paso 3. Supongo que la razón por la que la capa estaba vacía es porque se bloqueó.Puede usar spaceialite y algunas funciones espaciales de SQL.
fuente
Esto parece algo que podría hacerse mucho más fácilmente que las respuestas enviadas. Usaría un script simple de Python personalmente:
esto solo evalúa los polígonos de inundación que se cruzan con el cuadro delimitador de cada capa límite, por lo que debería ser bastante rápido de ejecutar, luego solo actualiza un campo en la capa existente (en lugar de una operación compleja de hacer una capa completamente nueva y copiar valores antiguos luego eliminando)
fuente
Tuve el mismo problema que KJ siguiendo las instrucciones de Snorfalorpagus usando el método "Intersecar" en el Paso 3. Me tomó bastante tiempo calcularlo y lo que me quedó quedó en blanco.
Intenté seguir los mismos pasos, excepto usar el método "Clip" en QGIS en lugar de Intersect, por lo que, en su ejemplo, lo que quedaría serían las partes de las áreas que NO están cubiertas por la zona de inundación. Esto pareció funcionar por alguna razón y pude usar el cálculo de campo "Área" del paso anterior, más un nuevo cálculo de "Área" en las partes restantes de cada polígono, para calcular el% de cada área que NO estaba cubierto por la otra capa de polígono.
Eso es técnicamente lo contrario de lo que pediste. Pero a partir de ahí, solo es cuestión de restar cada valor de 1 para obtener lo que cubre la zona de inundación.
fuente