GIS-Lab: Руководство пользователя gvSIG - Глава 7

- English

# GIS-LAB

Географические информационные системы и дистанционное зондирование

- Статьи
  - Вопросы-ответы
  - ГИС
  - Обработка ДЗЗ
  - Предложить тему
- Документация
  - Документация
  - Журналы
  - Законодательство
- Программы
- Проекты
- О GIS-Lab
  - О сайте
  - Участие
  - Новости
  - Кнопки
  - Диск

- Форум
- Блог

- Главная
- Документация
- gvSIG

# Руководство пользователя gvSIG

# 7. Калькулятор полей

<<< предыдущая глава | оглавление | следующая глава >>>

Калькулятор полей в gvSIG позволяет совершать различные типы вычислений в полях таблицы (например, подсчитывать площадь, периметр, конвертировать данные, представленные в градусах, в радианы и т.д.).

## 7.1 Запуск калькулятора полей gvSIG

Чтобы запустить калькулятор полей необходимо начать сессию редактирования.

1. Если вы хотите включить редактирование слоя, загруженного в View, вызовите контекстное меню и выберите “Start edition”.

2. Если вы хотите редактировать ранее загруженную таблицу, то выберите “Start edition” в меню “Table”.

3. Если вы решили использовать калькулятор полей для еще несуществующего слоя (например, New.shp), то чтобы использовать этот инструмент - выберите пункт “New layer” («Новый слой») в меню “View”, после этого слой автоматически перейдет в режим редактирования при добавлении его в окно вида.

Начав сессию редактирования, вызовите таблицу атрибутов, над которой будут производиться операции, и выберите одно из полей (щелкнув на его заголовке).

После этого в панели инструментов будет активирована кнопка:

Она даст возможность запускать калькулятор полей.

Примечание: Во время первого открытия калькулятора полей в новой сессии gvSIG появится окно предупреждения, которое сообщит о том, что калькулятор “Loading operators” («Загружает операторы»). Когда этот процесс прекратится, появится окно, которое даст возможность производить операции над различными полями.

## 7.2 Описание калькулятора полей

##

Калькулятор полей состоит из трех различных секций.

### 7.2.1 Информация

Секция Information предоставляет информацию о типе поля и командах, которые выбраны во вкладке «General».

“Operator" - показывает выбранные команды и выражения, которые могут быть исполнены.

Пример: “log” – команда, которую мы хотим использовать. Она позволяет подсчитывать логарифм в полях с числовым типом данных.

“log (Parameter)” - оператор показывает что, для получения логарифма для поля, содержащего данные о площади, слово “Parameter” должно быть заменено названием поля, логарифм записей которого мы хотим получить. То есть результирующим выражением будет: log([AREA]).

Parameter” - Возможны три различных типа полей, которые должны быть введены в секцию выражений в порядке осуществления подсчетов:

- Числовой тип данных: допускаются данные типа String , Double либо Integer.
- Символьные данные: String.
- Данные типа дата: Date.

Примечание: Если некоторое поле таблицы выбрано в секции “Field” окна калькулятора полей, окно информации покажет вам, какой из типов данных сейчас используется.

Примечание: Для того чтобы ввести нужные параметры в текстовое поле “Expression”, можно использовать двойной щелчок на имени поля из списка полей во вкладке General или типа в названии поля. В случае, если вводимая информация представлена в виде символьного выражения (String), его следует вводить в кавычках.

“Return”= Показывает какой из типов данных был получен в результате подсчетов.

- Numerical Value = Результат должен быть типа String , Double либо Integer.

  > Примечание: Если было выбрано поле типа String, то следует помнить, что этот тип использует символьные значения. Если вы просуммируете два символьных поля, то итоговым результатом будет новое символьное поле, а не результат операции сложения (например, 2+2=22, а не 4).

- Boolean Value - Логическое выражение возвращает результат в виде true или false. Если результатом вопроса было числовое поле, то, следовательно, «1/0», будет зависеть от того, какой из ответов был true или false.

  > Давайте рассмотрим пример:

  > Вы хотите узнать, является ли запись одного поля такого же типа, как такая же запись в другом поле. Команда, которая позволяет узнать это - символ «==».

  > Если мы напечатаем следующее предложение: [integer] == [double] (double и integer – названия двух полей, каждое из которых содержит числовой тип данных), результат зависимости от типа результирующего поля (Boolean или String) можно увидеть на рисунке ниже:

