Чтение RSS
Рефераты:
 
Рефераты бесплатно
 

 

 

 

 

 

     
 
Визуализация в ГИС при наличии пространственных ограничений

Визуализация в ГИС при наличии пространственных ограничений

Л.К. Самойлов, С.Л. Беляков, М.П. Сидоренко

Взаимодействие пользователя с геоинформационной системой (ГИС) осуществляется чаще всего в диалоговом режиме. Суть диалога заключается в формировании запросов серверу ГИС и получении ответов в виде картографических изображений. Эффективность диалога определяется скоростью регенерации изображения на экране при переходе между локальными участками электронной карты.  Данная скорость в значительной степени зависит от числа примитивов, описывающих ответ на запрос пользователя. Здесь предполагается, что электронная карта представлена в векторном формате, наиболее распространенном в ГИС.

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

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

В общем виде под задачей визуализации будем понимать следующее: имеется множество примитивов исходной карты G, в результате выполнения некоторой процедуры получено множество RG примитивов ответа на запрос. Требуется найти множество примитивов EGR такое, что |E|min.

Все пространственные ограничения можно классифицировать по нескольким признакам. Так с точки зрения пользователя пространственные ограничения описывают:

пространственную окрестность для заданной точки в виде окружности с радиусом d. Попадание в окрестность любой точки примитива является критерием отнесения его к множеству E. Пространственные ограничения этого типа могут эффективно использоваться при описании примитивов, контур которых представляет собой окружность, например колодцы в системах городских коммуникаций;

пространственную окрестность для каждого примитива giR, попадание в которую любого другого примитива gkR, (ki) является критерием отнесения его к множеству E. Данный вид ограничений эффективен, например, в задачах, связанных с коммуникациями: пространственная окрестность трубопровода, дороги, энергосети значительно меньше пространства, которые они охватывают;

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

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

пространственную окрестность в виде областей на карте, внутри которых предусмотрена визуализация всех примитивов, если, по крайней мере, один из примитивов, принадлежащих множеству R, попадает в область. Данная ситуация имеет место, например, при изучении чрезвычайной ситуации в некотором районе. В отличие от предыдущего варианта, область ограничений связывается с областью существования объектов и, в принципе, может задавать ограничения для любого из описанных выше вариантов.

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

1) ограничения, задаваемые окружностями:

Как видно из рис.1 координаты примитивов множества E для круга должны удовлетворять условию:

,                     (1.а)

.                      (1.б)

где x0, y0- центр круга, вокруг которого вводится пространственная окрестность, r - радиус круга, d - длина пространственной окрестности, x, y - координаты рассматриваемого примитива.

Примитив, попавший в пространственную окрестность заданного объекта (примитива) может иметь большую пространственную протяженность. Следовательно, имеет смысл разрезать его в точке пересечения с ограничивающей окружностью. Поэтому предлагается следующий порядок отбора примитивов. Вначале координаты примитива анализируются на выполнение соответствующего условия (1.а) или (1.б). Если условие выполняется, то считается, что примитив принадлежит множеству E. В противном случае анализируется вариант пересечения примитива и окружности, полученной по неравенству (1.а) или (1.б) соответственно. Если и это условие не выполняется, то примитив исключается из рассмотрения, иначе примитив разрезается в точке его пересечения с ограничивающей окружностью, и оставшаяся в пространственной окрестности часть примитива приписывается к множеству E. Соответствующий алгоритм разрезания описан в [3].

2) ограничения, задаваемые эллипсами:

Координаты примитивов множества E для эллипса должны удовлетворять следующим условиям:

,                            2.а)

.                          (2.б)

где x0, y0 - центр круга, вокруг которого вводится пространственная окрестность, a, b - большая и фокальная полуоси описываемого эллипса соответственно, d - длина пространственной окрестности, x, y - координаты рассматриваемого примитива.

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

3) ограничения, задаваемые дугами окружностей:

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

,                      (3)

где C=(x0, y0) - центр дуги, вокруг которой вводится пространственная окрестность,

r - радиус дуги,

d -длина пространственной окрестности,

x, y - координаты рассматриваемого примитива,

A - точка, расположенная в начале дуги,

B - точка, расположенная в конце дуги,

D - точка, расположенная на одной оси с точкой ‘C’ со смещением

вправо, например (x0+1, y0).

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

4) ограничения, задаваемые произвольными многоугольниками:

Как видно из рис.4-5 многоугольник, описывающий пространственную окрестность, не может быть получен простым масштабированием исходного контура (контура, описывающего заданный объект) по двум причинам:

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

b) стороны многоугольника, описывающего пространственную окрестность, как демонстрируют рис.4 и рис.5, ограничены дугами окружностей на внутренних углах, меньших .

Исходя из этих причин, предлагается следующий алгоритм, который учитывает все особенности преобразования контуров. Суть алгоритма заключается в следующем:

Из исходного множества вершин P (|P|=N) контура, описывающего заданный объект, строятся уравнения прямых (соответствующие формулы широко освещаются во всех печатных изданиях по машинной графике и аналитической геометрии, например, в [1-4]).

Согласно результатам, полученным в предыдущем пункте, строятся уравнения прямых многоугольника, задающего пространственные ограничения. Данные прямые смещены в направлении от контура объекта (см. случай, изображенный на рис. 5) и к контуру объекта (см. случай, изображенный на рис. 4). Уравнения прямых, параллельных ребрам многоугольного контура, можно построить по [4].

