Форум Блог
pix

Использование калькулятора значений при работе с атрибутивной информацией в ArcMap

Использование калькулятора значений при работе с атрибутивной информацией в ArcMap.

Calculate Values (калькулятор значений) мощное средство для работы с атрибутивной информации в ArcMap. Данный инструмент позволяет быстро вводитьновые значения, в том числе на основе данных содержащихся в атрибутивной таблице, с помощью него можно значительно автоматизировать часть работы по вводу данных.

Для того чтобы воспользоваться калькулятором значений, необходимо добавить шейп фаил, геобазу данных, или любой другой поддерживаемый ArcMap векторный фаил в mxd-документ, открыть его таблицу атрибутов, далее выделев какой-либо из столбцов (если вы ничего не меняли в настройках он подсветится светло-голубым цветом) нажать правую кнопку мыши и в появишемся меню выбрать Calculate Value.

Если Вы все сделали правильно, появится следующее окно:

  • Fields - cписок столбцов содержащихся в таблице;
  • Type - тип вводимых данных
  • Functions - список функций доступных для выбраного типа данных;
  • Операторы (умножить, разделить и т.д.)
  • Поле ввода выражения или значения, флажок Advanced - включение режима вводе VBA Script кода;.
  • Save / Load - Сохранить/загрузить составленное выражение.

Примеры

Рассмотрим три примера для простого режима, режима Advanced и для работы с текстовыми строками.

Необходимо расчитать плотность населения некоторого региона. В атрибутивной таблице имеется два поля. Количество населения (colpop) и Площадь (sqa). Для нахождения плотности необходимо Количество населения проживающего в регионе разделить на площадь данного региона. Мы создаем новое поле Плотность населения (density) и в калькуляторе значений пишем:

[colpop] / [sqa]

Расчитанное значение будет записано в поле Плотность населения (density).

Предположим, имеется некоторая атрибутивная таблица с одним полем (например, количество постоянного населения какого-либо региона - colpop) состоящая из 10 000 записей. Вам необходимо проранжировать данные значения и в зависимости от ранга ввести некий новый код в соответствующее поле. Разумеется, вручную переработать такой объем информации невозможно. Но, применив VBA script можно автоматизировать данный процесс.

В режиме VBA (переключатель Advanced установлен) нужно ввести следующий текст в поле Pre-logic VBA Script Code

if [colpop] > 200 then df= "BIG"

if [colpop] < 200 then df= "LOW"

В следующем текстовом поле нужно ввести df. В результате все должно выглядеть так:

В данном случае, результат (присвоенный код) сохраняется в поле, которое также называется df (это поле должно быть текстового типа, так как вводимые значения - "BIG", "SMALL" - представляют из себя текстовые строки).

Этот код выполняет два простых условия:

Если значение колонки [colpop] больше 40, то переменная df равна "BIG", а если значение меньше 40, то переменная df равна "LOW". Результат, которых получает переменная df записывается в одноименное поле (имя поля может быть и другим).

Очень удобно использовать Calculate Values как расширенную альтернативу инструмента Найти и заменить (Find & Replace).

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

Replace([field] , "text1", "text2")

Пример: Значение "ABC" при операции Replace([field] , "BC", "BBBBBC") будет заменено на "ABBBBBC".

Если у Вас есть замечания, предложения или иные пути решения обсуждаемых проблем - будем рады добавить недостающую информацию к этой статье. Вы можете отправить свои комментарии используя форму или адрес электронной почты приведенные ниже.

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

См. также:

Список функций доступных в калькуляторе значений (Calculate) >>>

Последнее обновление: August 01 2007
(Наверх)

E-mail: 3 цифры: Введите 3 цифры с картинки в поле
Комментарий, вопрос, ошибка: (?)

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

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

Новости сайта:(?)

Компания Центркомп: эффективная компьютерная помощь; сайдинг; недвижимости черногория; полис осаго, расчет осаго, авто каско на reso.ru