Топология в ArcGIS

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

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

Топология - не просто механизм хранения данных. В ArcGIS топология выполняет следующие функции:

  • База геоданных включает модель топологических данных, использующую открытые форматы хранения простых объектов (т.е. классы точечных, линейных и полигональных пространственных объектов), правила топологии, и топологически связанные координаты пространственных объектов с общей геометрией. Эта модель данных позволяет использовать правила проверки целостности данных и топологического поведения классов пространственных объектов, участвующих в топологии.
  • ArcGIS отображает слои топологии на карте, что позволяет показать топологические отношения, ошибки и исключения. ArcGIS также предлагает широкий выбор инструментов для построения запросов, редактирования, проверки и исправления ошибок топологии.
  • ArcGIS содержит и инструменты геообработки для построения, анализа, управления и проверки топологии.
  • ArcGIS также использует расширенные программные возможности для анализа и обнаружения топологических элементов в классах точечных, линейных и полигональных пространственных объектов.
  • ArcGIS использует мощную среду редактирования и автоматического управления данными, которая применяется для создания, хранения и проверки топологической целостности, а также для редактирования пространственных объектов с общей геометрией.
  • Логика программы ArcGIS доступна в продуктах ArcGIS Desktop, ArcGIS Server и ArcGIS Pro, что позволяет работать с топологическими отношениями, смежностью и связностью, и связывать пространственные объекты на основе этих элементов. В частности, указать полигоны с определенным общим ребром; получить список ребер, соединенных в определенном узле; перемещаться вдоль соединенных ребер из исходной точки; добавить новую линию и включить ее в граф топологии; разбивать линии в точках пересечений; создавать новые ребра, грани и узлы; и т.д.

Элементы топологии базы геоданных

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

  • Имя создаваемой топологии.
  • Кластерный допуск, использующийся при выполнении операций обработки топологии. Термином "кластерный допуск" часто обозначаются два допуска: допуск по координатам x,y и допуск по z. Значение кластерного допуска по умолчанию в 10 раз больше значения координатного разрешения.
  • Список классов пространственных объектов. Сначала необходимо перечислить классы пространственных объектов, которые будут участвовать в топологии. Все они должны быть в одной системе координат и организованы в один набор классов объектов.
  • Относительный ранг точности координат каждого класса пространственных объектов. Если некоторые классы пространственных объектов имеют точность выше, чем другие, им следует присвоить более высокий ранг. Ранг будет использоваться в проверке и интеграции топологии. Координаты с меньшей точностью будут подтягиваться к местоположениям с более высокой точностью координат, если они попадут в пределы кластерного допуска. Пространственные объекты с наивысшей точностью получат значение 1, менее точные получат значение 2, еще менее точные - 3, и т.д.
  • Список правил топологии, определяющих совместное использование геометрии пространственными объектами.

Кластерная обработка

Создание топологических отношений включает анализ координатных местоположений вершин пространственных объектов как между объектами в одном классе, так и между объектами разных классов, участвующих в топологии. Те, которые окажутся в пределах указанного расстояния друг от друга, считаются представляющими одно и то же местоположение, и им присваивается одинаковое значение координат (т.е. они "схлопываются").

Для интеграции вершин используется кластерный допуск. Все вершины, попадающие в пределы кластерного допуска, могут быть слегка перемещены в процессе проверки. Кластерный допуск, принятый по умолчанию, базируется на точности, заданной для набора данных. Кластерный допуск по умолчанию составляет 0.001 м в реальных единицах. Это расстояние в 10 раз превышает разрешение x, y (которое определяет степень числовой точности, используемую для хранения координат).

Допуск x, y используется для сопоставления координат, которые совпадают (в пределах допусков друг друга).

Два кластерных допуска: допуск по x, y и допуск по z

В ArcGIS для интеграции вершин используется пара кластерных допусков:

  • Допуск x, y для нахождения вершин на горизонтальном расстоянии друг от друга
  • Z-допуск, позволяющий различать, находятся ли z-высоты или отметки вершин в пределах допуска друг друга и должны ли они быть кластеризованны

Как происходит кластеризация координат (совмещение)

Допуск по x,y должен быть небольшим, поэтому только вершинам, расположенным очень близко друг к другу (в пределах допуска по x,y друг от друга), присваивается одинаковое координатное местоположение. Если координаты попадают в допуск, они рассматриваются как совпадающие, и совмещаются.

Таким образом, допуск x,y также определяет расстояние, на которое координаты могут быть перемещены по оси x или y (или обеим) во время кластеризации. Поэтому координаты могут быть кластеризованы, если они укладываются в значение допуска xy либо по оси x, либо по оси y. См. схему, приведенную ниже. Координаты могут перемещаться на расстояние, представленное диагональной линией на схеме, образующей треугольник. Согласно теореме Пифагора, это максимальное расстояние будет равно квадратному корню из допуска X,Y, умноженного на 2.

Примечание:

Теорема Пифагора гласит, что в прямоугольном треугольнике квадрат гипотенузы (самой длинной стороны) равен сумме квадратов катетов.

Допуск x,y

Допуск X,Y по умолчанию

По умолчанию допуск x,y составляет 0.001 м или эквивалент этого значения в единицах системы координат набора данных. Например, если ваша система координат использует футы, значение по умолчанию составит 0.003281 фута (или 0.03937 дюйма). Это в 10 раз превышает значение разрешения по умолчанию и достаточно для большинства случаев. Если координаты указаны в широте-долготе, допуск по осям x, y по умолчанию составляет 0,0000000556 градусов.

Алгоритмы, использующиеся при проверке и кластеризации

Когда вершина одного объекта в топологии находится в пределах допуска x, y ребра любого другого объекта в топологии, механизм топологии создает новую вершину на ребре, чтобы объекты можно было геометрически интегрировать в процесс кластеризации.

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

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

Максимальное перемещение вершин

Кластеризация последовательно обрабатывает весь экстент карты, определяя кластеры координат, укладывающихся в пределы допуска x,y. ArcGIS использует этот алгоритм для обнаружения, очистки и обработки совпадающей геометрии между пространственными объектами. Это означает, что координаты совпадающих геометрических элементов совмещаются (замыкаются в одну точку). Это основа многих принципов работы и операций ГИС.

В результате процесса кластеризации вершины пространственных объектов потенциально могут перемещаться за пределы кластерного допуска двумя способами.

  • Допуск используется для вычисления горизонтального и вертикального расстояний при поиске координат, попадающих в пределы допуска. Максимальное расстояние, на которое координата может переместиться в новое место во время этой операции, составляет квадратный корень, умноженный на двойной x,y допуск.
  • Алгоритм кластеризации является итеративным, т.е. повторяющимся. Поэтому в некоторых случаях вершины после перемещения могут попасть в пределы допуска других вершин и могут быть перемещены еще раз. В сумме, перемещение будет больше, чем квадратный корень из двукратного значения допуска. Это происходит редко, и только тогда, когда существуют две вершины, расположенные очень близко, но еще не попадающие в пределы кластерного допуска (например, на расстоянии 0.001 м друг от друга). Так как вершины слегка смещаются при каждом повторном проходе, они могут быть кластеризованы с другими координатами, и, в результате, перемещаются на расстояние, превышающее допуск.

Полезные советы

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

  1. Как правило, вы можете использовать допуск x, y, который в 10 раз больше разрешения x, y, и ожидать очень хороших результатов.
  2. Типичное значение допуска по x,y на несколько порядков меньше, чем истинная точность используемых данных. Например, хотя координаты вашего объекта могут иметь точность до 2 метров, допуск по осям x, y составляет 0,001 метра.
  3. Чтобы перемещение вершин было невелико, используйте минимальное значение допуска x,y. Однако слишком малый допуск x, y (например, двукратное разрешение x, y или меньше) может неправильно интегрировать работу линии совпадающих границ.
  4. И наоборот, если допуск слишком велик, координаты пространственных объектов могут "схлопнуться". Это может повлиять на точность отображения границ пространственных объектов.
  5. Используемый допуск никогда не должен приравниваться к точности сбора исходных данных (стандарт точности карты). Например, на карте масштаба 1:12 000, в одном дюйме содержится 1 000 футов, а 1/50 дюйма эквивалентна 20 футам на поверхности земли — такая точность сбора данных не достижима при оцифровке или сканировании. Вы можете сохранить передвижение координат, используя X,Y допуск, ниже данных значений. Помните, что допуск по умолчанию в этом случае составит 0.003281 фута, что подходит для большинства ситуаций.
  6. В топологии вы можете назначить ранг точности координат для каждого класса пространственных объектов. Координатный ранг наиболее точных объектов (полученных с помощью топографической съемки, например) должен быть равен 1, менее точным данным можно присвоить 2, 3 и т.д., по мере снижения точности. Координаты пространственных объектов с большим номером ранга (и, соответственно, с меньшей координатной точностью) будут откорректированы относительно более точных объектов, с меньшим номером ранга.
  7. Часто необходимо управлять тем, объекты каких именно классов предпочтительнее перемещать при кластеризации. Например, если известно, что расположение пространственных объектов одного класса более достоверно, будет лучше подтянуть к ним менее достоверные объекты. Ранги, присваиваемые классам пространственных объектов, участвующим в топологии, служат для решения таких задач. Вершины объектов более низкого ранга, расположенные в пределах кластерного допуска, будут притягиваться к ближайшим вершинам объектов более высокого ранга. Вершины объектов одинакового ранга будут геометрически усреднены.

