Автоматизирование урегулирования конфликтов и процессов генерализации с процессами геообработки

Автоматизирование урегулирования конфликтов и процессов генерализации с процессами геообработки

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

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

Включение задач генерализации в картографические рабочие процессы

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

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

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

Использование представлений в процессах генерализации

Представления являются опцией классов объектов базы геоданных, которая может поддерживать альтернативный способ отображения геометрии объектов. Классы пространственных объектов могут иметь несколько представлений, связанных с ними, чем поддерживается многократное отображение одних и тех же данных. Представления имеют важное значение для процесса генерализации, но необходимо понимать, что каждый класс пространственных объектов создается для определенного масштаба (или небольшого диапазона масштабов), независимо от количества связанных с ним представлений. Поэтому существует заблуждение, что, поскольку можно использовать представления для нескольких отображений набора объектов, то представления можно также использовать для отображения одних и тех же объектов в различных масштабах. Небольшие изменения масштаба могут проходить малозаметно и сопровождаться внесением совсем небольших корректировок в представление некоторых объектов или неотображением некоторых из них. Однако сохраняются отношения типа один-к-одному, т.е. несмотря на то что каждый объект может иметь несколько способов отображения, объекты не могут быть объединены в новые объекты. Например, набор отдельных строений не может быть показан, как застроенная территория, только с использованием показа представлений. Для полной, настоящей поддержки картографирования в нескольких масштабах объекты должны быть надлежащим образом обработаны, чтобы обеспечить их необходимую плотность и детализацию и предотвратить конфликты отображения объектов с помощью символов. Инструменты, входящие в группы инструментов Генерализация (Generalization) и Конфликты графики (Graphic Conflicts) могут помочь выполнить эту задачу.

  • Сохранять изменения геометрии как замещающие представления (Store change to geometry as representation override) . Это установка по умолчанию. Это означает, что изменения в геометрии объектов будут храниться в отдельном поле BLOB атрибутивной таблицы класс пространственных объектов, и являются доступными только для текущего представления. Основная геометрия объекта, хранящаяся в поле Shape, остается без изменений.
  • Изменять геометрию соответствующих объектов (Change the geometry of the supporting feature) . С этой опцией изменения геометрии будут отражаться в поле Shape класса пространственных объектов, что отразится на всех представлениях, связанных с классом пространственных объектов.

Некоторые инструменты генерализации изменяют входные слои; новые наборы данных в этом случае не создаются. Это называется входные/выходные расчетные данные. Настоятельно рекомендуется использовать слои с указанием представлений с опцией Сохранять изменения геометрии как замещающие представления (Store change to geometry as representation override) , особенно при работе с инструментами устранения конфликтов графики ( Решить конфликты дорог (Resolve Road Conflicts) , Распространить сдвиг (Propagate Displacement) и Решить конфликты зданий (Resolve Building Conflicts) ), поскольку эти инструменты изменяют геометрию объектов входных слоев. Эта опция позволяет изменения объектов, которые осуществляются подобными инструментами, сохранять в качестве замещений в представлениях, исходная геометрия при этом остается без изменений. Преимуществом такой работы является то, что исходная геометрия объектов легко доступна (она хранится в поле Shape) для визуальной оценки, и к ней можно вернуться в том случае, если результаты обработки вас не устроили.

Внимание:

Если вы вводите слои, указывая на представления с опцией Изменять геометрию соответствующих объектов (Change the geometry of the supporting feature) , в инструментах, устраняющих конфликты графики, измененная этими инструментами геометрия объектов будет записана поверх существующей в поле Shape. Аналогично, если вы используете слой, не ссылающийся на представление (даже в случае если таковые представлены во входном классе объектов), исходная геометрия будет потеряна. Если вы работаете именно в таких режимах, настоятельно рекомендуем сделать копии входных классов объектов перед тем, как начинать обработку.

Представления также целесообразно использовать при генерализации данных большого диапазона масштабов. В идеале, возможным является осуществление с помощью генерализации значительных уменьшений масштаба, однако на практике, как правило, для обработки все-таки необходимы промежуточные масштабы. Подготовка данных для их отображения в промежуточных масштабах в целях такого масштабного перехода может преувеличивать неточности, поскольку могут приниматься различные решения по итогам анализа изображения. Рассмотрим, например, объект A, перемещенный с целью соответствия объекту B на крупномасштабной карте. На карте меньшего масштаба объект B отсутствует, но не существует простого способа определить, что объект A был смещен или установить, откуда он перемещен. В этом случае ненужная неточность распространяется на следующий меньший масштаб. Замещение представления в данном случае помогает, поскольку вы можете быстро и легко определить исходное положение объекта и вернуться к нему в случае необходимости.

Построение инструментов генерализации в цепочки в ModelBuilder

Инструменты генерализации могут использовать несколько входных слоев, то есть список из одного или нескольких классов объектов. Многие инструменты геообработки поддерживают подобное (например, инструмент Объединить (Union) ); инструменты генерализации, однако, необычны тем, что они поддерживают также множественные выходные значения. В связи с этим вам необходимо знать некоторые методы работы с ModelBuilder, чтобы создать нужную вам модель. Эти методы описываются ниже.

