Топология в ArcGIS
Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.
В базах геоданных топология является механизмом, который определяет, как точечные, линейные и полигональные пространственные объекты совместно используют совпадающую геометрию. Например, центральные линии улиц разделяют общую геометрию с границами районов переписи, а соседние полигоны типов почв имеют общие границы.
Топология - не просто механизм хранения данных. В ArcGIS топология выполняет следующие функции:
- База геоданных включает модель топологических данных, использующую открытые форматы хранения простых объектов (т.е., классы точечных, линейных и полигональных пространственных объектов), правила топологии, и топологически связанные координаты пространственных объектов с общей геометрией. Эта модель данных позволяет использовать правила проверки целостности данных и топологического поведения классов пространственных объектов, участвующих в топологии.
- ArcGIS отображает слои топологии в ArcMap, что позволяет показать топологические отношения, ошибки и исключения. ArcMap также предлагает широкий выбор инструментов для построения запросов, редактирования, проверки и исправления ошибок топологии.
- ArcGIS содержит и инструменты геообработки для построения, анализа, управления и проверки топологии.
- ArcGIS также использует расширенные программные возможности для анализа и обнаружения топологических элементов в классах точечных, линейных и полигональных пространственных объектов.
- ArcMap использует мощную среду редактирования и автоматического управления данными, которая применяется для создания, хранения и проверки топологической целостности, а также для редактирования пространственных объектов с общей геометрией.
- Логика программы ArcGIS доступна в продуктах ArcGIS for Desktop и ArcGIS for Server, что позволяет работать с топологическими отношениями, смежностью и связностью, и связывать пространственные объекты на основе этих элементов. В частности, указать полигоны с определенным общим ребром; получить список ребер, соединенных в определенном узле; перемещаться вдоль соединенных ребер из исходной точки; добавить новую линию и включить ее в граф топологии; разбивать линии в точках пересечений; создавать новые ребра, грани и узлы; и т.д.
Элементы топологии базы геоданных
В базе геоданных для каждой топологии используются следующие параметры:
- Имя создаваемой топологии.
- Кластерный допуск, использующийся при выполнении операций обработки топологии. Термином "кластерный допуск" часто обозначаются два допуска: допуск по координатам x,y и допуск по z. Значение кластерного допуска по умолчанию в 10 раз больше значения координатного разрешения.
- Список классов пространственных объектов. Сначала необходимо перечислить классы пространственных объектов, которые будут участвовать в топологии. Все они должны иметь одну систему координат и входить в один набор классов объектов.
- Относительный ранг точности координат каждого класса пространственных объектов. Если некоторые классы пространственных объектов имеют точность выше, чем другие, им следует присвоить более высокий ранг. Ранг будет использоваться в проверке и интеграции топологии. Координаты с меньшей точностью будут подтягиваться к местоположениям с более высокой точностью координат, если они попадут в пределы кластерного допуска. Пространственные объекты с наивысшей точностью получат значение 1, менее точные получат значение 2, еще менее точные - 3, и т.д.
- Список правил топологии, определяющих совместное использование геометрии пространственными объектами.
Кластерная обработка
Создание топологических отношений включает анализ координатных местоположений вершин пространственных объектов как между объектами в одном классе, так и между объектами разных классов, участвующих в топологии. Те, которые окажутся в пределах указанного расстояния друг от друга, считаются представляющими одно и то же местоположение, и им присваивается одинаковое значение координат (т.е. они "схлопываются").
Для интеграции вершин используется кластерный допуск. Все вершины, попадающие в пределы кластерного допуска, могут быть слегка перемещены в процессе проверки. Кластерный допуск, принятый по умолчанию, базируется на точности, заданной для набора данных. Кластерный допуск по умолчанию составляет 0.001 м в реальных единицах. Это в 10 раз превышает значение разрешения координат x,y (которое указывает количество знаков, используемых для хранения координат).
Кластерные допуски по x,y и по z
В ArcGIS для интеграции вершин используется пара кластерных допусков:
- Допуск по x,y используется для поиска вершин в горизонтальной плоскости относительно друг друга
- Допуск по z используется для поиска z-высот, находящихся в пределах допуска, и их последующей кластеризации.
Кластеризация координат (совмещение)
Чтобы выполнялась кластеризация только очень близко расположенных вершин (в пределах допуска x,y), допуск по x,y не должен быть маленьким. Если координаты попадают в допуск, они рассматриваются как совпадающие, и совмещаются.
Таким образом, допуск x,y также определяет расстояние, на которое координаты могут быть перемещены по оси x или y (или обеим) во время кластеризации. Поэтому координаты могут быть кластеризованы, если они укладываются в значение допуска xy либо по оси x, либо по оси y. См. схему, приведенную ниже. Координаты могут перемещаться на расстояние, представленное диагональной линией на схеме, формируя треугольник. Как вы помните из школьного курса геометрии, согласно теореме Пифагора, это максимальное расстояние будет равно квадратному корню из двойного квадрата допуска x,y.
Теорема Пифагора гласит, что в прямоугольном треугольнике квадрат гипотенузы (самой длинной стороны) равен сумме квадратов катетов.
Допуск координат x,y по умолчанию
По умолчанию, допуск x,y составляет 0.001 м или эквивалент этого значения в единицах системы координат набора данных. Например, если ваша система координат использует футы, значение по умолчанию составит 0.003281 фута (или 0.03937 дюйма). Это в 10 раз превышает значение разрешения по умолчанию и достаточно для большинства случаев. Если координаты записываются как широта-долгота, допуск по умолчанию x,y будет 0.0000000556 градуса.
Алгоритмы, использующиеся при проверке и кластеризации
Если вершина одного из пространственных объектов, участвующего в топологии, находится в пределах допуска xy от ребра другого пространственного объекта, механизм топологии создает новую вершину на ребре, что позволит геометрически интегрировать пространственные объекты в процессе кластеризации.
При кластеризации вершин пространственных объектов во время проверки топологии, важно понимать, как именно корректируется геометрия объектов. Все вершины всех классов пространственных объектов, участвующих в топологии, потенциально могут быть перемещены, если они попадают в пределы допуска x,y с другой вершиной. Вершины объектов с более высоким рангом перемещаются меньше и притягивают к себе вершины с меньшим рангом. Вершины объектов одинакового ранга будут геометрически усреднены.
Важно отметить, что x,y допуск не предназначен для генерализации геометрических форм. Вместо этого он используется для интеграции линий и границ во время топологических операций, помогающих находить совпадающие объекты, чьи вершины находятся в одних и тех же местоположениях. Это совместит координаты, находящиеся в пределах допуска x,y друг от друга. Т.к. координаты могут перемещаться по осям x и y на расстояние, соответствующее кластерному допуску, многие возможные проблемы могут быть решены при обработке наборов данных с помощью команд, использующих кластерный допуск. Сюда относится перемещение при очень небольших несовпадениях, автоматическое удаление двойных сегментов и уточнение координат вдоль линий границ.
Максимальное перемещение вершин
Кластеризация последовательно обрабатывает весь экстент карты, определяя кластеры координат, укладывающихся в пределы допуска x,y. ArcGIS использует этот алгоритм для обнаружения, очистки и обработки совпадающей геометрии между пространственными объектами. Это означает, что координаты совпадающих геометрических элементов совмещаются (замыкаются в одну точку). Это основа многих принципов работы и операций ГИС.
В результате кластеризации, вершины пространственных объектов могут переместиться на расстояние, превышающее кластерный допуск. Это может произойти в дух случаях.
- Допуск используется для вычисления горизонтального и вертикального расстояний при поиске координат, попадающих в пределы допуска. Максимальное расстояние, на которое могут перемещаться координаты - это квадратный корень из двойного квадрата допуска x,y.
- Алгоритм кластеризации является итеративным, т.е. повторяющимся. Поэтому в некоторых случаях вершины после перемещения могут попасть в пределы допуска других вершин и могут быть перемещены еще раз. В сумме, перемещение будет больше, чем квадратный корень из двукратного значения допуска. Это происходит редко, и только тогда, когда существуют две вершины, расположенные очень близко, но еще не попадающие в пределы кластерного допуска (например, на расстоянии 0.001 м друг от друга). Так как вершины слегка смещаются при каждом повторном проходе, они могут быть кластеризованы с другими координатами, и, в результате, перемещаются на расстояние, превышающее допуск.
Полезные советы
Несколько полезных советов для работы с кластерными допусками:
- Обычно можно использовать допуск x,y, который в 10 раз превышает разрешение x,y, и получить очень хороший результат.
- Типичное значение допуска по x,y на несколько порядков меньше, чем истинная точность используемых данных. Например, если точность координат пространственных объектов составляет 2 м, допуск x,y составляет 0.001 м, по умолчанию.
- Чтобы перемещение вершин было невелико, используйте минимальное значение допуска x,y. Однако, если допуск x,y слишком мал (например, в 2 раза больше разрешения x,y), интеграция линий совпадающих границ может произойти неправильно.
- И наоборот, если допуск слишком велик, координаты пространственных объектов могут "схопнуться". Это может повлиять на точность отображения границ пространственных объектов.
- Используемый допуск никогда не должен приравниваться к точности сбора исходных данных (стандарт точности карты). Например, на карте масштаба 1:12 000, в одном дюйме содержится 1 000 футов, а 1/50 дюйма эквивалентна 20 футам на поверхности земли — такая точность сбора данных не достижима при оцифровке или сканировании. Вам можете сохранить передвижение координат, используя x,y допуск, ниже данных значений. Помните, что допуск по умолчанию в этом случае составит 0.003281 фута, что подходит для большинства ситуаций.
- В топологии вы можете назначить ранг точности координат для каждого класса пространственных объектов. Координатный ранг наиболее точных объектов (полученных с помощью топографической съемки, например) должен быть равен 1, менее точным данным можно присвоить 2, 3 и т.д., по мере снижения точности. Координаты пространственных объектов с большим номером ранга (и, соответственно, с меньшей координатной точностью) будут откорректированы относительно более точных объектов, с меньшим номером ранга.
- Часто необходимо управлять тем, объекты каких именно классов предпочтительнее перемещать при кластеризации. Например, если известно, что расположение пространственных объектов одного класса более достоверно, будет лучше подтянуть к ним менее достоверные объекты. Ранги, присваиваемые классам пространственных объектов, участвующим в топологии, служат для решения таких задач. Вершины объектов более низкого ранга, расположенные в пределах кластерного допуска, будут притягиваться к ближайшим вершинам объектов более высокого ранга. Вершины объектов одинакового ранга будут геометрически усреднены.
Топологии и наборы классов объектов
Топология строится для группы классов пространственных объектов, которые находятся в одном наборе классов объектов. Каждая новая топология добавляется в набор классов объектов, в котором содержатся классы пространственных объектов и другие элементы данных.
Когда вы создаете топологию, вы можете выбрать из набора классов любой поднабор классов пространственных объектов, в соответствии со следующими требованиями:
- Топология может ссылаться на один или несколько классов пространственных объектов, находящихся в одном наборе классов объектов.
- В набор классов объектов может быть несколько топологий.
- Однако класс пространственных объектов может принадлежать лишь к одной топологии.
- Класс пространственных объектов не может быть задействован одновременно в топологии и в геометрической сети.
- Однако класс пространственных объектов может одновременно участвовать в топологии и входить либо в набор сетевых данных, либо в набор данных terrain.
Ранги координат
Ранги точности координат, назначенные классам пространственных объектов в топологии базы геоданных, управляют перемещением вершин пространственных объектов во время проверки. Ранг помогает контролировать перемещение вершин, попадающих в пределы кластерного допуска. Вершины, расположенные друг от друга в пределах кластерного допуска, рассматриваются как имеющие одинаковое местоположение и совмещаются (т.е. им присваивается одинаковые значения координат).
Если различные классы пространственных объектов имеют различную координатную точность, например, если один класс был получен с помощью топографической съемки или GPS, а другой - оцифрован с менее точного источника, ранги координат позволяют жестко закреплять точные вершины и подтягивать к ним менее точные.
Обычно, менее точная координата перемещается к расположению более точной координаты, или новое положение считается как взвешенное среднее расстояние между координатами в кластере. В этих случаях средневзвешенное расстояние основывается на рангах точности кластеризованных координат.
Положение вершин с одинаковым рангом, попадающих в пределы кластерного допуска, геометрически усредняется.
Убедитесь, что ранги координат присвоены правильно. Пространственные объекты с наивысшей точностью должны иметь значение 1, менее точные - 2 и т.д.
Z-кластерный допуск и ранги
Классы пространственных объектов, моделирующие трехмерные поверхности или здания, обладают z-значениями, представляющими высоту каждой вершины. Если топология содержит классы пространственных объектов, моделирующие рельеф, с помощью кластерного допуска z и рангов вы можете управлять вертикальным совмещением вершин, так же, как и при горизонтальном совмещении с помощью рангов и допуска x,y.
Кластерный допуск 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 |
В данном примере у совпадающих вершин разные ранги, а кластерный допуск равен 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-значение).
Ранги являются относительной мерой точности данных. Разница между порядковыми номерами рангов двух классов пространственных объектов не имеет значения, назначить им ранги 1 и 2 - то же самое, что и ранги 1 и 3 или 1 и 10.
Правила топологии
Правила топологии определяют допустимые пространственные отношения между объектами. Правила, заданные в топологии, управляют отношениями между пространственными объектами в классе пространственных объектов, между объектами различных классов или между подтипами пространственных объектов. Список доступных правил топологии см. в разделе Правила топологии баз геоданных и исправление топологических ошибок.
Например, Правило "Не должны перекрываться" используется для управления целостностью объектов, находящихся в одном классе пространственных объектов. Если два пространственных объекта перекрываются, такая геометрия будет выделена красным (как показано на рисунке ниже для области перекрытия смежных полигонов и сегмента двух линий).
Правила топологии также могут быть заданы между подтипами класса пространственных объектов. Предположим, у вас имеется два подтипа линейных объектов-улиц: обычные улицы (соединяющиеся с другими улицами с обоих концов) и тупики (соединяющиеся с другими улицами только одним концом). Правило топологии может требовать наличия соединения обоих концов улицы с другими улицами, кроме тех случаев, когда улица относится к подклассу тупиков.
Использование пространственных отношений объектов и их поведения для задания правил топологии.
Пространственные отношения определяют способ использования совпадающей геометрии пространственными объектами, наряду с правилами, определяющими поведение объектов. Например, некоторые обычные пространственные отношения и правила включают следующие:
- Участки не могут перекрываться. Соседние земельные участки имеют общие границы.
- Линии потоков не должны перекрываться, и должны соединяться только в конечных точках.
- Соседние округа имеют общие ребра. Округа должны полностью покрывать территории штатов, и не выходить за их границы.
- Соседние переписные участки имеют общие ребра. Переписные участки не должны пересекаться, они должны полностью покрывать группы участков, и не выходить за их пределы.
- Концы центральных линий дорог должны соединяться.
- Центральные линии дорог и переписные участки совместно используют совпадающую геометрию (ребра и узлы).
Каждый из этих примеров описывает потенциальную возможность использования правил топологии для контроля над целостностью данных.
Проверка топологии, ошибки и исключения
После создания новой топологии или редактирования объектов, входящих в нее, топологию необходимо проверить. Проверка топологии состоит из четырех процессов:
- Разбиение и кластеризация вершин пространственных объектов для поиска совпадающих объектов, использующих общие координаты.
- Вставка общих вершин в объекты, использующие общую геометрию.
- Выполнение набора проверок целостности, с помощью которого определяются любые нарушения правил, заданных для топологии
- Создание отчета о возможных топологических ошибках, найденных в наборе классов объектов
Когда вы редактируете данные, ArcGIS отслеживает изменения и маркирует их как измененные области. Проверка топологии будет выполняться только в измененных областях. Если данные не менялись со времени предыдущей проверки, проверять будет нечего.
Ошибки и исключения
Нарушения правил топологии сохраняются в топологии в качестве объектов-ошибок. Объекты-ошибки содержат информацию об обнаруженных во время проверки ошибках. Некоторые ошибки могут быть допустимыми, в этом случае их можно отметить как исключения. Ошибки и исключения хранятся как объекты в слое топологии, что позволяет отображать их и в случаях, не требующих выполнения топологических правил, работать с ними.
Вы можете создавать отчет об ошибках и исключениях, имеющихся в топологии класса пространственных объектов. Вы можете использовать количество ошибок в качестве индикатора качества набора топологических данных. Инспектор ошибок ArcMap позволяет выбирать ошибки определенных типов, а также увеличивать их масштаб. Вы можете исправить ошибки топологии с помощью редактирования пространственных объектов, которые нарушают правила топологии. После проверки внесенных изменений, ошибка удаляется из топологии.
Инструменты редактирования позволяют выбирать конкретные ошибки и способы, которыми следует исправлять ошибки данного типа. Вы можете также использовать этот инструмент для того, чтобы получить информацию о том, какое правило нарушает данный объект, или пометить ошибку как исключение.
Гибкость топологии базы геоданных позволяет работать с исключениями из правил топологии. Также, вы можете маркировать ошибки в качестве исключений. Исключения впоследствии игнорируются, хотя вы можете вернуть им статус ошибки, если решите, что они действительно являются ошибками и требуют исправления.
Использование исключений является частью обычной работы при создании и обновлении данных. Например, база данных улиц города может содержать правило, в соответствии с которым центральные линии улиц должны обоими концами присоединяться к другим центральным линиям. Это правило обеспечивает правильное соединение отрезков различных улиц при редактировании. Однако, у вас может не оказаться данных по окраинам города. И здесь конечные точки линий могут не замыкаться на центральные линии других улиц. Эти случаи можно отметить как исключения, при этом у вас останется возможность использовать правило соединения для поиска неправильно оцифрованных или отредактированных объектов-улиц.
Измененные области и проверка
Ключевая задача топологии базы геоданных - оптимизация количества времени, требующегося на обработку и проверку пространственных объектов, участвующих в топологии, перед использованием этих данных. В сущности:
- Классы пространственных объектов, участвующие в топологии, всегда доступны для работы, вне зависимости от их статуса в топологии.
- Проверка топологии выполняется пользователем. Именно вы решаете, когда и как часто вы хотите проверять (т.е., перестраивать) топологию (например, после каждой операции редактирования или по окончании сеанса редактирования).
- Все редактирование класса пространственных объектов прослеживается, т.ч. повторная проверка требуется только для тех областей, где были внесены изменения.
Измененные области - это области, в которых выполнялось редактирование, обновление данных, добавлялись или удалялись пространственные объекты. Измененные области служат для ограничения количества данных, которые должны быть проверены на наличие ошибок во время проверки топологии. Измененные области отмечают места, где были добавлены новые пространственные объекты или изменены существующие. Это позволяет проводить проверку только части топологии, вместо полного экстента.
Измененные области управляются средствами ArcGIS
ArcGIS создает измененные области, если объекты, участвующие в топологии, создаются или удаляются, или меняется их геометрия, переопределяется подтип, согласовываются версии, меняются свойства топологии или топологические правила.
Согласование версий также рассматривается как редактирование или обновление класса объектов - появившиеся изменения маркируются как измененные области.
Изменения схемы, такие как добавление новых правил, требуют полной проверки топологии (т.е., весь набор данных будет отмечен как измененная область).
Информация, хранящаяся в топологии базы геоданных
В топологии базы геоданных хранится следующая информация:
- Определение топологии. Оно включает информацию обо всех параметрах, заданных вами при создании топологии.
- Координаты общих вершин всех пространственных объектов, имеющих совпадающую геометрию. Проверка интегрирует координаты, используя кластерную обработку для определения общих вершин среди объектов одного класса, а также между классами. В каждом случае вершины, определенные как имеющее одинаковое расположение, записываются как координаты для всех пространственных объектов, к которым они принадлежат. Эти объекты "совместно используют геометрию", что достигается использованием общих координат. Примечание:
Эти общие координаты используются топологией базы геоданных для быстрого поиска и построения запросов к топологическим узлам, ребрам и граням, а также к образующим их пространственным объектам.
- Таблица измененных областей, содержащая информацию об объектах, которые были добавлены или отредактированы, а также информацию об изменениях, вызванных согласованием данных версий.
- В результате проверки топологии, в ней появляются три таблицы, хранящие объекты-ошибки топологии:
- Точечные ошибки
- Линейные ошибки
- Площадные ошибки
Ошибки, отмеченные как исключения, также записываются в таблицы объектов-ошибок. Ошибки, помеченные как исключения, помечены в столбце "Исключения". Другими словами, исключение является ошибкой с пометкой в соответствующем столбце. Ошибки и исключения отслеживаются при обновлении наборов данных и топологии.