Топологии и наборы классов объектов

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

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

  • Топология может ссылаться на один или несколько классов пространственных объектов, находящихся в одном наборе классов объектов.
  • Набор классов объектов может иметь более одной топологии.
  • Однако класс пространственных объектов может принадлежать лишь к одной топологии.
  • Класс пространственных объектов не может быть задействован одновременно в топологии и в геометрической сети.
  • Однако класс пространственных объектов может одновременно участвовать в топологии и входить либо в набор сетевых данных, либо в набор данных terrain.

Ранги координат

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

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

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

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

Убедитесь, что ранги координат присвоены правильно. Пространственные объекты с наивысшей точностью должны иметь значение 1, менее точные - 2 и т.д.

Z-кластерный допуск и ранги

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

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

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

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

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

Например, если кластерный допуск z равен 5, z-значения этих шести совпадающих вершин усредняются в две группы, 11,25 и 3,5:

Вершина

Перед проверкой

После проверки

z0 (ранг = 1)

12,5

11.25

z1 (ранг = 1)

10

11.25

z2 (ранг = 1)

7.5

3.5

z3 (ранг = 1)

5

3.5

z4 (ранг = 1)

2.5

3.5

z5 (ранг = 1)

0

3.5

Пример кластеризации z-значений

В следующем примере совпадающие вершины имеют различные ранги, а кластерный допуск равен 5. Z-значения усредняются и замыкаются в эти три группы, 22.5, 7.5 и 1.25:

Вершина

Перед проверкой

После проверки

z0 (ранг = 1)

25

22.5

z1 (ранг = 1)

20

22.5

z2 (ранг = 1)

7.5

7.5

z3 (ранг = 2)

5

7.5

z4 (ранг = 2)

2.5

1.25

z5 (ранг = 2)

0

1.25

Пример кластеризации z-значений

Значения кластерного допуска по Z могут варьироваться от нуля до экстента домена z (максимальное значение z – минимальное значение z).

Ранги являются относительной мерой точности данных. Разница между порядковыми номерами рангов двух классов пространственных объектов не имеет значения, назначить им ранги 1 и 2 - то же самое, что и ранги 1 и 3 или 1 и 10.

Правила топологии

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

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

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

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

Использование пространственных отношений объектов и их поведения для задания правил топологии.

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

  • Участки не могут перекрываться. Соседние земельные участки имеют общие границы.
  • Линии потоков не должны перекрываться, и должны соединяться только в конечных точках.
  • Соседние округа имеют общие ребра. Округа должны полностью покрывать территории штатов, и не выходить за их границы.
  • Соседние переписные участки имеют общие ребра. Переписные участки не должны пересекаться, они должны полностью покрывать группы участков, и не выходить за их пределы.
  • Концы центральных линий дорог должны соединяться.
  • Центральные линии дорог и переписные участки совместно используют совпадающую геометрию (ребра и узлы).

Каждый из этих примеров описывает потенциальную возможность использования правил топологии для контроля над целостностью данных.

Проверка топологии, ошибки и исключения

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

  1. Разбиение и кластеризация вершин пространственных объектов для поиска совпадающих объектов, (имеющие общие координаты).
  2. Вставка вершин с общими координатами в совпадающие объекты с общей геометрией.
  3. Выполнение набора проверок целостности, с помощью которого определяются любые нарушения правил, заданных для топологии.
  4. Создание журнала ошибок потенциальных топологических ошибок в наборе данных объектов.

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

Ошибки и исключения

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

Ошибки топологии отмечаются во время редактирования как исключения

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

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

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

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

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

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

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

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

Измененные области управляются ArcGIS

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

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

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

Информация, хранящаяся в топологии базы геоданных

В топологии базы геоданных хранится следующая информация:

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

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

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

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