Belangrijk
Vertalen is een inspanning van de gemeenschap waaraan u deel kunt nemen. Deze pagina is momenteel voor 75.00% vertaald.
17.11. Vectorcalculator
Notitie
In deze les zullen we zien hoe we nieuwe attributen toevoegen aan een vectorlaag, gebaseerd op een rekenkundige uitdrukking, met behulp van de vectorcalculator.
We weten al hoe we de raster calculator moeten gebruiken om nieuwe lagen te maken met behulp van rekenkundige uitdrukkingen. Een soortgelijk algoritme is beschikbaar voor vectorlagen, en genereert een nieuwe laag met dezelfde attributen van de invoerlaag, plus een aanvullende met het resultaat van de ingevoerde uitdrukking. Het algoritme heet Veld calculator en heeft het volgende dialoogvenster voor parameters.
Notitie
In nieuwere versies van Processing is de interface aanzienlijk gewijzigd, hij is krachtiger en eenvoudiger te gebruiken.
Hier zijn enkele voorbeelden van het gebruik van dat algoritme.
First, let’s calculate the population density of white people in each polygon, which represents a census.
We have two fields in the attributes table that we can use for that, namely WHITE and SHAPE_AREA.
We just have to divide them and multiply by one million (to have density per square km),
so we can use the following formula in the corresponding field:
( "WHITE" / "SHAPE_AREA" ) * 1000000
Het dialoogvenster voor de parameters zou moeten worden gevuld zoals hieronder weergegeven.
This will generate a new field named WHITE_DENS.
Laten we nu de ratio berekenen tussen de velden MALES en FEMALES om een nieuw veld te maken dat aangeeft of de mannelijk bevolking numeriek domineert boven de vrouwelijke bevolking.
Enter the following formula:
"MALES" / "FEMALES"
Deze keer zou het venster met de parameters er zo uit moeten zien voordat op de knop OK wordt gedrukt.
In een eerdere versie zou, omdat beide velden van het type integer zijn, het resultaat worden afgebroken tot een integer. In dit geval zou de formule : 1.0 * "MALES" / "FEMALES" moeten zijn, om aan te geven dat we een getal floating point als resultaat willen hebben.
We kunnen voorwaardelijke functies gebruiken om een nieuw veld met tekststrings male of female te krijgen in plaats van de waarden voor de ratio, met behulp van de volgende formule:
CASE WHEN "MALES" > "FEMALES" THEN 'male' ELSE 'female' END
Het venster voor de parameters zou er zo uit moeten zien.
A python field calculator is available in the Advanced Python field calculator, which will not be detailed here.