Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс / 1 семестр / ГИС / Лурье И.К. - Геоинформационное картографирование - М., КДУ - 2008.pdf
Скачиваний:
1248
Добавлен:
23.07.2018
Размер:
14.5 Mб
Скачать

156

Глава 4. Элементы ГИС-технолосмм

Прямоугольник определяется минимальными и максимальными

значениями координат х и у

вмещаемой линии. Приближенной

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

Линию можно разделить на отрезки, на которых л: и у монотонно убывают или возрастают. Монотонные отрезки обладают свойством, что прямая, параллельная оси х или оси г/, пересекает такой отрезок не более одного раза, и существует точка перегиба, в которой х или у достигают частного максимума или минимума. Эти свойства можно использовать для уменьшения объема вычислений при поиске пересечений: если в одном направлении отрезок продолжает возрастать, он не может изменить направление и снова пересечь другую линию. Такой подход использован в ARC/INFO и других коммерческих ГИС-пакетах. Он позволяет уменьшить количество вычислений для определения пересечения двух сложных линий от значения, пропорционального (п^хп2)у до значения, пропорционального (пt + п2).

4.3.3. Способы вычисления длин линий, периметров и площадей полигонов

Измерение размеров и исследование форм объектов — одна из базовых технологий ГИС-анализа. Они позволяют получать количественные характеристики линейных и полигональных объектов, помимо тех, которые представлены атрибутами в БД.

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

;=1

(4.18)

где п — число отрезков.

 

Очень часто в ГИС требуется найти площадь

полигонального

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

43.Операции с данными в векторном формате

157

ь

У, а

d

с

 

 

О

 

 

X

Рис. 4.9. Определение площади полигона

 

Площадь каждой трапеции [abed] вычисляется как

 

s-(x2-xx)(y2

+ yx)/2,

(4.19)

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

полигона - (*,+ г у. + х) = (xvy{).

Для вычисления площади полигона нужно сложить площади

всех трапеций

 

 

 

5= V2l((*,

+ 1 -

УгЛ

(4.20)

i=i

 

 

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

Этот алгоритм хорошо работает, когда в полигоне есть незапол- ненные участки (дыры) и выступы, и не работает для полигонов, у которых границы взаимно пересекаются.

На основе аналогичных вычислений можно определять пара- метры формы линейных и полигональных объектов. Извилистость линии оценивается отношением длины линии к расстоянию между

158

Глава 4. Элементы ГИС-технолосмм

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

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

4.3.4. Алгоритм «точка в полигоне»

Часто возникают задачи определения расположения точки внутри или вне полигона: какой из полигонов содержит каждую из точек и т. п. Например, требуется установить атрибуты участка (полигона) землепользования, который включает указанный дом.

Общий подход к решению этого типа задач состоит из двух процедур (рис. 4.10):

1)провести вертикальную линию от исследуемой точки вверх («до бесконечности»);

2)подсчитать, сколько раз эта линия пересечет границу полигона:

если число пересечений нечетное, точка находится внутри полигона;

если четное — вне.

 

Поскольку полигоны представляются

 

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

 

пересечений необходимо проверить все

 

отрезки, используя описанный выше алго-

 

ритм. Пересечение проведенной верти-

 

кали с границей полигона существует

 

только в том случае, когда найдутся две

 

последовательные точки (вершины) на

Рис. 4.10. Алгоритм

границе полигона, которые расположены

«точка в полигоне»

соответственно слева и справа от линии.

43. Операции с данными в векторном формате

159

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

пересечения может не быть, если вертикаль совпадает с вертикальным участком границы полигона;

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

43.5. ГИС-технологии пространственного анализа

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

Средства анализа пространственно-атрибутивной информации являются неотъемлемой функциональной составляющей любой современной ГИС. В совокупности со средствами стандартного языка структурированных запросов SQL (см. параграф 2.4.4) они предоставляют пользователю гибкие инструменты обработки и управления информацией.

Детально рассмотрим функции анализа пространственного положения объектов, так как функции обработки атрибутивной информации в ГИС (сортировка, группировка, поиск значений, калькуляция, статистика и пр.) аналогичны функциям, используемым в обычной СУБД.

160

Глава 4. Элементы ГИС-технолосмм

Технологии пространственного анализа данных в ГИС включают четыре типа базовых операций.

1.Объединение смежных объектов, относящихся к одному классу.

2.Вырезание подмножества объектов для создания нового

слоя.

3.Построение буферных зон.

4.Операции наложения слоев (оверлей).

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

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

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

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