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

Визуализация в ГИС при наличии пространственных ограничений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
197
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

Раздел 2

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ

УДК 681.3

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

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

Взаимодействие пользователя с геоинформационной системой (ГИС) осуществляется

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

гиг и получении ответов в виде картографических изображений. Эффективность диалога

отделяется скоростью регенерации изображения на экране при переходе между локальными

участками элеюронной карты. Данная скорость в значительной степени зависит от числа

Гимитивов, описывающих ответ на запрос пользователя. Здесь предполагается что

электоонная карта представлена в векторном формате, наиболее распространенном в ГИС. электрон рпр^^ ответы сервера шс содержат избыточные примитивы. Их

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

^ ' ,ппМЦ< рис - набор фрагментов (например, стандартных геодезических

ПОЛНОСТЬЮ карту, в сложных 1 г тг

планшетов), представляющих общую карту системы.

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

В общем виде под задачей визуализации будем понимать следующее: имеется множество примитивов исходной карты С, в результате выполнения некоторой процедуры получено множество Я£0 примитивов ответа на запрос. Требуется найти множество

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

ПРИЗН • постранственную окрестность для заданной точки в виде окружности с радиусом д.

• ___«отипгтк любой точки примитива является критерием отнесения его к

Пппапание в окрестни^и» *

Е Пространственные ограничения этого типа могут эффективно использоваться

ти *описании примитивов, контур которых представляет собой окружность, например

колодцы в системах городских коммуникаций;

• пространственную окрестность для каждого примитива §¡6 Я, попадание в которую

любого* другого примитива Ек К, (V к ^ 0 является критерием отнесения его к множеству Е. Панный вид ограничений эффективен, например, в задачах, связанных с коммуникациями: ственная окрестность трубопровода, дороги, энергосети значительно меньше

пространства, которые они охватывают;

• тюстранственную окрестность заданного примитива, определяемую пересекающими

ивами Данный вид пространственных ограничений можно использовать для

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

описания тел > « л «4

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

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

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

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

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

Рис. 1. Задание пространственных ограничений окружностями

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

[(х-хь)2+(у-у*)2>(г-<1)г, (1а)

\(х-Хо)2+(^-уо)2 <(г + Л)2

{х-хо)г+(у-уо)2<(г + г/)2 (1>б)

где хо, Уо- центр круга, вокруг которого вводится пространственная

°крестность,

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

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

х, у - координаты рассматриваемого примитива.

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

* Множеству Е. Соответствующий алгоритм разрезания описан в [3].

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

Рис.2. Задание пространственных ограничений эллипсами

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

(х- хо)2 (у- уо)2

(а-сі)2 (х-хо)2 (■« + ¿)2 (х- хо)2

(Ъ-Ъ2

СЬ + с1)2 (у-у«)2

+

>1,

<1

(а + (і) где окрестность, а, Ь -

! {Ь + й)2

Хо, Уо- центр

<1.

(2-а)

(2.6)

круга, вокруг которого вводится

пространственная

большая и фокальная полуоси описываемого эллипса соответственно (1 - длина пространственной окрестности, ’

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

Как видно из сравнения формул (].а, 1.6) и формул (2.а 2 б) 1ЯПЯ

ограничений эллипсами аналогично предыдущему случаю поч™»«, НИС пРостРаиственных

_ , ЭТОМу здесь СПпапрпттипп вгр

вышесказанное по отношению к ограничениям окружностями. ^«»адливо все

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

Рис.З. Задание пространственных ограничений

Этот случай аналогичен первому, только здесь вводятся еще два ограничения связанных с углом к центру дуги окружности. Таким образом, примитивы мно*™^’ пространственной окрестности дуги ДОЛЖНЫ удовлетворять условию- ия«*,1ив с

где окрестность, г -

с=(х0, Уо) -

(х-хо)2 + (у - уо)2 > (г - <1)г, (х-хо)2 +(у- уо)2 £ (г + (¡)2, /_ОС(х,у)> /_йСВ,

АИС(х, у) <, АйСА центр дуги, вокруг которой вводится пространственная

(3)

радиус дуги,

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

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

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

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

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

например (хо+1, уо).

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

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

Рис.4. Задание пространственных ограничений произвольными многоугольниками

Рис.5. Задание пространственных ограничений произвольным многоугольником

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

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

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

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

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

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

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

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

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

Таблица 1.

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

Название метода Окно Элементарная операция Сложность

Сазерленда (дихотомический вариант) Прямоугольное Сравнение положения точки и контура (с кодированием) Вычисление середины отрезка 0(Ьо§2 (размер отрезка))

Сазерленда-Коэна Прямоугольное и выпуклое Кодирование точки относительно контура Вычисление точки пересечения отрезков прямых 0(2п), где п число ребер контура

Павлидиса Прямоугольное и выпуклое Сравнение точка-отрезок (однородные координаты) Вычисление точки пересечения отрезков прямых О(п)

Прослеживание контура Произвольной формы Сравнение положения точки по отношению к прямой Пересечение прямой с отрезком другой прямой О(п)

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

многоугольник представляет собой прямоугольник, стороны которого параллельны осям координат (далее по тексту просто ’’прямоугольник”), то процесс определения факта нахождения примитива в многоугольнике пространственной окрестности сводится к элементарным операциям сравнения координат и вычисления середины отрезка.

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

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

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

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

Тур,< Тур2<- ТурЗ« Тур4, ^ ^ ---

где Т* время формирования уравнений ограничений ¡-м (/ = 1,4) способом

представления описывающих контуров.

Время Т., затрачиваемое на анализ и разрезание примитивов для формирования

пространственной окрестности, зависит от нескольких факторов, среди которых, помимо заданных уравнений ограничений, огромную роль играет тип и количество анализируемых примитивов. Так, например, наиболее простым для анализа примитивом является отрезок, а самым сложным полилиния (примитив, сочетающий в себе свойства отрезка и дуги окружности - термин векторного графического редактора). Будем считать, что характеристики анализируемого пространства электронной карты одинаковы да каждого из оцениваемых способов Тогда, исходя из анализа уравнений (1.а, 1.6, 2.а, 2.6, 3), можно утверждать, что среди первых трех способов представления описывающих контуров справедливо следующее соотношение: ^

гдГт!’^ ТВрёмя_анализа и разрезания примитивов для формирования пространственной

окрестности 1-м (г = 1,3) способом представления описывающих контуров.

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

т < т < т < т

г7етп;- время*3’анализа и разрезания примитивов для формирования контура Пространственной окрестности представленной прямоуюльником.

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

алгоритмом прослеживания «опт». Как видно из табл.1, врем, анализ, и разрезан.» Гши^ов т формирован™ прострашпвенной окрестности Т_ в зтом случае прямо пролсфционально числу вершин контура окрестности, м. чем болше вершин в Ж— ограничивающем пространстнную окрестаость, тем больше временные на ее формование. Таким образом, с учетом (6), получаем следующее соотношение:

Неравенств (4^ и ""Ь) описывают соотношение времен, составляющих процесс формирования пространственной окрестности: ^

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

самом^деле^' это допущение естественно, т.к. если бы число анализируемых й ,„1(,Гтяенно малым, то не существовало бы задачи построения

С уче^м (8) н (9), соотношение времен фо^»»»™ пространственной окрестности имеет следующий вид:

Тф,пр<Тф1<Тф2<ТфЗ«Тф-и.

гдеТ - время формирования пространственной окрестности ьм (1 = 1,3) способом гте оставления описывающих контуров,

представления о формирования пространственной окрестности при помощи

прямоугольника,^^ формирования пространственной окрестности при помощи

произвольного МН°3Г? 10)Наиболее предпочтительными с точки зрения времени формирования Как видно из■ ’ являются первые три способа представления описывающих

^^Хв'(ш™°ассифи1сацию по способ», представления описывающих кошу^ов) и особенно ^ Лчлгчииппияния пространственной окрестности при помощи прямоугольника, стороны которого параллельны осям координат. Исходя из этих позиций, чрезвычайно привлекательно которою иауши объекта прямоугольником, окружностью или эллипсом и задать

поостоанГтеен^е Ограничения при помощи соответствующих уравнений. Но это

пространь всппш К ПОЯВЛению примитивов, которые не должны попадать во

’’огрубление в1 ре У пространственной окрестности. То есть аппроксимация контура

обГеТта гоиводит к появлению избыточности результата, которая напрямую зависит от степени Огрубления” этого контура. Задача состоит в том, чтобы определить: можно ли аппроксимировать контур объекта таким образом, чтобы время формирования результата с аппрок и к „пн-тл/пом не превышало времени формирования результата с

первоначальным“ (неаппроксимированным) контуром. Такую постановку задачи можно

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

т=т+т ^ ^

где т Ф- предполагаемое время формирования результата при построении ограничений пля объекта с первоначальным контуром,

для ооьск н ^ затрачиваемое системой на поиск объекта, прорисовку и пр.

Поставленную задачу предлагается решить через определение предполагаемого времени формирования простраистаеинов окрестности заданного объекта:

Т <т -Т

Ш1Я оценки"1” Тф необходимо проанализировать ее составляющие (8). Время V ГИС на построение уравнений ограничений, можно оценить по результатам ис^Глований6 проведенных во время построения ГИС. Оценку же второй составляющей ппеллагается ’производить через величину площади Б, занимаемой анализируемым объектом и его предполагаемой пространственной окрестностью. Для этого необходимо иметь дополнительную информацию о плотности р анализируемого участка электронной карты

(число примитивов на единицу площади), которую можно хранить и периодически обновлять ВО время функционирования ГИС. Определив таким образом значение Т. как:

Та — р ' 5' Та. пр ,

где Т.™ - среднее время анализа и разрезания одного примитива для формирования пространственной окрестности представленной анализируемым способом,

по формуле (8) необходимо определить величину Тф. Если же выполняется условие неравенства (12), то можно говорить о том, что время формирования пространственной окрестности для объекта с аппроксимированным контуром не превышает времени Формирования пространственной окрестности для объекта с первоначальным контуром. Следовательно, контур объекта необходимо аппроксимировать.

Задача определения допустимости аппроксимации аналогична задачи анализа «ременных затрат на процесс формирования результата. В этом случае в роли Тдоо может выступать временное ограничение, налагаемое пользователем на процесс диалога с системой.

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

Литература.

'• Павлил™ Т. Алгоритмы машинной п>»фики » “«Р“60™ П'Р- С авгл- ‘ м :

2- «Гн°^*мТос„о.ы интерактивной машинной графики: В 2-х книгах. Пер с англ.

3- Эгр^ ж Си™ иибражений. Базовые алгоритмы: Пер. с франц. ■ М.: Радио ,.связь, 1993.

4 Бугров Я.С. Никольский С.М. Элемеиш линейной алгебры и

Учебник для студентов ииж.-техн. спец. вузов.- 3-е изд., испр. д ..

УДК 53.072

Белякова М.Л.

^ повышении точности дискретизации кривых при оцифровке географических

карт

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

i Надоели баннеры? Вы всегда можете отключить рекламу.