Так как данные этих двух типов - линии и полигоны, в ГИС TopoL тесно связаны между собой топологическими отношениями, мы рассмотрим их во взаимодействии.
|
Топологические отношения линий и полигонов в блоке TopoL
Векторные объекты показаны своими условными знаками, на которые наложены служебные символы:
красные кружки - точки в линии, красные стрелки показывают направления линий.
Цифры под красными стрелками - внутренние номера линий.
Цифры на белом фоне - внутренние номера полигонов.
|
Каждая линия имеет собственный номер (на рисунке без белой рамки), имеет направление (показано красной стрелкой), и, если линия топологическая, то в узловых точках, где сходятся две и более линий, она "знает" номера ближайших примыкающих к ней слева и справа линии, как у начального узла, так и у конечного. Если в узле сходятся только две линии, то номера левой и правой примыкающих линий будут у них совпадать. Если с какого либо конца линии узла нет, то есть, нет примыкающих линий, то эти номера будут равны -1. Если все четыре номера примыкающих линий равны -1, значит эта линия не связана топологическими отношениями с другими линиями.
Посмотреть топологические индексы для линий можно, нажав кнопку Информация в форме редактора линий (см.
2.6.3.2
).
Линии"знают" координаты образующих линию точек. Число точек в линии в TopoL не имеет таких строгих ограничений, как в других ГИС и может быть большим.
Наличие топологических связей в линиях является достаточной информацией для создания полигона в пространстве между линиями. Созданные полигоны сами по себе являются топологическими объектами, но их наличие фиксируется и в топологии линий. Если линия является границей полигонов, то она"знает" номера полигонов (на рисунке с белой рамкой) слева и справа по ходу линии.
Полигон, созданный в топологической контурной сети, не имеет собственного контура, состоящего из точек с координатами, как в объектных ГИС. Топологический полигон"знает" номера всех линий, образующих его границу, а также число и номера всех полигонов, являющихся островами внутри него.
Топологическая модель TopoL не запрещает линии со свободным "непривязанным" концом находиться внутри полигона. Типичный пример такой линии - ручей, исток которого находится внутри выдела. Внутри полигона может находиться и полностью свободная линия, и линия, замкнутая на себя. Но такая замкнутая на себя линия автоматически не станет островом внутри внешнего по отношению к ней полигона при ручном его создании. Чтобы появился остров, надо создать полигон внутри этой линии.
|
|