Среда геообработки

Среда геообработки представляет собой набор окон и диалоговых окон, которые вы используете для управления и работы инструментов. Этот документ делает акцент на описании основных общих принципов и понятий, на которых основана среда, а не на механизмах ее использования.

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

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

Для того, чтобы создать новое программное обеспечение любого вида, вам необходимо два важнейших элемента:

Язык геообработки представляет собой коллекцию инструментов. Структурой геообработки является небольшой набор встроенных пользовательских интерфейсов для организации и управления существующими инструментами и для создания новых инструментов. Основные компоненты структуры представлены в разделе Краткий обзор геообработки и состоят из следующего:

Модели геообработки и ModelBuilder

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

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

Наиболее важно отметить при этом, что модели являются инструментами. Они ведут себя так же, как и другие инструменты геообработки. Вы можете управлять ими с использованием их диалоговых окон или написанием скриптов в окне Python. Так как модели являются инструментами, вы можете встроить модели в другие модели. Фактически, некоторые системные инструменты, предоставляемые вместе с ArcGIS, являются моделями.

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

Модели могут быть крайне простыми и тем не менее эффективными. Вы можете создать модель, которая содержит простой инструмент, но встраивает некоторые из его параметров. Например, инструмент Буфер использует шесть параметров, но для ваших текущих задач, как вы знаете, три из этих параметров всегда являются одинаковыми. Вместо того, чтобы вводить эти параметры каждый раз, когда вы используете инструмент Буфер (Buffer), вы можете быстро создать модель и набор этих трех параметров, сохранить их в инструменте МойБуфер (MyBuffer), и использовать это диалоговое окно инструмента вместо диалогового окна Буфер (Buffer). Вы можете использовать МойБуфер (MyBuffer) только несколько раз, перед тем как удалить его, но в этом нет ничего страшного, так как создать эту модель заново совсем нетрудно, а использование ее очень продуктивно.

Написание скриптов

Вы можете также использовать язык написания скриптов для создания нового полезного программного обеспечения. Программа, которая использует язык написания скриптов, называется скрипт. В мире разработки программного обеспечения, языки могут подразделяться на две основные категории: системные языки и языки написания скриптов. Системными языками являются C++ и .NET, которые используются для написания приложений с нуля, с помощью примитивов низкого уровня и исходных ресурсов компьютера. Языки написания скриптов, такие как Python и Perl, используются для объединения приложений вместе, с помощью встроенных в компьютер функций высокого уровня, маскирующих ошибки системного языка программирования, с которым вынужден был работать программист. По сравнению с системным языком программирования, языки написания скриптов являются простыми в освоении и использовании, основным при этом является понимание базовых принципов программирования.

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

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

Существует несколько причин, по которым вы хотите использовать скрипты:

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

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

Геообработка является языком, состоящим из операторов или инструментов, которые работают с данными в ArcGIS (таблицы, классы пространственных объектов, растры, TIN-данные, и т.д.), и выполняют задачи, которые необходимы для управления и анализа географической информации в широком спектре областей применения.

Вы можете быстро и просто создать новое программное обеспечение в виде моделей или скриптов. Эти новые инструменты выполняют задачи, которые не являются стандартной частью пакета ArcGIS. Например, нигде в ArcGIS нет меню, кнопок или объектов программирования, которые выполняют простые модели Проект (Project) или Вырезать (Clip), описанные в разделе Что такое геообработка.

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

Инструменты могут использоваться совместно. Набор инструментов со всеми его инструментами и группами инструментов или содержится в файле на диске с расширением .tbx или в базе геоданных. Каждый, имеющий доступ к файлу или базе геоданных, может запустить эти инструменты.

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

Геообработка и библиотека ArcObjects

ArcObjects – это обширная библиотека объектов программирования низкого уровня, которая поставляется вместе с ArcGIS Software Development Kit (SDK). Разработчики используют ArcObjects для создания новых приложений или расширений существующей функциональности приложений ArcGIS. (Запомните, большинство системных инструментов и структура геообработки были созданы с помощью ArcObjects). Подобно геообработке, ArcObjects SDK можно использовать для создания нового программного обеспечения.

ArcObjects SDK и геообработка взаимно дополняют друг друга, ни тот ни другой не выходят из употребления. ArcObjects SDK в основном используется как модуль расширения ArcGIS с новыми возможностями, причем геообработка разработана для автоматизации выполнения задач. Вы используете ArcObjects для выполнения операций подобных добавлению нового интерфейса пользователя, добавлению поведения к классам пространственных объектов или создания специальных картографических рендереров. Геообработка используется для создания программного обеспечения (моделей и скриптов), которые автоматизируют выполнение задач в пределах управляемой структуры.

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

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

5/10/2014