Выполнение стандартных задач топологии

Доступно с лицензией Standard или Advanced.

После создания топологии вы можете изменять её в процессе работы и управлять ею и связанными с нею слоями.

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

В следующей таблице приведены поддерживаемые задачи изменения топологии:

Задача изменения топологииДоступ к топологии через ArcGIS ProДоступ к веб-слою топологии через сервис объектов

Проверка измененных областей в топологии

ДаДа

Исправление ошибок и пометка исключений

ДаДа

Экспорт ошибок топологии и исключений

ДаДа

Добавить поля к или удалить поля из класса пространственных объектов, участвующего в топологии

Да

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

Да

Свойства топологии > Переименование топологии

Да

Свойства топологии > Добавление или удаление класса пространственных объектов топологии

Да

Свойства топологии > Добавление, изменение или удаление правил топологии

Да

Свойства топологии > Настроить кластерный допуск топологии

Да

Свойства топологии > Настроить ранг координат (XY) для класса пространственных объектов в топологии

Да

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

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

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

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

  • Переименовать топологию.
  • Изменить кластерный допуск.
  • Изменение координатных рангов.
  • Добавить или удалить классы пространственных объектов.
  • Создать, изменить и удалить правила.
  • Сохранить и загрузить правила.

Более подробнее о свойствах топологии

Добавить класс пространственных объектов в топологию

Выполните следующие шаги, чтобы добавить класс объектов к существующей топологии при помощи инструмента Добавить класс объектов к топологии:

  1. На ленте Анализ щелкните кнопку Python, чтобы открыть окно Python.
  2. Чтобы запустить инструмент Добавить класс объектов к топологии, введите следующее: arcpy.AddFeatureClassToTopology_management()
  3. Предоставьте путь к местоположению топологии, в которую хотите добавить класс пространственных объектов, например "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo".
  4. Для параметра Входной класс объектов введите местоположение класса объектов, который вы хотите добавить к топологии.

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

  5. Введите ранг координат x,y для класса пространственных объектов, или введите "" чтобы использовать значение по умолчанию.
  6. Введите ранг координат z для класса пространственных объектов, или введите "" чтобы использовать значение по умолчанию.
  7. Нажмите Enter, чтобы выполнить команду.
  8. Повторите шаги 2 - 7, чтобы добавить несколько классов пространственных объектов к топологии.
  9. Проверьте топологию, используя инструмент Проверить топологию.

Ниже приведен пример выполнения инструмента AddFeatureClassToTopology в окне Python:

arcpy.AddFeatureClassToTopology_management(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", r"C:\MyProject\MyProject.gdb\Streets\StreetNetwork", 1, 0.1)

Использование подтипов в топологии

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

О подтипах

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

Дополнительные сведения о подтипах и базах геоданных см. в разделе Быстрый обзор подтипов.

Подтипы в топологии

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

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

Удаление класса пространственных объектов

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

  1. На ленте Анализ щелкните кнопку Python, чтобы открыть окно Python.
  2. Чтобы запустить инструмент Удалить класс объектов из топологии, введите следующее: arcpy.RemoveFeatureClassFromTopology_management()
  3. Предоставьте путь к местоположению топологии, из которой хотите удалить класс пространственных объектов, например "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo".
  4. Для параметра Удаляемый класс объектов введите местоположение класса объектов, который вы хотите удалить из топологии.
  5. Нажмите Enter, чтобы выполнить команду.

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

Ниже приведен пример выполнения инструмента RemoveFeatureClassFromTopology в окне Python:

arcpy.RemoveFeatureClassFromTopology_management(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", r"C:\MyProject\MyProject.gdb\Streets\StreetNetwork")

Переименование топологии

Чтобы ее переименовать, выполните следующее:

  1. На панели Каталог щёлкните правой кнопкой топологию и щёлкните Переименовать.
  2. Введите новое имя.
  3. Нажмите Enter.
Примечание:

Переименование топологии не отразится на ее статусе, повторная проверка не потребуется.

Подсказка:

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

Изменение кластерного допуска.

Чтобы изменить кластерный допуск топологии, можно использовать инструмент геообработки Установить кластерный допуск.

  1. На ленте Анализ щелкните кнопку Python, чтобы открыть окно Python.
  2. Чтобы запустить инструмент Установить кластерный допуск, введите: arcpy.SetClusterTolerance_management()
  3. Предоставьте путь к местоположению топологии, у которой хотите изменить кластерный допуск, например "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo".
  4. Предоставьте новое значение кластерного допуска, например 0,00015.
  5. Нажмите Enter, чтобы выполнить команду.
Примечание:

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

Ниже приведен пример выполнения инструмента SetClusterTolerance в окне Python:

arcpy.SetClusterTolerance_management(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", 0.00015)

Работа с правилами топологии

Вы можете добавить или удалить правила существующей топологии при помощи инструментов геообработки.

Добавление правил к топологии

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

  1. На ленте Анализ щелкните кнопку Python, чтобы открыть окно Python.
  2. Чтобы запустить инструмент Добавить Правила к топологии, введите следующее: arcpy.AddRuleToTopology_management()
  3. Предоставьте путь к местоположению топологии, в которую хотите добавить правило, например "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo".
  4. Введите правило, которое вы хотите добавить, например, "Граница должна совпадать с границей (область-область)".
  5. Введите путь к исходному классу объектов.
  6. Введите подтип для входного или исходного класса объектов. Введите описание подтипа (не код). Если подтипы отсутствуют в исходном классе объектов, или вы хотите применить правило ко всем подтипам класса пространственных объектов, оставьте незаполненным "".
  7. Введите путь к классу объектов назначения.
  8. Чтобы применить правило к подтипу в классе назначения, введите описание подтипа.
  9. Нажмите Enter, чтобы выполнить команду.

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

Примечание:

После добавления правила необходимо выполнить повторную проверку топологии.

Ниже приведен пример выполнения инструмента AddRuleToTopology в окне Python:

arcpy.AddRuleToTopology_management("C:\\MyProject\\MyProject.gdb\\Streets\\Street_Topo",
                                                 "Boundary Must Be Covered By Boundary Of (Area-Area)",
                                                 "C:\\MyProject\\MyProject.gdb\\Streets\\Subdivision",
                                                 "",
                                                 "C:\\MyProject\\MyProject.gdb\\Streets\\Parcels",
                                                 "")

Удаление правила из топологии

Для удаления правила из топологии можно использовать инструмент геообработки Удалить правило из топологии.

  1. На ленте Анализ щелкните кнопку Python, чтобы открыть окно Python.
  2. Чтобы запустить инструмент Удалить правило из топологии, введите следующее: arcpy.RemoveRuleFromTopology_management()
  3. Предоставьте путь к местоположению топологии, из которой хотите удалить правила, например "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo".
  4. Введите правило, которое вы хотите удалить из топологии, например, "Не должны иметь висячих узлов (21)".

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

  5. Нажмите Enter, чтобы выполнить команду.

    Правило удаляется из топологии. Для удаления нескольких правил запустите этот инструмент применительно к каждому правилу.

Примечание:

После удаления правила необходимо выполнить повторную проверку топологии.

Ниже приведен пример выполнения инструмента RemoveRuleFromTopology в окне Python:

arcpy.RemoveRuleFromTopology_management("C:\\MyProject\\MyProject.gdb\\Streets\\Street_Topo",
                                                      "Must Not Have Dangles (21)")

Изменить координатные ранги

Вы можете изменить настройки рангов в топологии.

Изменение числа рангов

Для изменения числа рангов выполните следующие шаги:

  1. Щелкните топологию правой кнопкой мыши и выберите Свойства.
  2. Щелкните вкладку Класс объектов.
  3. Введите число рангов.
  4. Нажмите OK.

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

Примечание:

Для изменения количества рангов не требуется повторная проверка топологии.

Изменение ранга класса пространственных объектов

Чтобы изменить ранг класса объектов, выполните следующие шаги:

  1. Щелкните топологию правой кнопкой мыши и выберите Свойства.
  2. Щелкните вкладку Класс объектов.
  3. Щелкните Добавить классы и отметьте те классы, которые вы хотите использовать.
  4. Нажмите OK.
  5. Введите ранг для каждого класса объектов.
  6. Нажмите OK.
Примечание:

Изменение ранга любого класса пространственных объектов требует повторной проверки топологии.

Работа с правилами топологии

В подразделах ниже описано как вы можете работать с правилами в топологии.

Сохранение правил топологии в файле набора правил

Вы можете сохранить правила как файл набора правил, который можно использовать повторно или публиковать.

  1. Щелкните топологию правой кнопкой мыши и выберите Свойства.
  2. Перейдите на вкладку Правила.
  3. Щелкните Добавить.
  4. Выберите класс объектов, к которому вы хотите применить правило, в ниспадающем меню Класс объектов 1.
  5. Если в классе объектов имеются подпиты, выберите соответствующий в ниспадающем меню Подтип.
  6. Выберите правило, которое вы хотите применить к классу объектов, в ниспадающем меню Правила.
  7. Нажмите OK.

Загрузка правил топологии из файла набора правил

Чтобы загрузить правила топологии из файла набора правил, выполните следующие шаги:

  1. Щелкните топологию правой кнопкой мыши и выберите Свойства.
  2. Перейдите на вкладку Правила.
  3. Щелкните Сохранить правила.
  4. Щелкните Загрузка правил.
  5. Перейдите к месту, где находится сохраненное правило, которое вы хотите загрузить.
  6. Щёлкните на правиле.
  7. Щелкните кнопку Открыть.

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

  8. Для каждого не сопоставленного класса пространственных объектов щёлкните на столбце Целевой и щёлкните на классе объектов, которому он соответствует в новой топологии.
  9. Щелкните OK во всех диалоговых окнах.
Примечание:
  • Загрузка набора правил в топологию, где уже указан набор правил, добавит эти правила из набора к заданным правилам.
  • После загрузки набора правил надо перепроверить топологию.
  • Если в наборе правил указаны классы объектов, которые нельзя сопоставить с классами в новой топологии, правила, включающие несопоставимые классы пространственных объектов, не загружаются.

Подведение итогов ошибок топологии

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

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

Запросы и перемещение по диаграмме топологии

Инструменты для разработчиков ArcGIS предоставляют доступ к графической топологии – представлению на плоскости геометрических форм участвующих в топологии классов пространственных объектов. Более подробную информацию см. в Справочной системе ArcObjects for .NET.