- Date Value: Результат должен быть в поле типа Date.

Примечание: При создании нового слоя, (View menu/New layer), появится мастер настройки, в котором вы можете указать “Type of field”, над которым будут производиться действия.

Если вы работаете с каким-либо слоем и хотите узнать тип одного из его полей, просто запустите сессию редактирования слоя, перейдите в меню “Table” и выберите “Manage fields”.

“Field manager” позволяет создавать поля в таблицах, переименовывать либо удалять, а также указывает тип поля.

### 7.2.2 Закладки General / Advanced

General: содержит следующую информацию:

- Fields: текстовый блок, который показывает какие из полей таблицы обрабатываются.
- Type: доступ к командам в зависимости от того, какой из переключателей активирован.
- Commands: все операторы, необходимые для вычислений.

Advanced: Загрузка выражений, сохраненных в файле.

После выбора файла, нажмите на кнопку “Evaluate”, чтобы проверить является ли выражение верным.

Примечание: Выражения должны быть написаны на языке программирования Python.

### 7.2.3 Секция “Expression”

Имя поля – результат вычислений выражений, которые были введены пользователем в текстовое поле, находящееся за текстом “Column”.

Примечание: Выражения выполняются для выделеных записей таблицы. Если ни одна запись не выделена, вычисления проводятся над всеми записями таблицы.

## 7.3 Вводный пример: “Калькулятор полей"

Рассмотрим простой пример, который показывает, как работает калькулятор полей.

Для вычисления площади объекта, состоящего из набора участков потребуется выполнить следующие действия:

1. Сначала откройте окно вида gvSIG и загрузите ортофотоплан, который будет использоваться, как основа для определения местоположения участков.

2. Далее выполните View/New layer/SHP для того, чтобы создать новый shp - файл.

3. Выберите полигональный тип слоя – “Polygon”, нажмите “Next” и затем создайте поле “Area” с типом данных “Double”, оставив значение по умолчанию равное 20.

4. Создайте четыре участка на ортофотоплане, используя инструмент “Insert polyline”, расположенный на панели инструментов. Рисунок ниже показывает, что для каждого участка была создана запись в таблице.

5.Выберите поле из таблицы и активируйте калькулятор полей.

Во вкладке “General” появится следующая информация:

“Field” - cодержит различные типы полей, которые находятся в рабочей таблице.

“Type” - тип выделенного поля. Доступ к различным командам зависит от типа поля.

“Commands” - команды, которые могут быть использованы для вычислений.

Вкладка “Information” показывает:

- Если во вкладке “General” была выбрана команда “area”, то в информационном окне будет показана основная информация о команде.

- Если была выбрана команда “area” во вкладке “General”, то информационное окно также возвращает сообщение о типе поля (помните, что, создавая площадной объект, будет создано поле типа Double, в котором будет подсчитана площадь).

Область “Expression” показывает название столбца, в котором производились вычисления, а текстовое поле показывает выражение, которое было использовано.

В этом случае выражение в секции expression достаточно простое (не требует параметров, о необходимости наличия параметров будет пояснено позже).

Для подсчета результата этого примера проверьте, чтобы была выбрана команда “area”, кликните “Ok”. После этого в таблице будет создано поле, которое автоматически заполнится значениями площадей каждого из нарисованных полигонов.

<<< предыдущая глава | оглавление | следующая глава >>>

Обсудить в форуме (Комментариев - 2)

Последнее обновление: March 23 2009

Наверх

### Вход

логин
пароль

- Регистрация
- Забыли пароль?

### Новое на сайте

Способы отображения данных с помощью OpenLayers

Экспорт данных HDF и HDF-EOS с помощью hdp

Разработка простого расширения для QGIS на Python

Организация и работа с репозиториями расширений QGIS

Автоматическое обновление репозитория расширений QGIS из SVN

Пакетное склеивание shape-файлов в MergeShapes/OGR

Feature Data Objects - комплекс решений для доступа к пространственным данным

- Все новости

### Рассылка новостей

### Новое на форуме

- Все темы форума

### Обратная связь

используйте эту форму для отправки комментария, вопроса или сообщения об ошибке для этой страницы

- О нас
- Статьи
- Программы
- Форум (все)
- Документация
- Контакты
- Участие
- English

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter

© GIS-Lab и авторы, 2002-2008. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна.