Важно
Перевод - это работа сообщества : ссылка:Вы можете присоединиться. Эта страница в настоящее время переводится |прогресс перевода|.
17.11. Калькулятор для векторов
Примечание
В этом уроке мы добавим новые атрибуты в векторный слой, используя математические выражения Векторного калькулятора.
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.
Примечание
В более новых версиях интерфейс панели иструментов Обработки значительно изменился - он стал более понятным и легким в использовании.
Здесь приведены примеры того, как используется алгоритм.
Сначала давайте посчитайм плотность белого населения в каждом полигоне, который представляет перепись населения. В таблице атрибутов есть два поля, которые будут использованы для вычислений WHITE` и SHAPE_AREA. Нам нужно лишь разделить одно на другое и умножить на один миллион ( чтобы получить плотность населения на километр), для этого воспользуемся следующей формулой
( "WHITE" / "SHAPE_AREA" ) * 1000000
Диалоговое окно должно быть заполнено следующими параметрами.
после чего будет создано новое поле WHITE_DENS
Далее давайте посчитаем отношение мужчин и женщин , чтобы создать новое поле, которое будет отображать информацию о том доминирует ли численность мужского населения над женским.
Введите формулу
"MALES" / "FEMALES"
This time the parameters window should look like this before pressing the OK button.
В ранних версиях , если оба поля были типа integer, то результаты вычисления будут сокращены до типа integer. В данном случае формула должна выглядеть: 1.0 * "MALES" / "FEMALES" , чтобы указать, что результат должен содержать значения с плавающей десятичной запятой.
Мы можем воспользоваться фукциями с условиями, чтобы создать новое поле с текстовыми значениями male (мужчина) или female (женщина) вместо значения соотношения количества мужчин и женщин.
CASE WHEN "MALES" > "FEMALES" THEN 'male' ELSE 'female' END
Окно параметров должно выглядеть следующим образом.
A python field calculator is available in the Advanced Python field calculator, which will not be detailed here