Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Необъектные топологии. Линейно-узловая топология.




· Необъектные топологии:

o ("внутриобъектные" и "межобъектные") Линейно-узловые топологические отношения. "Объект" в линейно-узловых ГИС и в объектных ГИС - это несколько различные понятия, поэтому я взял в скобки

Создание узловой топологии - это следующий шаг в историческом развитии тех разработчиков объектных ГИС, которые не решились реализовать после первой своей типичной объектной идеи более полезные виды топологических структур, ограничившись полумерой. А всякая полумера даёт лишь небольшой выигрыш. ГИС практически не становится в таком случае действительно топологической, т.к. солидные задачи системы только с узловой топологией решать не могут. Многие разработчики, являясь оптимистами-максималистами (в противном случае они - плохие разработчики), на самом деле перескакивают через такой этап в своём развитии и реализуют в своей новой версии ГИС сразу линейно-узловую топологию. Но для полноты изложения материала, всё-таки скажем несколько слов и об узловой топологии.

Узловая топология экономит только память, игнорируя перегрузку работящего процессора при отрисовке общих линий полигонов. Посмотрим на рисунок

Здесь показаны те же два полигона. Заметим, что внутренняя структура данных, описывающая объекты, несколько изменилась. Теперь все точки, которые есть на карте (безотносительно, каким объектам они принадлежат), собраны в один гигантский список, а каждый объект содержит в своей индивидуальной структуре данных только ССЫЛКИ на те точки из этого списка, которые обозначают его вершины.

Единый глобальный список координат точек позволяет сэкономить на дублях координат точек, т.к. этих дублей теперь нет. Есть всегда только один экземпляр координат каждой точки. Ссылки во внутренних структурах объектов, относящиеся к вершинам, могут адресоваться к этим общим точкам одновременно из нескольких полигонов-соседей (на карте).

Итак, память экономится, но общая грань всё равно перерисовывается дважды.

Однако, известно, что, выигрывая в чём-то, мы проигрываем в другом. Хорошо видно из приведённой структуры данных, что каждый из смежных полигонов лишается своей личной собственности - координат точек, которые теперь обобществлены в едином списке точек, и на них могут "претендовать" теперь уже несколько хозяев. Этот коммунальный список точек для всех объектов лишил объекты структурной автономности, и теперь уже вовсе непросто переместить объект как целое; общую точку передвинуть нельзя, т.к. она является собственностью и другого - смежного - полигона. Даже изменить форму объекта простым способом не очень получается, т.к. она (операция) выполняется путём перемещения общих точек с другим полигоном. Вообщем, - коммуналка в памяти компьютера налицо и так же, как нельзя унести из коммунальной кухни общую и единственную кастрюлю на загородный пикник, оставив соседей умирать в безпосудной квартире, так нельзя и изменить координаты общей точки, чтобы не нарушить форму смежных объектов. Эта трагедия ГИС с узловой и линейно-узловой топологией ставит жирный крест на их применении в большинстве муниципальных задач. Действительно, для мелкомасштабных природных карт - всё хорошо, т.к. там объекты таковы, что их форма не относится к объектам с действительно автономной структурой. А вот в городе, где самостоятельных объектов - подавляющее большинство, подвигать объекты, ломая формы смежных объектов просто опасно.

Например, пусть стоят рядом два дома с общей стеной. Каждый дом имеет свою форму, которая записана в его ТЕХНИЧЕСКОМ ПАСПОРТЕ. Да и каждый дом инвентаризируется часто отдельно от других (потом пристроили к нему сарайчик - тоже со своим техпаспортом, например). И вот Вы нарисовали объект в соответствии с техпаспортом (согласовали его с наземными измерениями), а потом кто-то на цифровой карте начал корёжить форму соседнего домика, пытаясь изменить координаты вершин, относящихся и к смежному дому. Поскольку это ОБЩАЯ для обоих домов точка, то её Х и У изменятся, а потому изменится и форма смежного дома. Прощай его техпаспорт!

