Анализ алгоритмов разбиения геодезической карты на элементы

ня сервера геоинформационной системы. В их функции входит получение представления (1) при изменении параметров выражений (3) и (4), нахождение совокупности ЭК, “покрывающую” заданную область карты.

Приведенные результаты могут использоваться для одиночных ЭВМ. Роль клиента и сервера в этом случае играет графический редактор ГИС. Параметры, входящие в (3) и (4), могут быть определены экспериментальным путем.

ЛИТЕРАТУРА

1. Малышев С. Новый картографический порядок. Компьютер-пресс, 8/96.

2. Миллер С., Сорокин А. Выбор программных и технических средств ГИС. Компьютерра. 21/96.

УДК 519.85

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

АНАЛИЗ АЛГОРИТМОВ РАЗБИЕНИЯ ГЕОДЕЗИЧЕСКОЙ КАРТЫ НА ЭЛЕМЕНТЫ

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

— ГИС с неравновероятными обращениями к различным частям геодезической карты;

— ГИС, в которых преобладают запросы выбора семантически связанных примитивов (объектов);

— ГИС, в которых преобладают запросы выбора семантически несвязанных примитивов;

— ГИС с равновероятными обращениями к различным частям геодезической карты.

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

Пусть Рк — число примитивов карты, тогда необходимо разбить геодезическую карту на N элементов таким образом, чтобы:

1) число примитивов Рэ, принадлежащих каждому элементу, не превышало Рк/^ т. е. (" Рэ)(Рэ £ Рк/^;

2) никакие два элемента и Ej (1Ф ], 1,] = 1, N) не пересекались бы между собой, т. е. (" Е1,1= 1, N)(" Е], ]= 1, N )(1 Ф ]  (Е1П Е]= 0));

3) все множество элементов покрывало бы геодезическую карту, т.е.

если принять все пространство геодезической карты за G, то Ei = G.

і=1, N

В данной статье анализируются алгоритмы, решающие задачу разбиения.

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

— ячеистые алгоритмы;

— объектные алгоритмы;

— адаптивные алгоритмы.

К ячеистым алгоритмам относятся алгоритмы разбиения геодезической карты на элементы, в основу которых положено понятие ячейки. Ячейка — это семантически независимая часть геодезической карты, получаемая в результате разметки всего пространства геодезической карты на N1 рядов по N2 ячеек в каждом. Примером ячеек выступают геодезические планшеты в масштабе 1:500. Ячейки могут объединяться для получения макроячеек-элементов. Преимущество таких алгоритмов состоит в простоте их описания, относительно малом числе точек, описывающих элементы, и в качестве обработки.

Для примера приведем два ячеистых алгоритма — алгоритм, определяющий размер ячейки по наиболее плотному участку карты (алгоритм 1.1) и алгоритм адаптивного определения макроячейки (алгоритм 1.2). В алгоритме 1.1 вначале задается размер sd сетки плотностей. Затем, определив центр "C" наиболее плотного (с точки зрения числа примитивов на единицу площади) участка геодезической карты и размер ячейки с центром "C", содержащей P^P^N примитивов, алгоритм 1.1 размечает всю карту на ячейки. Далее этот алгоритм объединяет соседние ячейки так, чтобы каждая из полученных таким образом макроячеек не охватывала более P^Pg/N примитивов, и формирует элементы.

Алгоритм 1.1.

Begin

Dm=0

У=0

yy=sd/2

While yy< ymax do x=0, xx=sd/2 While xx< xmax do

D=BыбopCeкOкнo x, yy, x+sd, yy)

D=D+BыбopCeкOкнo xx, y, xx, y+sd)

If D>Dm then Dm=D

C— xx, yy) x=x+sd xx=xx+sd y=y+sd yy=yy+sd

Определить размер ячейки dxd), oхватывающeй P^P^N прими-тивoв, с цeнтpoм C y=0, x=0 Pэ=Pк/N

While y< ymax do

Б=ВыборСекОкно x, y, x+d, y+d) x=x+d

While x< xmax) and Б Ф 0) do Т=ВыборСекОкно x, y, x+d, y+d)

If Т+Б< Рэ

then Б=Б+Т x=x+d

else Сформировать элемент Б Б=0

If БФ 0 then Сформировать элемент Б x=0 y=y+d

End

Здесь xmax — длина геодезической карты, а ymax — ширина (высота) геодезической карты. Операция "ВыборСекОкно(х1,у1,Х2,у2)" означает выбор примитивов, попадающих в окно (xi, yi, Х2, У2) или пересекающих его. Операция "Определить размер ячейки, охватывающей Рэ=Рк/М примитивов (dxd) с центром C" не детализируется.

