Новые возможности геообработки в ArcGIS 9

Ольга Медведева, DATA+

Геообработка — это анализ географической информации, одна из основных функций географической информационной системы (ГИС). Геообработка позволяет находить и анализировать информацию, необходимую для решения пространственных задач, а также получать новую информацию, выполняя операции над существующими данными. Любое изменение или извлечение информации, которое вы выполняете при работе с вашими данными, подразумевает решение задач геообработки.

Какие задачи можно решать с помощью геообработки

Геообработка может помочь при решении широкого диапазона задач: от подготовки наборов данных (создание поднаборов, конвертация наборов данных в другой формат), до выполнения анализа с целью поиска ответов на многие вопросы, касающиеся организации и планирования в различных сферах жизнедеятельности человека. Например, имеется совокупность наборов данных по России, и необходимо выполнить некий анализ в Центральном административном округе (ЦАО). В вашем распоряжении есть данные только по отдельным областям, но в них содержится информация о том, к какому округу относится каждая область. С помощью инструмента Выборка вы можете выбрать области, относящиеся к ЦАО. Затем можно выполнить операцию Вырезание для остальных наборов данных по экстенту этого нового набора данных. Результатом будет новая совокупность наборов данных для ЦАО.

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

Концепция геообработки основывается на принципах преобразования данных. Типичная операция геообработки использует какой-либо входной набор данных, выполняет операцию над этим набором и выдает результат в виде выходного набора данных. Геообработка данных в рамках ArcGIS позволяет выполнять операции с использованием множества типов данных и целого ряда различных методов. Например, можно конвертировать географические данные в другой формат, или последовательно выполнять нескольких операций, таких как вырезание, выбор и последующее пересечение наборов данных.

Новое в ArcGIS 9

ArcGIS 9 предлагает совершенно новые возможности использования геообработки. Пользователь может выбирать наиболее удобный для себя способ выполнения операций геообработки: диалоговые окна инструментов, командную строку, скрипты или визуальные графические модели. В ArcGIS 9 содержится полный набор инструментов геообработки, работающий со всеми поддерживаемыми ArcGIS типами данных, включая элементы баз геоданных. Пользователям доступны разнообразные инструменты: от операций наложения, буферизации и управления данными до расширенных возможностей обработки растров, построения и проверки топологии, построения схем. Ранее для решения таких задач использовались ArcInfo Workstation и ARC Macro Language (AML).

В ArcGIS 8 было доступно небольшое количество операций геообработки, работающих только с классами пространственных объектов базы геоданных, а за остальными приходилось обращаться к среде ArcInfo Workstation. При этом обязательным условием была конвертация данных в покрытия. В ArcGIS 9, полностью ориентированном на работу в среде ArcGIS Desktop, для операций геообработки можно использовать и другие типы данных: классы пространственных объектов базы геоданных, слои карты, покрытия, шейп-файлы, гриды, TIN и т.д.

Хотя количество доступных инструментов для пользователей, имеющих лицензии ArcView, ArcEditor или ArcInfo различается, ArcGIS 9 предоставляет общую рабочую область геообработки для каждого уровня. На уровне ArcView поддерживается базовый набор инструментов загрузки и преобразования данных (около 40 основных инструментов анализа). На уровне ArcEditor к этому набору добавляются инструменты создания и загрузки баз геоданных. На уровне ArcInfo поддерживается около 200 инструментов, включая всю функциональность геообработки, доступную в ArcInfo Workstation. С помощью этих инструментов могут быть выполнены операции конвертации данных, генерализации, агрегирования, построения буферных зон, статистические расчеты, различные виды операций наложения и многое другое. На уровне ArcInfo также предоставляется возможность формирования и анализа рабочих процессов. Дополнительные инструменты геообработки также доступны при работе с модулями. Например, в ArcGIS Spatial Analyst и ArcGIS 3D Analyst содержится более 200 инструментов обработки растров.

Примеры инструментов геообработки в ArcGIS 9

Процесс Инструменты
Наложение Объединение, Пересечение, Вырезание
Близость Буферизация, Ближайший объект, Расстояние между точками
Управление данными Создать класс пространственных объектов, Добавить домен, Удалить поле
Анализ поверхности Экспозиция, Уклон, Отмывка рельефа
Конвертация данных Конвертация шейп-файлов, покрытий, цифровых моделей рельефа и чертежей САПР в базу геоданных

Интеграция ArcToolbox

Существенное изменение в 9-й версии касается ArcToolbox. Теперь это не отдельное приложение, а прикрепляемое окно в любом базовом приложении ArcGIS (ArcMap, ArcCatalog, ArcScene или ArcGlobe), то есть вы можете использовать одни и те же инструменты геообработки во всех приложениях. Эти инструменты могут быть пользовательскими, например модели и скрипты, или системными из различных наборов инструментов. Наборы инструментов можно добавлять или удалять, пользователи могут создавать собственные наборы инструментов для быстрого доступа к часто используемым инструментам, моделям, скриптам или наборам инструментов.

Наборы инструментов можно создавать внутри папки или базы геоданных. Можно копировать и переносить их из одного места на диске в другое, или изменять, добавляя, удаляя или переименовывая инструменты в наборах инструментов.

Также можно создавать или редактировать документацию к наборам инструментов, и добавлять ее в онлайновую справку ArcGIS Desktop. Получить доступ к наборам инструментов можно из окна ArcToolbox или дерева ArcCatalog (рис. 1).


Рис. 1. Прикрепляемое окно ArcToolbox открывается в любом приложении ArcGIS. Обратиться к инструментам ArcToolbox можно и через дерево ArcCatalog.

Обозначения в ArcToolbox

Набор инструментов: контейнер, содержащий какой-либо набор инструментов.
Собственно инструмент: запускает определенную функцию геообработки.
Скрипт: может быть написан на любом COM-компилируемом языке программирования, например Python, JScript или VBScript.
Модель: Вы можете видеть и редактировать модель в окне Model Builder.

Способы выполнения операций геообработки

Рабочая область геообработки и наборы инструментов в ArcGIS 9 могут использоваться различными способами. Одни и те же операции, команды или инструменты можно запускать, используя диалоговое окно, командную строку, интерактивно через визуальную модель, а также запуская скрипты, создаваемые под конкретные задачи. ArcObjects предоставляет дополнительные возможности для выполнения анализа в пользовательских приложениях, написанных на стандартном языке программирования, например С++. Каждый метод геообработки поддерживает все форматы данных ArcGIS.

Диалоговое окно

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


Рис. 2. В диалоговом окне устанавливаются параметры, необходимые для запуска инструмента. В правой части окна располагается контекстная справка. Кнопка ОК запускает инструмент геообработки.

Построение модели

Для решения более сложных задач геообработки, которые предполагают использование нескольких инструментов, можно создать модель путем связывания процессов в графической среде (окне ModelBuilder). Это позволяет создавать диаграмму из шагов, необходимых для решения данной задачи. На диаграмме, которую строит пользователь, данные и инструменты соединяются в последовательность, запускаемую по щелчку мыши. Такая диаграмма и представляет собой модель рабочего процесса (рис. 3).


Рис. 3. В окне Model Builder можно построить модель рабочего процесса. В модели может быть несколько процессов, и они выстроены в цепочку таким образом, что выходные данные одного процесса становятся входными для другого процесса. Щелчок на кнопке Запуск запускает рабочий процесс.

Как только пользователь дает соответствующую команду на создание новой модели внутри набора инструментов или группы инструментов, открывается окно ModelBuilder. В этом окне пользователь и начинает построение своей модели.

На модели диаграммы компоненты, называемые элементами, ссылаются на входные данные, затем на инструмент, который обрабатывает входные данные, и на результирующие выходные данные. Элементы объединены в процессы. Стрелки соединителей указывают на последовательность обработки. В созданной вами модели может быть несколько процессов, и они могут быть выстроены в цепочку таким образом, что выходные данные одного процесса становятся входными для другого процесса. Например, можно построить модель, использующую в качестве входных данных адреса пользователей, хранящиеся в базе данных предприятия, геокодировать их в ArcGIS и записать в выходной класс пространственных объектов базы геоданных.

При построении модели можно с помощью мыши перетаскивать в нее инструменты из наборов инструментов окна ArcToolbox или дерева ArcCatalog и данные из дерева ArcCatalog или таблиц содержания любых других приложений ArcGIS, например ArcMap. Или же, можно использовать кнопку «Добавить данные и инструменты» в окне ModelBuilder, чтобы добавить те из них, которые относятся к соответствующим элементам на схеме модели. После ввода необходимых значений параметров для каждого инструмента и соединения процессов модель будет готова к запуску.

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

Запуск модели

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

Модель запускается щелчком на кнопке «Запустить» в окне ModelBuilder или выбором в меню «Модель» опции «Запустить». Переменные в модели могут задаваться как параметры модели, а значения для этих параметров могут быть определены в диалоговом окне модели.

Преимущества использования моделей

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

Внешние приложения также могут быть включены в модель с помощью скриптов. Документ, описывающий процесс в модели, можно легко экспортировать в скрипт для редакции или совместного использования. Кроме того, этот документ можно экспортировать в систему онлайновой справки ArcGIS. ModelBuilder, доступный в ArcView, ArcEditor, ArcInfo и в некоторых дополнительных модулях, можно использовать с любыми типами данных и инструментами.

Использование скриптов

Часто бывает необходимо повторить проделанную геообработку данных. Поскольку в геообработку, как правило, вовлечено множество наборов данных, каждый из которых содержит при этом множество записей, задачи геообработки полезно автоматизировать. Любой COM-компилируемый язык может быть использован для написания скриптов, которые задействуют инструменты геообработки, предоставляя эффективный способ автоматизации задач геообработки. В ArcGIS 9 можно использовать для написания скриптов универсальный, легкий в использовании язык программирования Python. Вы можете построить модель в окне ModelBuilder и экспортировать ее в скрипт, который затем будет запущен или изменен. Можно запустить скрипт в качестве самостоятельной операции, либо добавить его в набор инструментов и запустить его через ArcToolbox.

Почему иногда удобно использовать скрипты

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

Использование командной строки

Независимо от типа установленного продукта ArcGIS (ArcInfo, ArcEditor или ArcView), из любого базового приложения (например, ArcMap, ArcCatalog или ArcScene) можно, по аналогии с ArcInfo Workstation, обратиться к командной строке. Вы вводите название инструмента, определяете соответствующие значения параметров и затем нажимаете «Enter», чтобы запустить процесс (рис. 4). Командная строка служит альтернативой использованию диалогового окна для запуска инструмента. Запуск инструмента из командной строки может оказаться более быстрым, особенно если пользователь знаком с инструментом и значениями его параметров. Инструменты могут быть запущены из командной строки при условии, что набор инструментов, содержащий нужный инструмент, добавлен в окно ArcToolbox. Список возможных инструментов предлагается в выпадающем меню, что облегчает использование командной строки. Нажав клавишу «пробел», можно вывести на экран вспомогательную строку с описанием формата команды и требуемых параметров. Это помогает при вводе значений для параметров инструмента.


Рис. 4. Для запуска инструмента можно воспользоваться командной строкой. Пользователь вводит название инструмента, входные и выходные параметры, нажатие клавиши Enter запускает инструмент.

Пользователи, привыкшие работать в среде ArcInfo Workstation, скорей всего с удовольствием будут пользоваться командной строкой.

О переменных

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

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

Использование окна Геообработки

Окно «Геообработка» содержит раздел сообщений и командную строку. Когда инструменты приводятся в исполнение (из диалогового окна инструмента, командной строки, окна ModelBuilder или скрипта), в окне появляются сообщения о процессе выполнения. В окне геообработки можно:

  • Получить список доступных инструментов и параметров среды.
  • Просмотреть способ применения для инструментов, чтобы увидеть значения параметров, которые должны быть заданы.
  • Запустить инструменты путем ввода их названий и значений параметров.
  • Задать значения для параметров среды.
  • Создать переменные для значений параметров, которые могут сохраняться и использоваться повторно.
  • Просмотреть выходные сообщения для заданных параметров среды или запущенных инструментов.
  • Открыть диалоговое окно инструмента, запущенного ранее, отредактировать значения параметров, затем выполнить повторный запуск инструмента.

Совместное использование операций геообработки

Последовательность выполняемых операций геообработки можно распространять вместе с данными. При этом необходимо пересылать все источники информации, имеющие отношение к данной работе. Набор инструментов может содержать пользовательские инструменты, которым требуются дополнительные файлы, лежащие в другом месте на диске компьютера. Скрипты, добавляемые в набор инструментов, могут храниться вне набора инструментов, а системные инструменты, добавляемые в набор инструментов, могут ссылаться на динамически подключаемые библиотеки (DLLs), не зарегистрированные на рабочем столе. Модели могут содержать системные инструменты и скрипты, следовательно модель может не работать из-за того, что одному или нескольким инструментам не хватает компонента. Если набор инструментов содержит скрипт или системный инструмент, то скрипт, DLL или оба компонента должны пересылаться вместе с набором инструментов. Получатель затем может зарегистрировать любые DLL и обновить свойства инструмента, чтобы гарантировать, что связи (пути доступа) между инструментом и его зависимыми компонентами правильны.

Определение относительных путей доступа

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

Параметры среды

Параметры среды — это значения, которые могут использоваться инструментами. Они могут быть применимы к нескольким инструментам. Например, можно задать текущую рабочую область, откуда берутся входные данные и сохраняются выходные данные, или область простирания (экстент), которая должна быть применена к результатам.

При запуске инструментов геообработки, параметры среды по умолчанию, заданные для приложения, применяются ко всем подходящим инструментам. Эти параметры могут быть изменены в диалоговом окне «Параметры среды».

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

Можно менять параметры среды в диалоговом окне инструмента только для конкретного случая запуска инструмента. Будут перезаписаны параметры среды, заданные для приложения. При этом, если эти параметры определены для пользовательского инструмента (модели или скрипта), или для процесса внутри модели, то они всегда будут иметь преимущество над параметрами на уровне приложения (независимо от того, заданы ли они в диалоговом окне «Параметры среды» или через диалоговое окно инструмента во время выполнения).

Параметры среды для модели устанавливаются в диалоговом окне «Свойства модели». Обратиться к нему можно через меню «Модель» в окне ModelBuilder, либо через опцию Свойства, доступную при нажатии правой клавишей мыши на наборе инструментов модели. Внутри скрипта параметры среды будут определены и применены ко всем инструментам, запускаемым в скрипте. Процессы в модели или скрипте могут иметь собственные параметры среды, которые имеют преимущество над параметрами, определенными для всей модели или скрипта, как и над параметрами, заданными для приложения.

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