FieldPyculator - калькулятор полей с использованием выражений на Python для QGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску

Одной из наиболее частых задач при работе с векторными данными является обработка атрибутивных полей. Не менее часто приходится производить массовое изменение атрибутивных данных, как например заполнение поля значениями, вычисленными на основе других столбцов слоя. Возможность вычисления поля для всех записей в слое - обязательный признак современной ГИС общего назначения, и от удобства использования этого инструмента напрямую зависит скорость обработки атрибутивной информации.
Ядро QGIS имеет достаточно продвинутый калькулятор полей. Но его основной минус - невозможность использования функций, отличных от тех, что заложены разработчиками. На этот случай, в других ГИС обычно предусматривается возможность использования скриптовых языков, для создания необходимых функций обработки (например ArcGIS Desktop позволяет в калькуляторе полей активировать режим, при котором вычисление полей можно производить с использованием JavaScript или VB Script).
Для исправления этого недостатка QGIS было разработано расширение, позволяющее производить вычисление полей с помощью интерпретатора языка Python и использовать практически все доступные для него библиотеки. Идея впервые была предложена Raymond Nijssen. Но к сожалению, его плагин FieldEvaluator до сих пор находится на стадии глубокой разработки и позволяет вычислять лишь выражения на Python, не давая возможности использовать всю мощь этого языка. Данное расширение, по сути, позволяет пользователю создавать сколь угодно сложный алгоритм для вычисления значений, а так же имеет более удобный интерфейс.

Получение и установка

Расширение доступно из репозитория ГИС-Лаб.
FieldPyculator разработан для QGIS версии 1.7.0 или старше и не имеет зависимостей.
Исходный код модуля можно получить выполнив команду:

git clone git://github.com/yellow-sky/FieldPyculator.git


Работа с расширением

После подключения и запуска расширения с помощью кнопки FieldPyculatorIcon.png или из меню Plugins->Field puculator->Field pyculator появится главное окно.

Примеры работы

Заполнения поля GUID'ами

Обработка текстовых полей

Заполнение поля только для определенных строк

Замещение JOIN'a с последующем присвоением значений


Контакты

Баг трекер на GitHub