<<< предыдущая глава | оглавление | следующая глава >>>
Калькулятор полей в gvSIG позволяет совершать различные типы вычислений в полях таблицы (например, подсчитывать площадь, периметр, конвертировать данные, представленные в градусах, в радианы и т.д.).
Чтобы запустить калькулятор полей необходимо начать сессию редактирования.
1. Если вы хотите включить редактирование слоя, загруженного в View, вызовите контекстное меню и выберите “Start edition”.
2. Если вы хотите редактировать ранее загруженную таблицу, то выберите “Start edition” в меню “Table”.
3. Если вы решили использовать калькулятор полей для еще несуществующего слоя (например, New.shp), то чтобы использовать этот инструмент - выберите пункт “New layer” («Новый слой») в меню “View”, после этого слой автоматически перейдет в режим редактирования при добавлении его в окно вида.
Начав сессию редактирования, вызовите таблицу атрибутов, над которой будут производиться операции, и выберите одно из полей (щелкнув на его заголовке).
После этого в панели инструментов будет активирована кнопка:
Она даст возможность запускать калькулятор полей.
Примечание: Во время первого открытия калькулятора полей в новой сессии gvSIG появится окно предупреждения, которое сообщит о том, что калькулятор “Loading operators” («Загружает операторы»). Когда этот процесс прекратится, появится окно, которое даст возможность производить операции над различными полями.
Калькулятор полей состоит из трех различных секций.
Секция Information предоставляет информацию о типе поля и командах, которые выбраны во вкладке «General».
“Operator" - показывает выбранные команды и выражения, которые могут быть исполнены.
Пример: “log” – команда, которую мы хотим использовать. Она позволяет подсчитывать логарифм в полях с числовым типом данных.
“log (Parameter)” - оператор показывает что, для получения логарифма для поля, содержащего данные о площади, слово “Parameter” должно быть заменено названием поля, логарифм записей которого мы хотим получить. То есть результирующим выражением будет: log([AREA]).
Parameter” - Возможны три различных типа полей, которые должны быть введены в секцию выражений в порядке осуществления подсчетов:
Примечание: Если некоторое поле таблицы выбрано в секции “Field” окна калькулятора полей, окно информации покажет вам, какой из типов данных сейчас используется.
Примечание: Для того чтобы ввести нужные параметры в текстовое поле “Expression”, можно использовать двойной щелчок на имени поля из списка полей во вкладке General или типа в названии поля. В случае, если вводимая информация представлена в виде символьного выражения (String), его следует вводить в кавычках.
“Return”= Показывает какой из типов данных был получен в результате подсчетов.
Примечание: Если было выбрано поле типа String, то следует помнить, что этот тип использует символьные значения. Если вы просуммируете два символьных поля, то итоговым результатом будет новое символьное поле, а не результат операции сложения (например, 2+2=22, а не 4).
Давайте рассмотрим пример:
Вы хотите узнать, является ли запись одного поля такого же типа, как такая же запись в другом поле. Команда, которая позволяет узнать это - символ «==».
Если мы напечатаем следующее предложение: [integer] == [double] (double и integer – названия двух полей, каждое из которых содержит числовой тип данных), результат зависимости от типа результирующего поля (Boolean или String) можно увидеть на рисунке ниже:
Date Value: Результат должен быть в поле типа Date.
Примечание: При создании нового слоя, (View menu/New layer), появится мастер настройки, в котором вы можете указать “Type of field”, над которым будут производиться действия.
Если вы работаете с каким-либо слоем и хотите узнать тип одного из его полей, просто запустите сессию редактирования слоя, перейдите в меню “Table” и выберите “Manage fields”.
“Field manager” позволяет создавать поля в таблицах, переименовывать либо удалять, а также указывает тип поля.
General: содержит следующую информацию:
Advanced: Загрузка выражений, сохраненных в файле.
После выбора файла, нажмите на кнопку “Evaluate”, чтобы проверить является ли выражение верным.
Примечание: Выражения должны быть написаны на языке программирования Python.
Имя поля – результат вычислений выражений, которые были введены пользователем в текстовое поле, находящееся за текстом “Column”.
Примечание: Выражения выполняются для выделеных записей таблицы. Если ни одна запись не выделена, вычисления проводятся над всеми записями таблицы.
Рассмотрим простой пример, который показывает, как работает калькулятор полей.
Для вычисления площади объекта, состоящего из набора участков потребуется выполнить следующие действия:
1. Сначала откройте окно вида gvSIG и загрузите ортофотоплан, который будет использоваться, как основа для определения местоположения участков.
2. Далее выполните View/New layer/SHP для того, чтобы создать новый shp - файл.
3. Выберите полигональный тип слоя – “Polygon”, нажмите “Next” и затем создайте поле “Area” с типом данных “Double”, оставив значение по умолчанию равное 20.
4. Создайте четыре участка на ортофотоплане, используя инструмент “Insert polyline”, расположенный на панели инструментов. Рисунок ниже показывает, что для каждого участка была создана запись в таблице.
5.Выберите поле из таблицы и активируйте калькулятор полей.
Во вкладке “General” появится следующая информация:
“Field” - cодержит различные типы полей, которые находятся в рабочей таблице.
“Type” - тип выделенного поля. Доступ к различным командам зависит от типа поля.
“Commands” - команды, которые могут быть использованы для вычислений.
Вкладка “Information” показывает:
Область “Expression” показывает название столбца, в котором производились вычисления, а текстовое поле показывает выражение, которое было использовано.
В этом случае выражение в секции expression достаточно простое (не требует параметров, о необходимости наличия параметров будет пояснено позже).
Для подсчета результата этого примера проверьте, чтобы была выбрана команда “area”, кликните “Ok”. После этого в таблице будет создано поле, которое автоматически заполнится значениями площадей каждого из нарисованных полигонов.
<<< предыдущая глава | оглавление | следующая глава >>>
Обсудить в форуме Комментариев 11
Последнее обновление: March 23 2009
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).