Outdated version of the documentation. Find the latest one here.

18.11. Calculadora vectorial

Nota

En esta lección veremos cómo agregar nuevos atributos a una capa vectorial basado en una expresión matemática, utilizando la calculadora de vectores.

Ya sabemos cómo utilizar la calculadora ráster para crear nuevas capas ráster utilizando expresiones matemáticas. Un algoritmo similar está disponible para capas vectoriales, y genera una nueva capa con los mismos atributos de la capa de entrada, además de uno adicional con el resultado de la expresión introducida. El algoritmo se llama Calculadora de campos y tiene el diálogo de parámetros siguiente.

../../../_images/field_calculator.png

Nota

En las versiones más recientes de Procesamiento de la interfaz ha cambiado considerablemente, es más potente y fácil de usar.

Aquí hay algunos ejemplos del uso de este algoritmo.

En primer lugar, vamos a calcular la densidad de población blanca en cada polígono, lo que representa un censo. Tenemos dos campos en la tabla atributos que podemos utilizar para eso, llamados, WHITE y SHAPE_AREA. Sólo tenemos que dividirlos y multiplicar por un millón (para tener la densidad por kilómetro cuadrado), por lo que podemos utilizar la siguiente fórmula en el campo correspondiente

( "WHITE" / "SHAPE_AREA" ) * 1000000

El diálogo de parámetros debe ser llenado como se muestra a continuación.

../../../_images/density1.png

Esto generará un nuevo campo llamado WHITE_DENS

Ahora vamos a calcular la relación entre los campos MALES y FEMALES para crear uno nuevo que indique si la población masculina es numéricamente predominante sobre población femenina.

Introduzca la siguiente fórmula

"MALES" / "FEMALES"

Esta vez la ventana de parámetros debería tener este aspecto antes de pulsar el botón Aceptar.

../../../_images/ratio.png

En la versión anterior, ya que ambos campos son de tipo entero, el resultado se trunca a un entero. En este caso, la fórmula debería ser: 1.0 * "MACHOS" / "MUJERES", para indicar que queremos un resultado de número punto flotante.

Podemos utilizar las funciones condicionales para tener un nuevo campo con cadenas de texto male o female en lugar de los valor de la relación, mediante la siguiente fórmula:

CASE WHEN  "MALES" > "FEMALES"  THEN 'male' ELSE 'female' END

La ventana de parámetros debería tener este aspecto.

../../../_images/predominance.png

Una calculadora campo python está disponible en el Calculadora de campo de Python avanzada, que no será detalla aquí

../../../_images/advanced.png