Алгоритм 1.2 определяет макроячейку без предварительного формирования ячеек.

Алгоритм 1.2.

Begin

y=0

dmin ymax Рэ=Рк/М

While dmin< ymax do

x=0

While x< xmax do

Определить размеры ячейки x, y, x+d, y+d), охватывающей Рэ примитивов

Б=ВыборСекОкно x, y, x+d, y+d)

Сформировать элемент Б If dmin>d then dmin=d x=x+d y=y + dmin

If dmin< ymax then dmin= ymax

End

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

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

Алгоритм 2.1.

Begin

Pэ=Pк/N

type=1

While typeФ 3 do

While O —— Bli6op не пуст) do K — ^нтур O)

If K- замкнут) and type=1)) or K- незамкнут) and type=2))

then

B=Oбъeм K)

While B< P.3 do

Oпpeдeлить No — чиcлo oбъeктoв Oi, i= 1, No , пересекаемых кoнтypoм K i=1

If i < No then Ki — Koнтyp Oi)

Ki — Ki/ Ki П K)

T=Oбъeм Ki)

If B+T<Pэ then K — K U Ki B=B+T i=i+1 K' — K+d T=Oбъeм K')

If T< Pэ then K — K'

B=T

else

Cфopмиpoвать элемент B B=B+1

Исключить oбъeкт O из pаccмoтpeния type=type+1

Oтмeнить исключение oбъeктoв If $ примитив) then ал^ритм 1 2 End

Операция "Выбор" осуществляет выбор первого попавшегося объекта. Операция "Контур^)" означает определение контура объекта x. Операция "Объем^)" означает подсчет числа примитивов, входящих или

пересекающих контур x. Операция "A U B" означает объединение списков A и B, а операция "A О B" — пересечение списков A и B.

Адаптивные алгоритмы применяются только на этапе эксплуатации ГИС. Под адаптацией понимается выделение наиболее часто запрашиваемых участков геодезической карты в отдельные цельные элементы. Примером алгоритмов данного типа является сенсорный алгоритм (3.1). Идея этого алгоритма состоит в следующем. На все пространство геодезической карты "набрасывается" сенсорная сеть. Под ij-сенсором понимается прямоугольник i-го ряда j-й колонки (i= 1,N1, j= 1,N2 ) сенсорной сети, отображающий часть геодезической карты, к которой пользователь обращается с запросом. После R обращений к ГИС сенсорный алгоритм приступает к переразбиению геодезической карты. Приняв максимальный по числу обращений сенсор за материнский, алгоритм 3.1 присоединяет к материнскому наиболее часто используемые соседние сенсоры до тех пор, пока число принадлежащих формируемому элементу примитивов не достигнет Рэ=Рк/№

Алгоритм 3.1.

Begin

NR=NR+1

If mod NR/R) Ф0 then Sxmin= \X1 • N 2]

Sxmax= \X2 ^ N21 Symax= \У2 ^ N11 Sy= \yi • Ni1 While Sy < Symax do

j Sxmin

While j < Sxmax do

S Sy] j] =S Sy] j]+1 j=j+1 Sy=Sy+1

else D — S SN=0

SS — SSS — пустой список While SN<N^N2 do

DD — пустой список

SN=SN+1

SS — Выбор D)

Б=Объем SS)

While Б< Pк/N) and D не пуст) do SSS — ВыборСосед D)

Т=Объем SSS)

If Т+Б< Pк/N then SS — SS U SSS

Б=Б + Т SN=SN+1 else

DD — DD U SSS Сформировать элемент SS D — D U DD

End

Здесь x1, У1, x2, У2 — координаты окна выбора пользователя, S — матрица сенсоров. Операция "mod(x/y)" означает взятие остатка от деления x на у. Операция "Выбор^)" означает выбор максимального по значению сенсора из списка x с последующей записью -1 как значения выбранного сенсора в список x. Операция "ВыборСосед^)" означает выбор максимального по значению сенсора, соседнего с сенсорами списка x, с последующей записью -1 как значения выбранного сенсора в список x. Операция "A и B" означает объединение списков A и B.

Произведем оценку алгоритмов. Алгоритмы необходимо оценивать прежде всего с точки зрения качества обработки. Под качеством обработки понимается величина q, обратная среднему времени выполнения запроса:

1

q=tp:

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

q3.1 > q1.1, q3.1 > qo, q3.1 > q2.1.

Для систем, в которых наиболее часто обрабатываются запросы выбора объекта для вывода на устройство отображения, справедливы неравенства

q2.1 > q1.1, q2.1 > q1.2, q2.1 > q3.1.

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

С точки зрения времени работы все алгоритмы являются алгоритмами с полиномиальным временем, т. е. время выполнения каждого алгоритма, зависящее от заданных Рк и N, ограничено сверху некоторым полиномом ^P^N). Пусть времена работы алгоритмов ограничиваются сверху полиномами:

— для алгоритма 1.1

!0

где j (sd) — время поиска центра наиболее плотного (с точки зрения числа примитивов на единицу площади) участка геодезической карты;

tOT — время определения размера ячейки;

t1.1 — среднее время формирования ячейки алгоритмом 1.1;

— для алгоритма 1.2

^.2

где ^.2 — среднее время формирования ячейки алгоритмом 1.2;

— для алгоритма 2.1

{;и

где ^2.1 — среднее время формирования ячейки алгоритмом 2.1;

— для алгоритма 3.1

!з.1

где ^з.1 — среднее время формирования ячейки алгоритмом 3.1.

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

Нш/1.1( Рк, N, sd)  ¥.

й  0

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

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

этого параметра алгоритмов, соотношение между значениями величин 1 следующее:

11.1 < 13.1 << 11.2 < 12.1.

Если интервал между узлами сетки плотностей в алгоритме 1.1 приблизительно равен ширине ячейки, то ф (б^ »^.^И. Учитывая, что 1яч= ^1.2, можно получить следующее соотношение:

!3.1(Рк,И) < !1.1(Рк,И,ва) < !о(РкД) < !2.1(Рк,И).

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

^3.1 < ^.2 < ^2.1 < ^1.1.

Алгоритм 3.1 меньше других использует оперативную память из-за того, что это наиболее простой, с точки зрения числа операторов, алгоритм. По данным, используемым алгоритмами, наиболее требовательны адаптивные, собирающие специфическую информацию во время эксплуатации ГИС. Алгоритмы 1.2 и 2.1 аналогичны за исключением того, что объектные алгоритмы дополнительно используют семантику примитивов.

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

1. если создается система с неравновероятными обращениями к элементам, то необходимо вначале использовать алгоритм 1.2 (либо 2.1) для разбиения геодезической карты, а во время эксплуатации ГИС использовать сенсорный алгоритм.

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

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

необходимо использовать алгоритм адаптивного определения макроячейки.

ЛИТЕРАТУРА

1. Малышев С. Новый картографический порядок. Компьютер-ПРЕСС. № 8. 1996. УДК 512.85

АН. Целых, Р.П. Тимошенко ОЦЕНКА ЭКОЛОГИЧЕСКОЙ ОБСТАНОВКИ ОКРУЖАЮЩЕЙ СРЕДЫ НА ОСНОВЕ АНАЛИЗА ЗНАНИЙ ЭКСПЕРТОВ

Цель работы состоит в получении компьютерной оценки состояния окружающей среды на основе использования профессиональных знаний экспертов-экологов. Окружающая среда представляется с помощью картографической информации. Каждая карта характеризует определенный экологический слой. Экологический слой является предметом оценки экспертов. Картами описывается один и тот же участок окружающей среды. Все карты представлены в одном масштабе. Карта разбивается на участки равной площади. Участки не пересекаются между собой. Каждый участок карты разбиения характеризуется одинаковым числом признаков.

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

Перед экспертами ставится условие опроса, согласно которому они должны оценивать окружающую обстановку. В качестве примера условия выбираем “очень опасный участок”. Эксперт должен самостоятельно, на основании собственного опыта и знаний оценить экологическую обстановку на участке и принять решение об адекватности участка условию опроса. Экспертам предлагается для каждого признака участка провести оценку важности этого признака при выборе участка, отвечающего условию опроса. Следующим шагом является оценка совместимости признака с участком исследования. Один и тот же признак может иметь различные значения при заданном условии для разных экспертов. Это зависит от знаний эксперта. Использование экспертов обусловлено тем, что информация представлена в нечеткой форме. Используется несколько экспертов для исключения получения согласованной оценки состояния объекта. Для данной модели считаем, что эксперты обладают одинаковой квалификацией и их знаниям можно доверять с равной степенью достоверности. Это допущение делается для того, чтобы при оценке объекта мнения экспертов имели одинаковый вес. Основу метода исследования составляет теория нечетких множеств. В статье использован математический аппа-