Нетопологическая модель векторных данных: спагетти-модель

Простейшей векторной структурой данных является спагетти-модель [Dangermond, 1982], которая, по сути, переводит "один в один" графическое изображение бумажной карты. Возможно, она представляется большинством из нас как наиболее естественная или наиболее логичная, в основном потому, что карта реализуется как умозрительная модель. Хотя название звучит несколько странно, оно на самом деле весьма точно, по сути. Если представить себе каждый графический объект нашей бумажной карты кусочком (одним или несколькими) макарон, то вы получите достаточно точное изображение того, как эта модель работает. Каждый кусочек действует как один примитив: очень короткие - для точек, более длинные - для отрезков прямых, наборы отрезков, соединенных концами, - для границ областей. Каждый примитив — одна логическая запись в компьютере, записанная как строки переменной длины пар координат (X,Y).

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

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

В отличие от спагетти-модели, топологические модели [Dangermond, 1982], как это следует из названия, содержат топологическую информацию в явном виде.

Рассмотрим топологическую модель данных на примере модели данных покрытия ARC/INFO – одного из форматов данных, который многие годы считался одной из наиболее удачных разработок компании ERSI.

Топологическая информация описывается набором узлов и дуг. Узел (node) — больше, чем просто точка, обычно это пересечение двух или более дуг, и его номер используется для ссылки на любую дугу, которой он принадлежит. Каждая дуга (аrс) начинается и заканчивается либо в точке пересечения с другой дугой, либо в узле, не принадлежащем другим дугам.

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

Линейно-узловая топология.

Линейно-узловая топология (дуга-узел) выражает пространственные взаимосвязи между дугами и узлами: она определяет длину, направление, связность. Географический анализ опирается на эти свойства.

Узлы. From-node – начальная точка дуги, to-node – конечная точка дуги. Они определяют, как цифровались ваши данные. Направление дуг важно, если вы моделируете направленные потоки (например, реки или движение транспорта). Информация о топологии хранится в специальных таблицах.

Длина дуги измеряется от начального узла (from-node) до конечного узла (to-node). Единицами измерения длины являются единицы измерения картографической проекции.

Направление дуги определяется от начального узла (from node) к конечному узлу (to-node).

Связность. Дуги соединяются узлом. По определению дуги с номерами 4,7,8 на слайде соединены, поскольку каждая из них имеет общий узел с номером 8. Таблица внизу показывает эти пространственные отношения.

Полигонально-линейная топология представляет пространственные взаимосвязи между дугами и полигонами, которые ограничиваются дугами; она определяет площадь и соседство. Географический анализ также опирается на эти свойства.

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

Соседство. Два полигона соседние, если у них общая дуга. Программа (ARC/INFO) нумерует полигоны и хранит их как левый полигон (LPOLY#) и правый полигон (RPOLY#). Один и тот же полигон может быть левым полигоном в отношении одной дуги и правым полигоном по отношению к другой дуге.

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

Обратите внимание, что полигон 5 и левый, и правый в верхнем списке. Полигон 5 является правым полигоном в отношении дуг под номером 6 и 10, но он же и левый полигон по отношению к дуге 14.

Внешний полигон. Когда ARC/INFO строит полигонально-линейную топологию, всегда создается один "внешний" полигон, представляющий площадь, которая остается за границами покрытия. Дуги, определяющие внешние границы вашего полигонального покрытия, являются внутренней границей внешнего полигона.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: