Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
17.11. Vektorkalkylator
Observera
I den här lektionen ska vi se hur man lägger till nya attribut i ett vektorlager baserat på ett matematiskt uttryck med hjälp av vektorkalkylatorn.
Vi vet redan hur man använder rasterkalkylatorn för att skapa nya rasterlager med hjälp av matematiska uttryck. En liknande algoritm finns tillgänglig för vektorlager och genererar ett nytt lager med samma attribut som indatalagret, plus ytterligare ett lager med resultatet av det uttryck som anges. Algoritmen kallas Field calculator och har följande parametrar dialog.

Observera
I nyare versioner av Processing har gränssnittet ändrats avsevärt, det är mer kraftfullt och lättare att använda.
Här är några exempel på hur den algoritmen kan användas.
Låt oss först beräkna befolkningstätheten för vita människor i varje polygon, som representerar en folkräkning. Vi har två fält i attributtabellen som vi kan använda för detta, nämligen WHITE
och SHAPE_AREA
. Vi behöver bara dividera dem och multiplicera med en miljon (för att få täthet per kvadratkilometer), så vi kan använda följande formel i motsvarande fält
( "WHITE" / "SHAPE_AREA" ) * 1000000
Dialogrutan för parametrar ska fyllas i enligt nedan.

Detta kommer att generera ett nytt fält med namnet WHITE_DENS
Låt oss nu beräkna förhållandet mellan fälten ”MÄN” och ”KVINNOR” för att skapa ett nytt fält som anger om den manliga befolkningen är numeriskt dominerande över den kvinnliga befolkningen.
Ange följande formel
"MALES" / "FEMALES"
Den här gången ska parameterfönstret se ut så här innan du trycker på OK-knappen.

I tidigare versioner, eftersom båda fälten är av typen heltal, skulle resultatet trunkeras till ett heltal. I detta fall bör formeln vara: 1.0 * "MALES" / "FEMALES"
, för att ange att vi vill ha ett flyttal som resultat.
Vi kan använda villkorliga funktioner för att få ett nytt fält med textsträngar för male
eller female
i stället för dessa kvotvärden, med följande formel:
CASE WHEN "MALES" > "FEMALES" THEN 'male' ELSE 'female' END
Parameterfönstret bör se ut så här.

En Python-fältkalkylator finns tillgänglig i Advanced Python field calculator, som inte kommer att beskrivas närmare här
