Геопространственная топология — это изучение и применение качественных пространственных отношений между географическими объектами или между представлениями таких объектов в географической информации , например, в географических информационных системах (ГИС). [1] Например, тот факт, что две области перекрываются или одна содержит другую, является примером топологических отношений. Таким образом, это приложение математики топологии к ГИС, которое отличается от многих аспектов географической информации, которые основаны на количественных пространственных измерениях посредством координатной геометрии, но дополняет их . Топология появляется во многих аспектах географической информатики и практики ГИС, включая обнаружение внутренних связей посредством пространственных запросов , векторного наложения и алгебры карт ; обеспечение ожидаемых взаимосвязей в виде правил проверки, хранящихся в геопространственных данных; и использование сохраненных топологических связей в таких приложениях, как сетевой анализ . [2] [3] [4] Пространственная топология — это обобщение геопространственной топологии для негеографических областей, например, программного обеспечения САПР .
В соответствии с определением топологии топологическая связь между двумя географическими явлениями — это любое пространственное отношение, которое не чувствительно к измеримым аспектам пространства, включая преобразования пространства (например, картографическую проекцию ). Таким образом, оно включает в себя большинство качественных пространственных отношений, например, когда два объекта «соседствуют», «перекрываются», «непересекаются» или один находится «внутри» другого; и наоборот, когда один объект находится «в 5 км от» другого или один объект находится «к северу» от другого, это метрические отношения . Одним из первых достижений географической информатики в начале 1990-х годов была работа Макса Эгенхофера, Элисео Клементини, Петера ди Феличе и других по разработке краткой теории таких отношений, обычно называемой моделью 9-пересечений , которая характеризует диапазон топологические отношения, основанные на отношениях между интерьерами, экстерьерами и границами объектов. [5] [6] [7] [8]
Эти отношения также можно классифицировать семантически:
Топология была очень ранней проблемой ГИС. Самые ранние векторные системы, такие как Канадская географическая информационная система , не управляли топологическими связями, и такие проблемы, как серебряные полигоны, распространялись, особенно в таких операциях, как наложение векторов . [9] В ответ были разработаны топологические векторные модели данных , такие как GBF/DIME (Бюро переписи населения США, 1967 г.) и POLYVRT ( Гарвардский университет , 1976 г.). [10] Стратегия топологической модели данных заключается в сохранении топологических связей (в первую очередь смежности) между объектами и использовании этой информации для построения более сложных объектов. Узлы (точки) создаются в местах пересечения линий и атрибутируются списком соединяющих линий. Многоугольники создаются из любой последовательности линий, образующей замкнутый контур. Эти структуры имели три преимущества перед нетопологическими векторными данными (часто называемыми «спагетти-данными»): во-первых, они были эффективны (важный фактор, учитывая возможности хранения и обработки 1970-х годов), поскольку общая граница между двумя соседними полигонами была всего лишь хранится один раз; во-вторых, они способствовали обеспечению целостности данных, предотвращая или выделяя топологические ошибки , такие как перекрывающиеся многоугольники, висячие узлы (линия, неправильно соединенная с другими линиями) и скользящие многоугольники (небольшие ложные многоугольники, созданные там, где две линии должны совпадать, но не совпадают). ); и в-третьих, они упростили алгоритмы таких операций, как наложение векторов . [11] Их основным недостатком была их сложность: многие пользователи были трудны для понимания и требовали особой осторожности при вводе данных. Они стали доминирующей моделью векторных данных 1980-х годов.
К 1990-м годам сочетание более дешевого хранилища и новых пользователей, которых не интересовала топология, привело к возрождению спагетти-структур данных, таких как шейп-файл . Однако потребность в хранимых топологических отношениях и обеспечении целостности все еще существует. Распространенный подход к текущим данным заключается в хранении расширенного слоя поверх данных, которые по своей сути не являются топологическими. Например, база геоданных Esri хранит векторные данные («классы объектов») в виде спагетти-данных, но может создавать структуру соединений «набора сетевых данных» поверх класса линейных объектов. База геоданных также может хранить список топологических правил, ограничений на топологические отношения внутри и между слоями (например, округа не могут иметь пробелов, границы штатов должны совпадать с границами округов, округа должны коллективно охватывать штаты), которые можно проверять и исправлять. [12] Другие системы, такие как PostGIS , используют аналогичный подход. Совсем другой подход заключается в том, чтобы вообще не хранить топологическую информацию в данных, а создавать ее динамически, обычно в процессе редактирования, для выделения и исправления возможных ошибок; это функция программного обеспечения ГИС , такого как ArcGIS Pro и QGIS . [13]
Некоторые инструменты пространственного анализа в конечном итоге основаны на обнаружении топологических связей между объектами:
Oracle и PostGIS предоставляют фундаментальные топологические операторы, позволяющие приложениям проверять «такие отношения, как «содержит», «внутри», «охватывает», «покрывает», «касается» и «перекрывается» с пересекающимися границами». [14] [15] В отличие от документации PostGIS, документация Oracle проводит различие между «топологическими отношениями, [которые] остаются постоянными, когда координатное пространство деформируется, например, путем скручивания или растяжения» и «нетопологическими отношениями, [которые] включают длину, расстояние между ними и площадь». Эти операторы используются приложениями для обеспечения топологически правильного хранения и обработки наборов данных. Однако топологические операторы по своей сути сложны, и их реализация требует соблюдения требований удобства использования и соответствия стандартам. [16]