Цепочки инструментов с несколькими значениями входных и выходных данных

Несколько значений выходных данных инструментов Проредить дорожную сеть (Thin Road Network) , Решить конфликты дорог (Resolve Road Conflicts) и Решить конфликты зданий (Resolve Building Conflicts) . Это означает, что только инструменты, поддерживающие несколько входных значений, могут непосредственно использовать выходные данные этих инструментов. Например, если три слоя используются в качестве входных для инструмента Проредить дорожную сеть (Thin Road Network) и вы хотите использовать эти три слоя в качестве входных для инструмента Решить конфликты дорог (Resolve Road Conflict) после того, как дороги прорежены, вы можете использовать выходные данные инструмента Проредить дорожную сеть (Thin Road Network) непосредственно для инструмента Решить конфликты дорог (Resolve Road Conflicts) . Несколько наборов входных данных сначала обрабатываются с помощью инструмента Проредить дорожную сеть (Thin Road Network), а затем - инструмента Решить конфликты дорог (Resolve Road Conflicts).

Можно использовать инструмент Собрать значения (Collect Values) , чтобы добавить другие слои к параметру с множественными значениями. Ниже представлен пример, демонстрирующий добавление двух дополнительных слоев к выходным слоям инструмента Проредить дорожную сеть (Thin Road Network) с целью создания входных для инструмента Решить конфликты дорог (Resolve Road Conflicts) . Использование инструмента Собрать значения (Collect Values) с целью добавления дополнительных входных для выходных слоев инструмента Проредить дорожную сеть (Thin Road Network) до последующего использования инструмента Решить конфликты дорог (Resolve Road Conflicts)

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

Для последовательного использования инструментов, выводящих параметры со множественным значением, и инструмента, принимающего входные параметры с одним значением, можно использовать инструмент Геометрическое соединение (Append) для слияния нескольких классов объектов. Примером такого технологического процесса может быть геометрическое соединение нескольких входных слоев дорог, обработанных с помощью инструмента Проредить дорожную сеть (Thin Road Network) для использования их в качестве входных данных для инструмента Слияние фрагментов дорог (Merge Divided Roads) , поддерживающего один входной слой. Использование инструмента Геометрическое соединение (Append) для объединения нескольких выходных слоев в один входной

Индивидуальная обработка нескольких входных слоев

В некоторых случаях может оказаться необходимым индивидуальная передача в качестве входного для следующего инструмента каких-либо из нескольких выходных слоев, полученных предыдущим инструментом обработки. Это может произойти в том случае, если вы не хотите обрабатывать следующим инструментом все полученные предыдущим выходные данные или если вам требуется установить специфические параметры для каждого входного слоя с целью его обработки следующим инструментом. Например, инструмент Решить конфликты зданий (Resolve Building Conflicts) позволяет полностью контролировать способ, с помощью которого каждый входной слой определяется как барьер. В подобных случаях используйте один и тот же набор слоев в качестве входного для обоих инструментов, а выходные данные первого инструмента установите в качестве предварительного условия выполнения второго инструмента. Это обеспечит корректный порядок обработки, как показано ниже. Этот подход применим только в том случае, если первый инструмент, к примеру, инструмент Решить конфликты дорог (Resolve Road Conflicts) , изменяет данные входные слои, а не создает новые выходные слои.

Ниже приводится пример, где три слоя, содержащие данные транспортировки, используются в качестве входных в обоих инструментах. Это является возможным в связи с тем, что эти слои изменяются инструментом Решить конфликты дорог (Resolve Road Conflicts) ; новые выходные классы пространственных объектов при этом не создаются. Выходные данные инструмента Решить конфликты дорог (Resolve Road Conflicts) используются в качестве предварительного условия обработки с использованием инструмента Решить конфликты зданий (Resolve Building Conflicts) ; это позволит обеспечить тот факт, что инструмент Решить конфликты дорог (Resolve Road Conflicts) закончит работу до начала процессы обработки данных инструментом Решить конфликты зданий (Resolve Building Conflicts) .

Входные данные, отображаемые с помощью символов

Для последовательного использования инструментов, принимающих только слои в виде символов, необходимо использовать инструмент Создать векторный слой (Make Feature Layer) и инструмент Применить символы слоя (Apply Symbology From Layer) , чтобы подготовить выходной слой для последовательной обработки в среде ModelBuilder и в средах написания скриптов. Использование инструмента Создать векторный слой (Make Feature Layer), а также инструмента Применить символы слоя (Apply Symbology From Layer) в целях передачи информации об отображении символами между инструментами

Пример скрипта Python, осуществляющего подготовку данных для их отображения в более мелком масштабе

Пример технологического процесса набора инструментов Картография (автономный скрипт Python)

Этот автономный скрипт показывает пример рабочего процесса обработки данных с помощью нескольких инструментов из набора инструментов Картография, имеющий своей целью генерализацию данных масштаба 1:25 000 с целью их отображения в масштабе 1:50 000 и разрешение графических конфликтов отображения этих данных.

📎📎📎📎📎📎📎📎📎📎