Cálculo de áreas poligonales en QGIS?


72

¿Cómo calculo las áreas de un archivo de forma de área en metros cuadrados o en acres (ha)?

No encontré esa funcionalidad en las herramientas vectoriales.


Pregunta de seguimiento: tengo una capa en State Plane NAD83. Cuando uso estos comandos, crea el área en pies. ¿Qué pasa si quiero acres o millas cuadradas? Gracias
C_K

Las dos respuestas proporcionaron trabajo, pero su implementación es un poco lenta, especialmente cuando se trata de determinar el área de muchos archivos de vectores poligonales. ¿No hay un complemento u otra forma de obtener el área de un polígono simplemente haciendo clic derecho en el polígono? Las respuestas proporcionadas terminan con un nuevo atributo de campo (es decir, área) pero el valor no se actualiza si se cambia el polígono. Por lo tanto, en muchos casos no es necesario que el área se muestre en un atributo de campo separado. Si el área pudiera mostrarse como un número en un cuadro pequeño, en la parte inferior de la página, etc., sería suficiente. Entonces, es el
David

2
Con la herramienta de identificación, haga clic en un polígono. El área se calcula y se muestra en "Derivado" en la ventana de identificación. Puede cambiar las unidades en la configuración.
csk

Respuestas:


70

Haga que la capa sea editable, luego use la calculadora de campo (Capa> Abrir tabla de atributos> Calculadora de campo / Ctrl + I o haga clic con el botón derecho en shapefile> Abrir tabla de atributos> Calculadora de campo / Ctrl + I). Hay un operador "$ area" que calculará el área de cada fila en la tabla. Todas las unidades se calcularán en las unidades de la proyección, por lo que probablemente desee proyectarlo en una proyección que use pies o metros antes de hacerlo, en lugar de lat / lon.


66
En las versiones actuales de QGIS, si sus datos están en un CRS geográfico, puede usar la función transform () para proyectar las geometrías en un sistema proyectado (preferiblemente un área igual) sin la necesidad de duplicar sus datos. En la calculadora de campo, algo como esto debería funcionar: área ($ geometry, 'EPSG: 4326', 'EPSG: 3763')
Alexandre Neto

9
@AlexandreNeto: ¿Quieres decir area(transform($geometry, 'EPSG:4326','EPSG:3763'))?
Stewart Macdonald el

@smacdonald sí, mi error.
Alexandre Neto

18

Esto también se puede hacer con Vector | Herramientas de geometría | Agregar / exportar columnas de geometría, que crea un nuevo archivo de forma con columnas de área y perímetro (o longitud) agregadas.

Editar: (usando la herramienta anterior, también puede anular la selección de "guardar como nuevo archivo de forma" en V1.8, ¡el archivo de forma ahora solo se actualiza!)

Sin embargo, usar la calculadora de campo es probablemente una mejor idea, ya que no requiere la creación de un nuevo archivo de forma.


No puede cambiar los atributos del shapefile sin habilitar la edición primero, (calcular el área cuenta como editar los atributos, está agregando una nueva columna). Tenga en cuenta que todas las unidades se calcularán en las unidades de la proyección (metros por defecto), por lo que debe volver a proyectarlo primero en un sistema de coordenadas proyectado.
Hasan Mustafa

4

Escribí un guión específicamente para esto. Si no desea volver a proyectar sus datos, puede calcular el área utilizando matemáticas elipsoidales.

Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area

Encontrará el script instalado en Processing Toolbox -> Utils -> Ellipsoidal area

La herramienta debe explicarse por sí misma y le permitirá calcular el área en unidades de su elección, independientemente de la proyección.


¿Puedes dar un mejor ejemplo como código?
Léo Léopold Hertz 준영

0

Si las áreas que está mirando pueden cambiar, como mirar diseños de infraestructura, áreas de captación, áreas de estudio, etc., me resulta útil simplemente etiquetar las áreas, en lugar de agregarlas como atributos.

Label-> round($area/10000,2)||' ha'

De esta manera, no necesita recordar actualizar las áreas de captación en las tablas de atributos con tanta frecuencia.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.