Использование калькулятора значений при работе с атрибутивной информацией в ArcMap
по адресу http://gis-lab.info/qa/calculate.html
Использование калькулятора значений при работе с атрибутивной информацией в ArcMap
Calculate Values (калькулятор значений) мощное средство для работы с атрибутивной информации в ArcMap. Данный инструмент позволяет быстро вводить новые значения, в том числе на основе данных содержащихся в атрибутивной таблице, с помощью него можно значительно автоматизировать часть работы по вводу данных.
Для того чтобы воспользоваться калькулятором значений, необходимо добавить shape-файл, геобазу данных, или любой другой поддерживаемый ArcMap векторный файл в mxd-документ, открыть его таблицу атрибутов, далее выделив какой-либо из столбцов (если вы ничего не меняли в настройках он подсветится светло-голубым цветом) нажать правую кнопку мыши и в появившемся меню выбрать Calculate Value.
Если Вы все сделали правильно, появится следующее окно, где:
- Fields - cписок столбцов содержащихся в таблице;
- Type - тип вводимых данных
- Functions - список функций доступных для выбраного типа данных;
- Операторы (умножить, разделить и т.д.)
- Поле ввода выражения или значения, флажок Advanced - включение режима вводе VBA Script кода;.
- Save / Load - Сохранить/загрузить составленное выражение.
Примеры
Рассмотрим три примера для простого режима, режима Advanced и для работы с текстовыми строками.
Пример 1
Необходимо расчитать плотность населения некоторого региона. В атрибутивной таблице имеется два поля. Количество населения ('colpop) и Площадь ('sqa). Для нахождения плотности необходимо Количество населения проживающего в регионе разделить на площадь данного региона. Мы создаем новое поле Плотность населения (density) и в калькуляторе значений пишем:
[colpop] / [sqa]
Рассчитанное значение будет записано в поле Плотность населения (density).
Пример 2
Предположим, имеется некоторая атрибутивная таблица с одним полем (например, количество постоянного населения какого-либо региона - colpop') состоящая из 10 000 записей. Вам необходимо проранжировать данные значения и в зависимости от ранга ввести некий новый код в соответствующее поле. Разумеется, вручную переработать такой объем информации невозможно. Но, применив VBA ' script можно автоматизировать данный процесс.
В режиме VBA (переключатель Advanced установлен) нужно ввести следующий текст в поле Pre-logic VBA Script Code
В следующем текстовом поле нужно ввести df. В результате все должно выглядеть так:
В данном случае, результат (присвоенный код) сохраняется в поле, которое также называется df (это поле должно быть текстового типа, так как вводимые значения - "BIG", "SMALL" - представляют из себя текстовые строки).
Этот код выполняет два простых условия:
Если значение колонки ['colpop] больше 40, то переменная df равна "'BIG", а если значение меньше 40, то переменная df равна "LOW". Результат, которых получает переменная df записывается в одноименное поле (имя поля может быть и другим).
Пример 3
Очень удобно использовать Calculate ' Values как расширенную альтернативу инструмента Найти и заменить (Find & ' Replace).
Данная операция позволяет быстро найти определенную подстроку и заменить ее на другую, результат операции может быть записан в то же поле где хранятся исходные значения и в новое поле.
Пример: Значение "ABC" при операции Replace([field] , "BC", "BBBBBC") будет заменено на "ABBBBBC".
Если у Вас есть замечания, предложения или иные пути решения обсуждаемых проблем - будем рады добавить недостающую информацию к этой статье. Вы можете отправить свои комментарии используя форму или адрес электронной почты приведенные ниже.