3 votos

Sumando el área de polígonos dentro de una capa vectorial dentro de una zona usando QGIS

Tengo una capa de vector con múltiples polígonos (morados). También tengo varias capas de vector que son zonas de captación (también tengo una capa donde estas zonas de captación están fusionadas).

¿Hay alguna manera en la que pueda sumar/calcular las áreas de los polígonos morados dentro de cada una de las zonas de captación individuales?

Necesito esto para calcular un porcentaje del área ocupada por los polígonos morados dentro de cada zona de captación.

introducir descripción de la imagen aquí

2voto

ARUNBALAN NV Puntos 101

En QGIS puedo sugerir el uso de una "Capa Virtual" a través de Capa > Agregar Capa > Agregar/Editar Capa Virtual....

Supongamos que hay diez elementos en 'multiple_polygons' (amarillo), y tres en 'catchment_zones' (gris) respectivamente, ver imagen abajo.

input

Con la siguiente Consulta, es posible lograr el resultado

SELECT
    c.id,
    c.Name,
    c.geometry,
    ROUND(st_area(c.geometry), 2) AS "catch_area(m*m)",
    ROUND(SUM(st_area(m.geometry)), 2) AS "mult_area(m*m)",
    COUNT(m.geometry) AS "num_mult",
    ROUND(SUM(st_area(m.geometry))/st_area(c.geometry)*100, 2) AS "area_%"
FROM
    "catchment_zones" AS c
JOIN
    "multiple_polygons" AS m
        ON st_intersects(c.geometry, m.geometry)
GROUP BY
    c.id

La Capa Virtual de salida mantendrá la geometría original y algunos atributos iniciales incluyendo varios nuevos, a saber "catch_area(mxm)" (en metros cuadrados), "mult_area(mxm)" (en metros cuadrados), "num_mult" y "area_%".

output

1voto

  1. Intersectar
  2. Diluir basado en el ID de la cuenca
  3. Crear un nuevo campo y calcular el área

0voto

chhh Puntos 1154

Crea un nuevo atributo con calculadora de campos. Si tus capas tienen los nombres polígonos1 (las zonas de captación) y poly2 (tus polígonos pequeños y morados), entonces en polígonos1 usa esta expresión: array_sum(overlay_contains ('poly2', $area)).

Aquí, la capa naranja está etiquetada con la expresión anterior, calculando la suma de las áreas de todos los polígonos azules contenidos dentro de cada uno de los polígonos naranjas: introduzca la descripción de la imagen aquí

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