Cómo usar la calculadora de campos de QGIS

La Calculadora de Campos de QGIS es una herramienta a la que podemos acceder desde la tabla de atributos de un shapefile y que nos permite realizar cálculos sobre los valores recogidos en campos de la misma. Por ejemplo, calcular el área de un polígono, las coordenadas X e Y de un punto, así como otras características geométricas. O concatenar campos como veremos más adelante…

Para poder activar la herramienta Calculadora de Campos es necesario encontrarse en una sesión de edición, ésta puede abrirse desde el menú Capa/Conmutar edición….

En la sesión de edición debemos acceder a la tabla de atributos de la capa sobre la que se desea editar la información alfanumérica y hacemos clic sobre el botón Calculadora de campos situado en la parte superior derecha de la tabla.

Aparecerá el siguiente cuadro de diálogo:

En él hay que indicar, en primer lugar, si deseamos:

  • Actualizar los elementos seleccionados, es decir, editar y corregir únicamente los registros de aquellas entidades seleccionadas.
  • Crear un campo nuevo, introduce nueva información alfanumérica sobre un campo que se creará por el usuario directamente desde la ventana Calculadora de campos (debes de indicar el nombre del campo, su tipo, anchura y precisión) * Es importante tener claro qué tipo de campo necesitamos en función del tipo de información que vayamos calcular.
  • Actualizar campo existente, el programa calculará los nuevos valores para el campo que seleccionemos en el desplegable.

La sección Lista de funciones contiene las funciones así como los campos y valores. Si pinchamos sobre un conjunto de funciones de la lista en la parte derecha, Ayuda de la función seleccionada, tendremos una descripción de su contenido. Mientras que si pinchamos sobre una función en concreto, tendremos la descripción de la misma.

La lista de funciones se divide en varios conjuntos, entre otros, Operadores nos proporciona operadores matemáticos, Conversiones incorpora funciones que transforman un tipo de datos a otro, Cadena lo componen funciones para cadenas de texto o Geometría que nos ofrece funciones para cálculos geométricos (área, perímetro, coordenadas……).

Para incorporar una función en la sección Expresión de la Calculadora de campos debemos hacer doble clic sobre ella en Lista de funciones.

Vamos a realizar un pequeño ejemplo del funcionamiento de la Calculadora de campos, calculando el área de las provincias de la Comunidad Autónoma de Andalucía.

  1. Descarga desde el siguiente link el archivo .zip con la capa CCAA_Andalucia.shp y descomprímelo en tu pc:
  2. Abre un nuevo proyecto en QGIS y carga la capa que acabamos de descargar.
  3. Abre una sesión de edición desde el menú Capa/Conmuntar edición…..
  4. Abre la tabla de atributos y haz clic sobre el botón de la Calculadora de Campos.
  5. Vamos a calcular el área de cada provincia (si te has fijado en la tabla de atributos, el campo AREA contiene el valor 0), para ello introduce en el cuadro de diálogo los siguientes parámetros:
  • Actualizar campo existente, AREA.
  • En Lista de funciones accede al desplegable de Geometría y haz doble clic sobre la función $area
  • Pulsa el botón Aceptar. 

Si accedes a la tabla de atributos de la capa CCAA_Andalucia.shp podrás apreciar que se han actualizado los valores del campo AREA.

Nota: El Sistema de Coordenadas de la capa CCAA_Andalucia.shp es ED50 UTM Zone 30 N, por lo cual, los valores calculados se dan en metros.

Concatenar campos

Algo un poco más complejo es crear una concatenación de campos, de modo que podamos mostrar la información de forma más completa. Si anteriormente has utilizado ArcGIS, allí debes utilizar el operador  &, pero en QGIS la concatenación se realiza con ||.

Vamos a generar un campo nuevo en el que mostraremos el nombre de cada provincia unido al área que ésta ocupa, para ello debemos de seguir los siguientes pasos:

  • Abre la Calculadora de campos desde la tabla de atributos.
  • Seleccionamos Crear un campo nuevo, será necesario otorgar un nombre a dicho campo e indicar que éste sea de tipo Texto.

  • Apoyándonos en la Lista de funciones y de los Operadores, debemos de introducir la siguiente expresión:

«PROV_NOM» || ‘ (‘ || «AREA» || ‘)’

  • Pulsamos en Aceptar y nos dirigimos a la tabla de atributos de nuestra capa CCAA_Andalucia.shp para comprobar que el campo se ha creado y actualizado correctamente.

Si te ha gustado esta entrada compártela!

Si quieres mejorar tus conocimientos de SIG apúntate ya a nuestro curso online de QGIS!

34 comentarios en «Cómo usar la calculadora de campos de QGIS»

    • Hola Alonso. Aunque no me parece la forma más adecuada de escribir en un blog, te respondo: Si conoces el tamaño de la celda y el número de celdas es una cuenta sencilla. Saludos.

  1. Estimado Diego, estoy comenzando a utilizar QGis 2.14.2-1 para Mac Os X y en la calculadora de campo no aparece la lista de funciones. ¿Qué puede estar pasando?

    Gracias de antemano

    Excelente blog!

    • Hola Ernesto,

      Intenta estirar desde la parte derecha de la ventana de introducción de la consulta, pues en ocasiones queda totalmente adherida a esta y no es posible visualizarla.

      Un saludo!

  2. Hola Diego, es genial tu página!!!

    Una pregunta. Estoy intentando calcular el área de unos municipios en Km2 o m2 (al menos), pero no me sale el resultado que debería (creo que me sale en grados ya que llos valores son muy bajos). Soy de España, y como algún shape estaba en WGS84, decidí crear todas las capas del proyecto con las misma proyección. Que debo hacer para poder calcular bien todo, sabes? En confirguración y en propiedades del proyecto ya lo he modificado para que acepte la WG84.

    Muchas gracias por todo!

    Saludos!

    • Hola Miguel,

      Puedes realizar un buffer sobre el municipio deseado con la distancia que deseas establecer como límite para seleccionar municpios anexos.
      Después puedes emplear la herramienta Seleccionar por localización del menú Vectorial/Herramientas de investigación.

      Un saludo!

  3. Hola! Me gusta mucho el blog, enhorabuenas!
    Estoy buscando una forma de hacer lo siguiente:
    Tengo un shape con puntos (con atributos) y quiero ir sumando dichos atributos por zonas. Es posible?
    Mil gracias

    • Hola!

      Gracias por las felicitaciones y también por seguirnos.

      Efectivamente puedes sumar los atributos de un determinado campo por zonas o la suma de varios campos en uno nuevo que hayas creado.

      Puedes seleccionar en la tabla de atributos los puntos dentro de la zona deseada y emplear la herramienta Mostrar resumen estadístico. En ella marcas la casilla Objetos seleccionados solamente y te mostrará el resultado de la operación indicada sólo sobre dichos registros.

      Repite el proceso para cada zona y listo!

      Un saludo!

    • Hola Víctor,

      Para calcular las coordenadas puedes utilizar las funciones $x y $y del grupo Geometría de la Calculadora de Campos.

      Un saludo!

  4. HOLA, UNA PREGUNTA COMO PUEDO HACER LA SUMA DE LAS AREAS, PERO SOLO DE ALGUNOS OBJETOS SELECCIONADOS?
    EN MI CASO TENGO UNA SELECCION DE 660 ELEMENTOS DE 10130 Y SOLO QUIERO HACER LA SUMA DE UNA COLUMNA EN ESPECIAL SOLO DE ESOS 660 SELECCIONADOS
    SALUDOS

    • Hola Francisco,

      Una vez seleccionados los elementos deseados en la tabla de atributos selecciona la herramienta Estadísticas básicas del menú Vectorial/Herramientas de análisis, indica en ella la capa y columna sobre la que deseas calcular las mismas y ejecútala.
      Con esta herramienta obtendrás estadísticas como la suma, el valor mínimo y máximo, etc…

      Un saludo!

    • Hola Andrés,

      La lista de funciones siempre está presente en la Calculadora de Campos, puede que al aumentar o reducir el tamaño de la ventana haya quedado oculta.
      Al lado de la ventana Expresión hay una línea vertical de puntos, si sitúas el cursor del ratón sobre ella este cambiará mostrando la opción de desplazara hacia izquierda o derecha. Pincha con el ratón y desplázalo hacia la izquierda para que aparezca la lista de funciones.

      Un saludo!

  5. Hola Diego.

    Gracias ¡¡ Tu pagina es muy util.
    Me puedes ayudar a resolver esto. Tengo una columna con atributos que se repiten por ejemplo : CIUDAD: Bogota, CIUDAD: Cali, CIUDAD: Medellin… etc.
    Ahora tengo otra columna con atributos que tiene una valoracion de cada atributo (son mas 2000 valores). Necesito como resultado final tener por cada ciudad un valor total (sumatoria) de los atributos de la segunda columna segun ciudad. Es posible tener esto? (nose si esta clara mi inquietud)

    Muchas Gracias¡¡¡
    Maria

    • Hola María,

      Entiendo que lo que tienes es una tabla en la que para cada ciudad tienes un conjunto de campos con una serie de atributos que quieres sumar en un nuevo campo.

      Esto es muy sencillo de realizar si hablamos de valores numéricos pues únicamente tendrías que crear un campo de tipo numérico e ir introduciendo los campos en la Calculadora de Campos (valga la redundancia) con el símbolo ‘+’. Por ejemplo: «AREA» + «PERIMETRO»+……

      Si se tratase de campos tipo texto, tendrías que crear un nuevo campo de tipo texto también y concatenar los campos que deseas unir en uno sólo mediante el símbolo ‘&’. Por ejemplo, «DEMARCACION» & «PAIS» & ……

      Un saludo!

  6. Hola. Hago la secuencia de pasos para calcular el área pero toda la columna queda en 0. Por qué puede ser? Gracias

    • Hola Marcelo,

      Comprueba que el tipo de campo que has creado para realizar la concatenación de campos sea de tipo texto, vigila también la longitud del mismo.

      Un saludo!

  7. Hola Como completo un campo entero (numérico) con el numero de caracteres de otro campo X:
    Ejemplo : Campo A: Base de Datos
    Campo B: 17 (numero de caracteres del campo A)

    • Hola Juan Miguel,

      Para contar el número de caracteres de un campo puedes emplear la función LENGTH del grupo de funciones Cadena en la Calculadora de Campos:
      Campo B = length(campo A)

      Un saludo!

    • Hola Francesc,

      Las unidades de medida son las que tengamos especificadas en las Opciones de QGIS, a las que puedes acceder a través del menú Configuración/Opciones… pestaña Herramientas de mapa.

      Un saludo!

      • Al calcular el área con la herramienta de medir áreas me salen 50ha y en el campo que crea la calculadora me da 3.25e-05, lo cual es imposible. A qué se puede deber?
        Gracias

        • Hola Francesc,

          Por lo que comentas el error se puede deber a una incongruencia con el Sistema de Coordenadas asignado al proyecto. En ocasiones QGIS advierte del error mediante un mensaje de aviso al realizar tales mediciones.

          Un saludo!

          • Me sigue pasando con otro proyecto manteniendo siempre el mismo sistema de coordenadas.
            Tengo que transformar un track en gpx a shp, pasar de linea a polígono y aplicar la calculadora de campos. Para todo ello me mantengo siempre en el SRC WGM 84 que viene por defecto en el gps y el àrea resultante es de 1.34e-7.
            Tengo que pasarlo a coodenadas proyectadas o algo?
            Gracias de nuevo

  8. hola, muy buena pagina 😉
    tengo una consulta, para cambiar el atributo de solo los elementos seleccionados como se puede hacer?. por ejemplo tengo un atributo con 100 categorías y lo que deseo es que solo las filas de la categoria 30 tomen un cierto valor en la columna de otro atributo.

    • Hola Andrés,

      En primer lugar has de seleccionar los registros que se corresponden a esa categoría 30, para ello debes de utilizar la herramienta Seleccionar objetos espaciales utilizando una expresión de la tabla de atributos. (La expresión que utilizarás será Columna = 30, donde Columna es el nombre del campo).
      Una vez marcados los registros correspondientes, accedes a la Calculadora de Campos y actualizas el campo objeto de modificación introduciendo el valor deseado. (Recuerda que en la Calculadora de Campos esté marcada la casilla de verificación Actualizar sólo los elementos seleccionados.

      Un saludo!

  9. Muy útil y clara tu explicación!
    Ahora bien, a la hora de actualizar un campo de texto preexistente, al seleccionar el campo (doble comillas) y asignarle = el texto en comillas simples, no lo hace. Qué es lo que sucede, algo mal en la sentencia?

    • Hola Betina,

      Para actualizar un campo de tipo texto únicamente has de seleccionarlo en el desplegable «Actualizar campo existente» y, en el apartado «Expresión», indicar entre comillas simples el valor que quieres otorgar a dicho campo. No debes indicar de nuevo éste en «Campos y valores».

      Un saludo!

Los comentarios están cerrados.