Доступно с лицензией Standard или Advanced.
Стоя на вершине холма и глядя вниз, можно без труда увидеть пересечения улиц и окружающие территории. Для выявления таких отношений компьютер использует математическую логику, называемую топологией.
Топология явным образом определяет пространственные отношения между соединяющимися или смежными пространственными объектами в географических данных. Принцип довольно прост: пространственные отношения выражаются как списки (например, полигон определяется как список дуг, составляющих его границы).
Создание и хранение отношений топологии имеет ряд преимуществ. Хранение данных осуществляется более эффективно, поэтому большие наборы данных обрабатываются быстрее. Топология позволяет использовать аналитические функции, такие как моделирование потока через соединительные линии в сети, объединение соседних полигонов со сходными характеристиками, выявление смежных пространственных объектов и наложение географических объектов.
Топологическая структура покрытия поддерживает три основных топологических концепции:
- Связность: дуги соединяются друг с другом в узлах.
- Определение области: соединяющиеся дуги, которые окружают некую область, определяют полигон.
- Примыкание: дуги имеют направление, а также левую и правую стороны.
Связность
Связность определяется через топологию дуга-узел. Эта топология представляет собой основу для многих операций трассировки сети и поиска пути. Связность позволяет, например, определить маршрут в аэропорт, соединить ручьи с реками или создать путь от станции водоочистки до дома.
В структуре данных дуга-узел дуга определяется двумя конечными точками: начальным узлом, соответствующим началу дуги, и конечным узлом, соответствующим концу дуги. Это и есть топология дуга-узел.
Топология дуга-узел поддерживается через список дуга-узел. Этот список определяет начальный и конечный узлы для каждой дуги. Соединенные дуги определяются посредством поиска общих номеров узлов в списке. В следующем примере можно видеть, что дуги 1, 2 и 3 пересекаются, так как у них есть общий узел 11. Компьютер может определить, что существует возможность двигаться вдоль дуги 1 и повернуть на дугу 3, поскольку у них есть общий узел (11), но нельзя повернуть с дуги 1 сразу на дугу 5, поскольку у них нет общего узла.
Определение области
Многие географические объекты, которые могут быть представлены (например, озера, участки земли или административные районы), попадают в различимую область на земной поверхности. Область в векторной модели представляется одной или несколькими границами, которые определяют полигон. Возможно, на первый взгляд это покажется нелогичным, но попробуйте представить озеро, в центре которого находится остров. Фактически у озера будет две границы – одна, определяющая его внешний край, и остров, определяющий внутренний край. В терминах векторной модели остров определяет внутреннюю границу (или отверстие) полигона.
Структура дуга-узел представляет полигоны как упорядоченные списки дуг, а не как замкнутые ходы из координат x,y. Это топология полигон-дуга. На рисунке ниже полигон F состоит из дуг 8, 9, 10 и 7 (0 перед цифрой 7 означает, что эта дуга создает остров внутри полигона).
Каждая дуга присутствует в двух полигонах (на рисунке ниже дуга 6 присутствует в списке для полигонов B и C). Поскольку полигон представляет собой не что иное как список дуг, определяющих его границы, координаты дуг хранятся только в одном экземпляре, что позволяет сократить объем данных и избежать перекрывания границ смежных полигонов.
Примыкание
Два географических объекта, имеющих общую границу, называются смежными. Примыкание – это топологическая концепция, позволяющая векторной модели данных определять смежность. Топология полигонов определяет примыкание. Полигоны являются примыкающими друг к другу, если они имеют общую дугу. Эта топология представляет собой основу для многих операций с окрестностями и наложением.
Вспомним, что дуга определяется начальным и конечным узлами. Они указывают направление дуги, что позволяет определять полигоны с правой и левой стороны этой дуги. Топология слева-справа оперирует полигонами с левой и правой стороны дуги. На рисунке ниже полигон B находится с левой стороны дуги 6, а полигон C – с правой. Таким образом, эти два полигона являются смежными.
Обратите внимание, что подпись для полигона A находится за пределами области. Такой полигон называется внешним и представляет пространство за пределами изучаемой территории. Внешний полигон позволяет определять левую и правую стороны дуги.
Создание топологии
Этот раздел относится только к ArcGIS Desktop Advanced.
На вкладке Общие диалогового окна Свойства покрытия показано, какие классы пространственных объектов имеют топологию. Кроме того, на этой вкладке можно получить другую важную информацию о покрытии, например о месте хранения покрытия на диске и о том, является ли оно покрытием одинарной или двойной точности. Если щелкнуть класс пространственных объектов, внизу вкладки появится число объектов, которые в нем содержатся.
Если топология отсутствует для класса пространственных объектов, который должен ее иметь, можно создать топологию с помощью команд Построить или Очистить в диалоговом окне Свойства покрытия, либо с помощью инструментов Построить или Очистить. Также можно воспользоваться командой Построить для создания таблицы атрибутов объекта для класса пространственных объектов. Команда Построить предполагает, что данные координат верны. Очистка выполняет поиск пересекающихся дуг и помещает узел в каждой точке пересечения. Также очистка исправляет "недотянутые" и "перетянутые" линии в пределах указанного допуска. Для покрытий полигонов и регионов с предварительной топологией на значках покрытия и соответствующего класса пространственных объектов отображается красный индикатор предупреждения.
Инструмент Очистить использует допуск неразличимости. Это расстояние, в пределах которого данный инструмент может перемещать пространственные объекты, удалять дублирующиеся узлы, создавать узлы в точках пересечения линий и удалять дублирующиеся объекты. Допуск неразличимости измеряется в единицах покрытия. При использовании инструмента очистки очень важно назначить соответствующий допуск неразличимости, чтобы нужные объекты не были удалены по ошибке.