He observado que algunos tutoriales nos brindan una forma de calcular el área y perímetro de un polígono usando QGIS. Sin embargo, nos damos con la sorpresa que no calculamos el área «correctamente». ¿Por qué pasa esto?.
En este pequeño tutorial aprenderemos a calcular el área en QGIS, porqué nos da un resultado diferente y cómo lo solucionamos.
Calculando áreas
Para este tutorial, usaremos este archivo Shapefile (descárgalo aquí) que corresponde a un polígono de 100x100m, es decir 1 hectárea.
- Abrimos QGIS e importamos la capa.
![CO
eo
eo
Navegador
Calcular el área
shp
Poligono_Area.shp
Capas
QGIS
Escala 1:874
abc
e:lv
abc
abc
F' 43)
Coordenada 313293.3,8613102.1
ab
eo
Buscar...
Caja de herramientas de Procesos
cu
Poliqono Area
Q Escriba para localizar (#K)
Usado recientemente
Poligonizar
Reproyectar capa
Análisis de redes
Análisis de vector
Análisis del terreno ráster
Análisis ráster
Base de datos
Cartografía
Creación de vectores
Geometría vectorial
Gráficos
Herramientas de archivo
Herramientas de capa
Herramientas ráster
Interpolación
Selección vectorial
Superposición vectorial
Tabla vectorial
Vector general
GDAL
GRASS
Modelos
SAGA
Scripts
Eliminada una entrada
Amplificador
100%
Rotación
0,00
Representar
EPSG:32718](https://i2.wp.com/macalupu.com/wp-content/uploads/2020/02/image-9.png?fit=660%2C397&ssl=1)
- Antes que nada, tenemos en cuenta que siempre trabajamos capas georreferenciadas. En este caso, la capa tiene una proyección en WGS84 Zona 18 Sur (EPSG:32718 – WGS 84 / UTM zone 18 S). Para revisar que sistema de coordenadas tiene tu capa, hacemos clic derecho en la capa y vamos a propiedades, luego hacemos clic en Fuente y vemos en la sección de Sistema de referencia de coordenadas.
Nota: Recuerden que el Sistema de Referencia del proyecto se actualiza con la capa, si este no cuenta con un sistema de referencia.
![e oe
ñ
Información
Fuente
Simbología
Etiquetas
Diagramas
Vista 3D
Campos
Formulario de
atributos
Uniones
Amacenamiento
auxiliar
Acciones
Visualizar
Representación
Variables
Metadatos
Dependencias
Propiedades de la capa - Poligono_Area I Fuente
v Configuración
Nombre de la capa Poligono_Area
mostrada como
Codificación de la fuente de datos
UTF-8
v Sistema de referencia de coordenadas
Establecer sistema de referencia de coordenadas del origen
EPSG:32718 - WGS 84 / UTM zone 18S
Crear índice espacial
O
Actualizar extensión
v Filtro de objeto del proveedor
Poligono_Area
Constructor de consultas
Help
Estilo
Apply
Cancel
OK](https://i0.wp.com/macalupu.com/wp-content/uploads/2020/02/image-3.png?fit=660%2C541&ssl=1)
- Cerramos la ventana de propiedades y vamos a hacer clic derecho en la capa y seleccionamos Abrir tabla de atributos.
- Observamos la tabla de atributos del polígono. Por el momento tiene cuatro campos vacíos. Area_ha, Area_ha_2, Per_1 y Per_2.
Nota: A fin de que sea más dinámico el tema, calcularemos el área en hectáreas y a cuatro decimales.
![O
QGIS
50 sa
ab
abc
e:lv
a bc
a bc
Navegador
Calcular el área
shp
Poligono_Area.shp
Capas
Caja de herramientas de Procesos
cu
Poliqono Area
Q Escriba para localizar (#K)
Buscar...
Usado recientemente
Poligonizar
Reproyectar capa
Análisis de redes
Análisis de vector
Análisis del terreno ráster
Análisis ráster
Base de datos
Cartografía
e oe
FID
1
Area_ha
Q
Area_ha_2
Poligono_Area :: Objetos totales: 1, Filtrados: 1, Seleccionados: O
Per_l
Escala 1:1,748
Per_2
Mostrar todos los objetos espaciales
O objetos espaciales s Coordenada 313202.5,8613033.1
Amplificador
100%
Rotación
0,00
Representar
EPSG:32718](https://i0.wp.com/macalupu.com/wp-content/uploads/2020/02/image-6.png?fit=660%2C376&ssl=1)
- Para este caso, calcularemos el área y perímetro como nos indican varios tutoriales de QGIS en los campos Area_ha y Per_1 respectivamente. Primero calcularemos el área.
- Abrimos la Calculadora de Campos y seguimos los siguientes pasos.
![O
QGIS
50 sa
eo
eo
Navegador
Calcular el área
shp
Poligono_Area.shp
Capas
cu
CO
e oe
FID
1
ab
abc
e:lv
abc
a bc
eo
Buscar...
Caja de herramientas de Procesos
Usado recientemente
Poligonizar
Reproyectar capa
Análisis de redes
Análisis de vector
Análisis del terreno ráster
Análisis ráster
Base de datos
Cartografía
Poliqono Area
Q Escriba para localizar (#K)
Area_ha
Q
Area_ha_2
Poligono_Area :: Objetos totales: 1, Filtrados: 1, Seleccionados: O
Per_l
Per_2
Abrir calculadora de campos (Ctrl+M)
Mostrar todos los objetos espaciales
O objetos espacialess Coordenada 313507.8,8613033.7
Escala
1:1,748
Amplificador
100%
Rotación
0,00
EPSG:32718
Representar](https://i2.wp.com/macalupu.com/wp-content/uploads/2020/02/image-8.png?fit=660%2C376&ssl=1)
- Primero, seleccionamos la opción de Actualizar Campo Existente.
- Segundo, vamos a seleccionar el campo Area_ha.
- Tercero, en el buscador de funciones y dentro de la sección de Geometría, seleccionamos la función $area.
- Cuarto, veremos que aparece en el campo de Expresión la función seleccionada. Como el resultado que obtenemos es en metros cuadrados, la dividimos entre 10 000 para que sea en hectáreas.
- Quinto, presionamos el botón Ok para calcular el área.
![e oe
Actualizar sólo O objetos espaciales seleccionados
Q Calculadora de Campo
Actualizar cam o existente
Crear un campo nuevo
Crear campo virtual
Nombre del campo de salida
Tipo del campo de salida
2
Número entero (entero)
Longitud del campo de salida 10
Expresión
Editor de funciones
Precisión
'\n'
area
4
Area_ha
Buscar
concoraanaa aprox...
Condicionales
Conversiones
Fecha y Hora
General
Geometría
$area
area
azimuth
boundary
bounds
bounds_height
bounds_width
buffer
función $area
Devuelve el área del
objeto actual. El área
calculada por esta
función respeta tanto la
configuración del
elipsoide del proyecto
actual como la de las
unidades de área. Por
ejemplo, si se ha
establecido un elipsoide
para el proyecto,
entonces el área
calculada será elipsoidal y
si no se ha establecido
ningún elipsoide,
entonces el área
Vista preliminar de la salida: 10121.78125169808
Está editando información de esta capa, pero la capa no está actualmente en modo edición. Si pulsa Aceptar se activará
automáticamente el modo de edición.
Help
Cancel
OK](https://i1.wp.com/macalupu.com/wp-content/uploads/2020/02/image-7.png?fit=660%2C534&ssl=1)
![e oe
Actualizar sólo O objetos espaciales seleccionados
Crear un campo nuevo
Crear campo virtual
Nombre del campo de salida
Tipo del campo de salida
Número entero (entero)
Longitud del campo de salida 10
Precisión
Expresión
10004
$area /
Editor de funciones
'\n'
1.0121781251698079
Q Calculadora de Campo
Actualizar campo existente
Area_ha
Buscar
row number
Aggregates
Arrays
Cadena
Campos y valores
Capas de mapa
Color
Concordancia aproxi...
Condicionales
Conversiones
Fecha y Hora
General
Geometría
Maps
Matemáticas
Operadores
Reciente (fieldcalc)
Record and Attributes
O
función $area
Devuelve el área del
objeto actual. El área
calculada por esta
función respeta tanto la
configuración del
elipsoide del proyecto
actual como la de las
unidades de área. Por
ejemplo, si se ha
establecido un elipsoide
para el proyecto,
entonces el área
calculada será elipsoidal y
si no se ha establecido
ningún elipsoide,
entonces el área
calculada será
planimétrica.
Sintaxis
Vista preliminar de la salida:
Help
Cancel
OK](https://i0.wp.com/macalupu.com/wp-content/uploads/2020/02/image-4.png?fit=660%2C534&ssl=1)
- Verán que ya aparece en el campo Area_ha el resultado. Aún no analicemos el resultado, hagamos lo mismo con el perímetro. Lo calcularemos en el campo Per_1 y la función que se utiliza es $perimeter.
![e oe
Actualizar sólo O objetos espaciales seleccionados
Crear un campo nuevo
Crear campo virtual
Nombre del campo de salida
Tipo del campo de salida
Número entero (entero)
Longitud del campo de salida 10
Precisión
Expresión
perimeter
Editor de funciones
'\n'
399.98747890144125
Q Calculadora de Campo
Actualizar campo existente
Per_l
Buscar
num_geometries
num_interior_rings
num_points
num_rings
offset_curve
order_parts
oriented_bbox
$perimeter
perme er
point_n
point_on_surface
pole_of_inaccessib...
project
relate
reverse
segments_to_lines
shortest_line
función $perimeter
Devuelve la longitud del
perímetro del objeto
actual. El perímetro
calculado por esta
función respeta tanto la
configuración del
elipsoide del proyecto
actual como la de las
unidades de distancia.
Por ejemplo, si se ha
establecido un elipsoide
para el proyecto,
entonces el perímetro
calculado será elipsoidal
y si no se ha establecido
ningún elipsoide,
entonces el perímetro
Vista preliminar de la salida:
Help
calculado será
planimétrico.
Cancel
OK](https://i2.wp.com/macalupu.com/wp-content/uploads/2020/02/image-5.png?fit=660%2C534&ssl=1)
Analizando los Datos
Ahora analicemos los datos. El área que nos aparece es de 1.0121 ha, pero sabemos que el polígono es de 100x100m, es decir 1 hectárea (1.0000 ha) y el perímetro que calculamos es 399.99m, pero debería ser 400.00m. ¿A qué se debe esto?
La respuesta en nuestros ojos
Si leemos la descripción de cada una de las funciones, observaremos que indica que el cálculo, tanto del área como del perímetro, respeta la configuración del elipsoide del proyecto actual.
En resumen…
Esto quiere decir que si el elipsoide del proyecto (ojo, no de la capa), tiene un sistema de referencia asignado, nos calculará en base al elipsoide del sistema de referencia establecido. Caso contrario, el área y el perímetro calculados serán planimétricos.
En pocas palabras, si quitamos el sistema de referencia del proyecto, podremos calcular el área que regularmente hemos calculado en otras herramientas, como es el caso de ArcGIS, AutoCAD, etc.
Calculando el área y perímetro planimétrico sin modificar el proyecto
Existe otro método, sin afectar el sistema de referencia del proyecto y caer en cualquier error u omisión y luego no te autocastigues por no saber que le hiciste al proyecto ya que mañana era el día de entrega.
- Para este tutorial lo calcularemos directamente sin tocar nada de la configuración del proyecto. Para ello, abrimos nuevamente la tabla de atributos y abrimos la calculadora de Campos.
- Dentro de la sección expresión, agregamos lo siguiente:
area($geometry)/10000
![e oe
Actualizar sólo O objetos espaciales seleccionados
Crear un campo nuevo
Crear campo virtual
Nombre del campo de salida
Tipo del campo de salida
Número entero (entero)
Longitud del campo de salida 10
Precisión
Expresión
Editor de funciones
'\n'
0.9999999999988358
Q Calculadora de Campo
a
Actualizar campo existente
Area_ha_2
Buscar
row number
Aggregates
Arrays
Cadena
Campos y valores
Capas de mapa
Color
10004
area($geometry)/
Vista preliminar de la salida:
Help
grupo Aggregates
Contiene funciones que
agregan valores sobre capas
y campos.
Concordancia aproximada
O
Condicionales
Conversiones
Fecha y Hora
General
Geometría
Maps
Matemáticas
Operadores
Reciente (fieldcalc)
Record and Attributes
Cancel
OK](https://i2.wp.com/macalupu.com/wp-content/uploads/2020/02/image-2.png?fit=660%2C534&ssl=1)
Lo que hace esta expresión es calcular el área planimétrica, es decir, sin considerar el elipsoide del sistema de referencia.
Nota: Observamos que en Vista Preliminar muestra 0.9999, pero como indica es preliminar, no se alarmen. Hacemos clic en Ok y veremos el siguiente resultado.
![Q
Area_ha
Poligono_Area :: Objetos totales: 1, Filtrados: 1, Seleccionados: O
Area_ha 2
Actualizar todo
Actualizar lo seleccionado
FID
1
1.0000
Per_l
399.99
Per_2
10000.00
1.0122
Mostrar todos los objetos espaciales](https://i0.wp.com/macalupu.com/wp-content/uploads/2020/02/image.png?fit=660%2C306&ssl=1)
- Ahora sí, el área que obtenemos es de 1 hectárea (1.0000 ha). Luego, calculamos el perímetro, entrando nuevamente a la Calculadora de Campos y escribimos lo siguiente para el campo Per_2:
perimeter($geometry)
![FID
Poligono_Area :: Objetos totales: 1, Filtrados: 1, Seleccionados: O
Area_ha 2
Q
Actualizar todo
Actualizar lo seleccionado
1
Area_ha
1.0122
1.0000
Per_l
399.99
Per_2
400.00
Mostrar todos los objetos espaciales](https://i0.wp.com/macalupu.com/wp-content/uploads/2020/02/image-1.png?fit=660%2C306&ssl=1)
Ahora sí, el cálculo del perímetro también coincide con el valor estimado (400.00m).
Podemos ver las diferencias entre ambos cálculos de área y de perímetro que nos ofrece QGIS.
¡Listo!, ahora ya sabemos las diferencias entre las formas de calcular el área y perímetro en QGIS, recordemos siempre tener cuidado al momento de calcular dichos parámetros.
¡No te olvides! Si tienen preguntas o algún aporte, déjalo en los comentarios.
¡Recuerda compartir el conocimiento!
Osea que sI aplicamos estas dos posibilidades el cálculo del perímetro elipsoidal no siempre será menor que el cálculo planimétrico del perímetro?.
Hola Manuel, exactamente, dependerá mucho de dónde sea, el sistema de coordenadas, la zona UTM, etc. Pero La diferencia no es tan significativa. ¿Tienes un ejemplo de algún caso que hayas visto? ¡Puedes compartirlo!
Hola Manuel, gracias por la útil explicación.
Una pregunta, sabes si es posible configurar el QGIS para que realice el calculo del área directamente en Ha o en Km2, sin necesidad de realizar el ajuste en la operación de la calculadora de campos?..
Nuevamente gracias.
Muchísimas gracias. Hay que tener mucho cuidado en el cálculo de la superficie para la elaboración de los GML de las parcelas para catastro. Con esta explicación no habrá problema.
Buenas tardes,
Estoy realizando una investigación para establecer el gasto energético de los edificios en las ciudades y necesitaría calcular el perímetro de las líneas que representan las fachadas, es decir, sin tener en cuenta las medianeras entre edificios.
Teniendo en cuenta que he obtenido los polígonos que representan los edificios del catastro, hay alguna manera de seleccionar las líneas que corresponden a las fachadas? No sé si me he explicado bien…
Muchas gracias de antemano por la respuesta,
Un saludo!
Hola, teniendo en cuenta que cuando generas tu shape de polígono a polilíneas, obtendrás elementos «medianeras o colindancias» entre polígonos que se estarían duplicando. Para ello, puedes utilizar las reglas topológicas con tu shape a fin de poder determinar cuáles son los elementos que se duplican y eliminarlos. En QGIS puedes tomar en cuenta el siguiente Link como una guía.
Hola
Tengo una capa con curvas de nivel cada 100 metros. Quiero saber el área de cada tramos de cien metros. No lo consigo (creo que es porque un pilígono de, como ejemplo, entre 300 y 400 metros puede contener en su interior los polígonos correspondientes a 400-500, 500-600…).
alternativamente tengo esa misma capa categorizada, pero tampoco lo consigo.
Le agradecería me indicara como hacerlo (a mi correo, si puede ser).
Saludos y gracias.
Hola
Si estás utilizando QGIS y tienes las curvas de nivel (shp) y el contorno del estudio (línea también en shp), puedes usar poligonizar para que te pueda dar un polígono con las intersecciones.
Si estás utilizando ArcGIS (ArcMap) y tienes las curvas de nivel en polilinea (shp) y el contorno del estudio (línea también en shp), puedes usar Feature to polygon. Si quieres exactitud, puedes colcocar en Tolerance XY el valor de 0, saldrá una advertencia luego del procesamiento pero sólo es por colocar ese valor en la tolerancia.
Me avisas si pudiste solucionarlo.
Buenas, como calcularia el area total de un shape, quedando en cada registro el dato repetido pero siendo el total del area de la suma de todos los poligonos?
Hola!, según lo que veo es que necesitas saber el área total (sumatoria de las áreas del shape). Puedes usar diferentes opciones, dependiendo del criterio. Por ejemplo, si tienes superposiciones entre los polígonos, puedes usar un dissolve, y obtener el área total para luego, con Field Calculator, agregar el dato en algún campo de la tabla de atributos. Otro caso, puede ser, si en este caso no cuentas con superposiciones o necesitas si o si sumar todas las áreas, con Summarize (Resumir) dentro de la tabla de atributos, con ello obtienes una tabla, dependiendo del criterio elegido, pudiendo obtener la sumatoria de las áreas. Luego ese valor lo asignas a un campo de la tabla de atributos elegido.
Espero haberte ayudado!
Hola, tengo un kml cuyo polígono me arroja una superficie en google earth (propiedades medidas) y al pasar a qgis y aplicar ambas formulas difiere en la superficie del polígono en 3 hectáreas, no así entre ambas formulas cuya diferencia es poco significativa. ¿ a que se debe?
¡Hola!, ¿Has probado ver si al momento de trabajar el polígono es 2D o 3D?