Importante

La traducción es un esfuerzo comunitario puede unirse. Esta página está actualmente traducida en |progreso de traducción|.

17.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.

We already know how to use the raster calculator to create new raster layers using mathematical expressions. A similar algorithm is available for vector layers, and generates a new layer with the same attributes of the input layer, plus an additional one with the result of the expression entered. The algorithm is called Field calculator and has the following parameters dialog.

../../../_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"

This time the parameters window should look like this before pressing the OK button.

../../../_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

A python field calculator is available in the Advanced Python field calculator, which will not be detailed here

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