По формуле, аналогичной (1.б), определяются неравенства, ограничивающие отрезки полученного многоугольника в его углах.

Определяется множество V1 точек пересечения соседних отрезков и множество V2 точек пересечения отрезков и соответствующих окружностей, полученных из неравенств на шаге 3.

Последовательно обходя контур, из множеств V1 и V2 формируется искомое множество V вершин многоугольника, описывающего пространственную окрестность заданного объекта.

В итоге, любой примитив, попадающий в окрестность объекта, должен удовлетворять хотя бы одному из условий:

примитив попадает или пересекает многоугольник, составленный из вершин множества V;

координата примитива удовлетворяет одному из условий неравенств, полученных из неравенств на шаге 3.

Если примитив пересекает контур пространственной окрестности, то его необходимо разрезать в точках пересечения, пользуясь обобщенными на случай разрезаемого примитива алгоритмами разрезания произвольной прямой произвольным многоугольником. Данные алгоритмы описаны в [1] и [2], а более полный анализ приведен в [3]. Представим результаты анализа таких алгоритмов, приведенные в [3].

Таблица 1.

Разрезание отрезков прямой многоугольным окном

Название  метода

Окно

Элементарная операция

Сложность

Сазерленда (дихотомический вариант)

Прямоугольное

Сравнение положения точки и контура (с кодированием)

Вычисление середины отрезка

O(Log2 (размер отрезка))

Сазерленда-Коэна

Прямоугольное и выпуклое

Кодирование точки относительно контура

Вычисление точки пересечения отрезков прямых

O(2n),

где n - число ребер контура

Павлидиса

Прямоугольное и выпуклое

Сравнение точка-отрезок (однородные координаты)

Вычисление точки пересечения отрезков прямых

O(n)

Прослеживание контура

Произвольной формы

Сравнение положения точки по отношению к прямой

Пересечение прямой с отрезком другой прямой

O(n)

Как видно из таблицы 1, при разрезании отрезка многоугольным произвольным контуром необходимо пользоваться алгоритмом прослеживания контура. Ж.Эгрон отмечает, что в частном случае, когда окно имеет форму прямоугольника, метод Сазерленда (дихотомический вариант) наилучшим образом приспособлен для реализации на жесткой логике. В ином случае аппаратная реализация на программируемом устройстве лучше согласуется с алгоритмом Павлидиса, причем степень преимущества определяется характеристиками сцены (содержанием в ней вершин и горизонтальных линий). Следовательно, если многоугольник выпуклый, то целесообразно пользоваться более специализированными алгоритмами, например алгоритмом Павлидиса [2,3]. Если же многоугольник представляет собой прямоугольник, стороны которого параллельны осям координат (далее по тексту просто ”прямоугольник”), то процесс определения факта нахождения примитива в многоугольнике пространственной окрестности сводится к элементарным операциям сравнения координат и вычисления середины отрезка.

Проведем сравнительный анализ вариантов описания пространственной окрестности. Оценку способов представления описывающих контуров будем производить с точки зрения времени формирования пространственной окрестности Tф. Процесс формирования пространственной окрестности можно разделить на несколько составляющих:

построение уравнений ограничений;

анализ примитивов на попадание в заданную пространственную окрестность и, если это необходимо, их последующее разрезание.

Время Tур, затрачиваемое ГИС на построение уравнений ограничений, различается для каждого из способов. Так при построении уравнений окружностей (1.а, 1.б) затраты времени минимальны по сравнению с другими методами. Для второго и третьего способов затраты времени почти не отличаются от первого, т.к. количество проводимых вычислений (инициализации соответствующих коэффициентов в уравнениях 2.а, 2.б, 3) пренебрежительно мало. По-другому обстоит дело с формированием уравнений ограничений произвольными многоугольниками. Как видно из предложенного алгоритма, процесс формирования многоугольников контура пространственной окрестности занимает некоторое, значительно превышающее для первых трех случаев, время. И чем больше вершин содержит описываемый контур, тем больший промежуток времени занимает этот процесс. Таким образом, соотношение времен, затрачиваемых на построение уравнений ограничений, имеет следующий вид:

Tур1< Tур2< Tур3

 
     
Бесплатные рефераты
 
Банк рефератов
 
Бесплатные рефераты скачать
| Интенсификация изучения иностранного языка с использованием компьютерных технологий | Лыжный спорт | САИД Ахмад | экономическая дипломатия | Влияние экономической войны на глобальную экономику | экономическая война | экономическая война и дипломатия | Экономический шпионаж | АК Моор рефераты | АК Моор реферат | ноосфера ба забони точики | чесменское сражение | Закон всемирного тяготения | рефераты темы | иохан себастиян бах маълумот | Тарых | шерхо дар борат биология | скачать еротик китоб | Семетей | Караш | Influence of English in mass culture дипломная | Количественные отношения в английском языках | 6466 | чистонхои химия | Гунны | Чистон | Кус | кмс купить диплом о language:RU | купить диплом ргсу цена language:RU | куплю копии дипломов для сро language:RU
 
Рефераты Онлайн
 
Скачать реферат
 
 
 
 
  Все права защищены. Бесплатные рефераты и сочинения. Коллекция бесплатных рефератов! Коллекция рефератов!