Хорошо, если в топологической ГИС такого типа пользователю даются средства, чтобы клонировать (создать дубль) общей точки - с целью присвоения отрываемым полигоном этой копии (она сразу же вносится в глобальный список точек).

Ещё минус: Узловая и линейно-узловая топологии в случае реализации указанных видов внутренних структур данных, НЕ ПОЗВОЛЯЮТ ГЕОИНФОРМАЦИОННОЙ СИСТЕМЕ СТАТЬ ОБЪЕКТНОЙ. Для этого нужно полностью изменить архитектуру системы (структуры внутренних данных), о чём я говорил в своём предыдущем материале по МГИС. Так что ESRI, наверное, приходится нелегко… Что-то они попытались сложить в кучу в своей ArcView GIS, но получилось именно "в кучу" - возникла и не объектная, и не линейно-узловая ГИС, а ВЬЮЕР. И действительно отображать такую структуру данных на экран можно без труда, а вот редактировать карту с линейно-узловой топологией, но как автономно-объектную структуру - хоть тресни - нелегко. Пришлось им говорить всему миру, что - дескать - ArcView читает картографические данные во внутренних форматах ArcInfo (читай: с линейно-узловой топологией), а вот рисовать что-то своё, товарищи, можете только по-объектному (как в MapInfo, т.е…). Правда, вот, не удалось эти две очень различные концепции структур данных повязать вместе; в объектных покрытиях межобъектной топологии всё равно нет, а линейно-узловые структуры не больно поредактируешь.

Сейчас что-то стало очень тихо за океаном, - видать думают разработчики-экологи из ESRI, как бы им перелопатить архитектуру своих систем для персоналок - уж больно хочется выйти на уровень муниципальных задач! Даже простенькую AtlasGIS купили вместе с компанией, чтобы хоть что-то иметь объектное и на персоналках. Разбавили, значит, свою кровь программистами с объектной идеологией. Да, торопиться и впрямь надо, а то, ведь, эти русские всю Россию объектными топологическими ГИС заполонят… На что жить бедному американцу будет? Откуда деньги качать? Может быть, в 1998г. сделают стОящее?! Поживём - увидим.

Пока мы увлеклись охаиванием узловой топологии, а потом легко и непринуждённо перенеслись в этом вопросе на линейно-узловую, забыли посмотреть на очередной рисунок - для "линейно-узловых" структур данных. А зря. Структура данных преобразовалась ещё больше и теперь экономия пошла ещё дальше, распространившись теперь на упомянутое ранее время отрисовки карты. Смотрим на рисунок 3.

Опять видим те же два дежурных полигона, но теперь структуры данных полигонов ещё более перемешались между собой в группах "коммунальных" описателей. Кроме глобального списка обобществлённых точек (узлов) возник глобальный список обобществлённых (коммунизированных) линий. Следовательно, в самих "личных" структурах полигонов теперь хранятся только ССЫЛКИ на описатели линий (рёбер), из которых состоит полигон. На общее ребро двух полигонов может быть много ссылок - ровно столько, сколько полигонов граничит между собой этим ребром. А уже каждая структура, кодирующая линию, так же, как и в простой узловой топологии всё так же не содержит координат граничных точек, а опять же имеет только ССЫЛКИ НА ЗНАЧЕНИЯ С КОРДИНАТАМИ из глобального списка точек. Вот такая вот иерархия ссылок, в которой "листиками" являются координаты Х,У точек на карте!

Но, конечно же, линейно-узловая топология - это всё-таки достаточно неплохая структура, описывающая пространственные данные. Выполнению многих видов пространственного анализа на мелкомасштабных картах она очень помогает. Но вот с динамическими объектными картами работать эффективно не сможет. Объектное моделирование для неё также закрыто. Словом, на сегодня что-то она делает, но будущего у неё НЕТ. - Неандертальский, стало быть, путь.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...