Британский старожил - компания Laser-Scan, одна из немногих в мире перешагнувшая тридцатилетний рубеж, выпустила топологическое расширение для Oracle9i под названием Radius Topology (www.radius.laser-scan.com).
Трудно быть пазлом
Топологическими называются свойства, которые не изменяются при деформациях, производимых без разрывов и склеиваний.
Например, возьмем изображение сложенного пазла и растянем его так, чтобы картинка стала трудно различимой. Несмотря на такое варварское отношение, кое-какие его свойства останутся прежними. Во-первых, не изменится число элементов. Во-вторых, каждый элемент сохранит свое место среди соседей и на каждом будет тот же рисунок, хотя и искаженный. Если части линии на рисунке были соединены, то они будут едины и после растягивания.
Схема поддержки топологичности карт в Oracle9i
Деформация резиновых пазлов является не единственным случаем, когда топологические отношения оказываются полезными. Топологичность карты пригодится, когда географические объекты, хранящиеся в базе данных, должны сохранять свои пространственные связи при различных манипуляциях. Это, к примеру, актуально для транспортных и инженерных сетей, сетей связи, трубопроводов.
Дорогая топология
В течение весьма длительного времени считалось, что создание и поддержка топологических карт - удовольствие весьма дорогое. Топологические отношения пространственных объектов рассчитывались в случае необходимости на лету. Со временем, тем не менее, все больше ГИС стали поддерживать топологические карты, и мнение о дороговизне подобного подхода изменилось. К 1997 г. специалисты даже пришли к выводу, что “ГИС без топологии - вообще не ГИС” (см. http://gisnews.icc.ru/topology.html).
Таким образом, Radius Topology компании Laser-Scan объединяет две магистральные тенденции: с одной стороны, это расширение знаменует очередной шаг в направлении перевода средств управления пространственными данными в СУБД, а с другой - является продолжением движения в сторону все более массовой топологичности картографических данных.
География и СУБД: удачный союз
Процесс сближения географии и СУБД начался в 80-х годах, когда были предложены гибридные системы, в которых атрибутивная информация содержалась во внешних базах. В конце 90-х появились пространственные расширения в СУБД, так называемые Spatial Cartriges. Первой такой системой стала Oracle (см. PC Week/RE, № 35/99, с. 5). Впоследствии практически все основные промышленные СУБД получили возможность хранить географические данные (см. PC Week/RE, № 44/2001, с. 30).
Все изменения данных, хранящихся в БД, контролируются приложением Radius Topology Manager. Топология данных обновляется каждый раз, когда данные создаются или изменяются (spatialnews.geocomm.com/features/laserscan2/).
Ядро Radius Topology - не новое. Эти алгоритмы использовались более 10 лет в ПО Laser-Scan Gothic и некоторых продуктах британской фирмы Ordnance Survey, например в MasterMap. В свое время с его помощью было обработано 400 млн. многоугольников, первоначально представлявших собой данные типа “спагетти”. Ручная корректировка потребовалась только для 1% данных. В ходе обработки многоугольников MasterMap исправила более 60 млн. неточностей и несовпадений.
Полезно и экономично
Выполнение пространственных запросов в случае, если данные топологичны, ускоряется намного - более чем на порядок.
Топологичность данных значительно облегчает решение множества задач. Наиболее популярная из них - поиск пути. Управление границами - еще одна задача, для решения которой данные должны быть топологичными. Это особенно важно, когда границы имеют иерархическую структуру (например, области и районы). Кроме того, проверка топологичности данных позволяет гарантировать их целостность. В целом возможность хранить и управлять данными в Oracle без разрывов, наложений и пересечений, открывает широкие перспективы использования этих данных различными приложениями, избегая проблем конвертации и избыточных вычислений.
Реализация, предложенная Laser-Scan, выполнена согласно абстрактной спецификации Open GIS Consortium (www.opengis.org) и стандарту ISO 19107. Расширение может работать как с Oracle9i Spatial, так и с Oracle9i Locator.