Редактирование объектов геометрической сети

Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.

ЛицензияЛицензия:

Объекты сети можно создавать и редактировать с лицензией ArcGIS for Desktop Advanced и Standard, с лицензией Basic они доступны только для чтения.

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

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

Создание связности

Топологическая связность класса сетевого объекта основывается на геометрических совпадениях. Если на ребро добавляется соединение, или одно ребро добавляется к другому ребру, они становятся топологически связанными друг с другом.

При использовании параметров замыкания ArcMap можно создавать новые ребра и соединения на лету при сохранении связности сети. Функция замыкания ArcMap гарантирует геометрическое совпадение при добавлении новых объектов сети вдоль уже существующих.

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

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

Простые и сложные ребра

В геометрической сети ребро может быть либо простым, либо сложным. Простое ребро в геометрической сети имеет связи 1 к 1 с элементами ребер в логической сети. Сложное ребро имеет отношения 1-M с элементами ребер в логической сети. Одно сложное ребро в геометрической сети может быть представлено несколькими элементами ребер в логической сети.

Если вы замыкаете соединение или ребро на простое ребро, то ребро будет разбито в этом месте на два элемента и в геометрической, и в логической сети, таким образом, у вас появляются два новых объекта-ребра. Если вы замыкаете соединение или ребро на сложное ребро, это ребро разбивается на два элемента в логической сети, но в геометрической остается одним объектом. Несмотря на то, что объект останется единым, в месте соединения на ребре появится новая вершина.

Соединения по умолчанию

Когда вы замыкаете одно ребро на другое в месте, где нет соединения, соединение будет автоматически добавлено для поддержания связности. Если тип соединения указан как соединение по умолчанию в качестве правила связности для сети, используется именно этот тип соединения. Если между этими типами ребер правило ребро-ребро отсутствует, вставляется системное соединение, которое будет храниться в классе <network>_Junction.

Аналогично, если вы создаете новое ребро в сети, которое не замыкается на существующее ребро или соединение на обоих концах, соединение будет добавлено автоматически и соединено со свободным концом нового ребра. Если правило связности указано для места, которое определяет тип соединения по умолчанию для типа ребра, которое будет добавлено, этот тип соединения по умолчанию является соединением, добавляемым к свободному концу нового объекта. Если тип ребра не имеет связанного с ним типа соединения по умолчанию в правиле связности, вставляется системное соединение, которое хранится в классе <network>_Junction.

Более подробно о правилах связности

Категоризация соединений

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

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

Перемещение существующих объектов сети

Когда ребро или соединение сети перемещается, соединенные с ним объекты сети растягиваются и смещаются для поддержания связности. Когда вы перемещаете объект сети и замыкаете его на другой объект, они могут стать соединенными (как показано далее в разделе «Модели Связности»).

Модели связности

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

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

Легенда

Растяжение и перемещение

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

Растяжение и перемещение существующих объектов сети
Растяжение и перемещение существующих объектов сети

Удаление

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

Удаление объектов сети

Разъединение объектов

На рисунке ниже показано, как связность оказывает влияние при разъединении ребер и соединений с помощью команды Отсоединить (Disconnect) в ArcMap:

Отсоединение объектов сети

Связывание объектов

На рисунке ниже показано, как связность влияет на соединение объектов с помощью команды Присоединить (Connect) в ArcMap:

Присоединение объектов сети

Создание новых объектов сети

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

Создание новых объектов сети

Восстановление связности геометрической сети

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

Этот тип несогласованности сети, как правило, локализован в некотором наборе объектов сети. Есть три способа отследить объекты с несогласованной связностью:

Инструмент Перестроить связность (Rebuild Connectivity) удаляет и перестраивает связность для набора объектов сети, которые содержатся или пересекают определенный пользователем экстент путем построения заново их логических элементов. Связность строится на основании геометрического совпадения с использованием правил, описанных в главе О создании геометрических сетей.

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

В дополнение к инструменту Перестроить связность (Rebuild Connectivity) и команде Восстановить связность (Repair Connectivity), в ArcMap также существует набор инструментов и команд для идентификации сетевых объектов с несогласованной связностью или недопустимой сетевой геометрией. Это команды Ошибки построения сети (Network Build Errors), Проверить связность сети (Verify Network Connectivity) и Проверить геометрию сети (Verify Network Geometry) и инструменты Проверить связность сети (Verify Network Connectivity) и Проверить геометрию сети (Verify Network Geometry). Они доступны через панель инструментов Редактирование геометрической сети (Geometric Network Editing).

Для получения дополнительной информации о команде Ошибки построения сети (Network Build Errors) см. О создании геометрических сетей.

О производительности

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

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

Более подробно о работе с кэшем объектов

9/11/2013