- •Оглавление
- •Введение
- •1.1. Определения и задачи геоинформатики
- •1.2.1. Определение и толкование базовых понятий геоинформатики
- •1.3. Общее представление о ГИС
- •1.4. Основные этапы развития ГИС
- •1.5. География и ГИС
- •2.1. Типы и источники пространственных данных
- •2.2. Проектирование географических баз данных
- •2.2.1. Требования к базе данных
- •2.2.2. Этапы проектирования базы данных
- •2.3. Представление пространственных объектов в БД
- •2.3.1. Выбор модели пространственной информации
- •2.3.2. Особенности представления пространственных объектов в БД
- •2.3.3. Позиционная и семантическая составляющие данных
- •2.4. Системы управления базами данных в ГИС
- •2.4.1. Функции СУБД
- •2.4.2. Задачи и функции СУБД в ГИС
- •2.4.3. Базовые понятия реляционных баз данных
- •2.4.4. Язык реляционных баз данных SQL — функции и основные возможности
- •2.4.5. Объектно-ориентированные и реляционные структуры БД
- •2.4.6. СУБД в архитектуре «клиент-сервер»
- •2.5. Организация и форматы данных
- •2.6. Качество данных и контроль ошибок
- •2.6.1. Типы ошибок в данных и их источники
- •2.6.2. Позиционная точность данных
- •3.1. Требования к техническому и программному обеспечению ГИС
- •3.3. Характеристика технических средств ГИС
- •3.4. Технологии ввода графической информации
- •3.5. Преобразования форматов данных
- •3.7. Общая характеристика программных коммерческих ГИС-пакетов
- •4.1.1. Пространственная привязка данных и преобразование проекций
- •4.1.2. Алгоритмы трансформирования геоизображений
- •4.1.3. Определение координат контрольных точек
- •4.1.4. Оценка ошибок трансформирования
- •4.2. Дискретная географическая привязка данных
- •4.3. Операции с данными в векторном формате
- •4.3.1. Представление пространственных объектов и взаимосвязей
- •4.3.2. Алгоритмы определения пересечения линий
- •4.3.3. Способы вычисления длин линий, периметров и площадей полигонов
- •4.3.4. Алгоритм «точка в полигоне»
- •4.3.5. ГИС-технологии пространственного анализа
- •4.3.6. Операции оверлея полигонов
- •4.4. Хранение и преобразование растровых данных
- •4.4.1. Кодирование и сжатие информации
- •4.4.2. Иерархические структуры данных. Дерево квадрантов
- •4.4.3. Операции с растровыми слоями БД
- •4.4.4. Технологии анализа данных, основанные на ячейках растра
- •4.5. ГИС-технологии совмещения и оценки пригодности данных
- •5.1. Методы пространственного анализа
- •5.1.1. Классификация объектов путем группировки значений их признака
- •5.1.2. Методы интеграции признаков для исследования взаимосвязей и классификации объектов
- •5.1.3. Исследование взаимосвязей объектов с использованием операций оверлея слоев
- •5.1.4. Выбор объектов по пространственным критериям. Построение запросов
- •5.1.5. Анализ сетей
- •5.1.6. Тематическое согласование слоев
- •5.2. Методы пространственного моделирования
- •5.2.2. Подготовка исходных данных для создания модели
- •5.2.3. Интерполяция по дискретно расположенным точкам
- •5.2.4. Построение статистических поверхностей
- •5.2.5. Определение местоположения и оптимального размещения объектов
- •5.2.6. Моделирование пространственных распределений
- •5.2.7. Интерполяция по ареалам
- •5.3. Применение пространственных моделей
- •5.4. Обеспечение принятия пространственных решений
- •5.4.1. Методы обеспечения поддержки принятия решений
- •5.4.2. Понятия нечетких географических объектов и нечетких множеств
- •5.4.3. Экспертные подсистемы ГИС
- •6.1. Разработка ГИС-проекта
- •6.2. Общие вопросы проектирования базы данных ГИС
- •6.3. Учет особенностей моделей данных и функциональных средств ГИС
- •Глава 7. Задачи и методы геоинформационного картографирования
- •7.1. Определения, особенности и задачи геоинформационного картографирования
- •7.2. Основные этапы развития методов и средств автоматизации в картографии
- •7.3. Географические основы ГК
- •7.4. Структура системы геоинформационного картографирования
- •7.5.1. Задачи проектирования картографических БД
- •7.5.2. Качество цифровых карт
- •7.6.1. Электронные и компьютерные карты
- •7.6.2. Графические стандарты
- •7.6.3. Спецификация цвета и цветовые палитры
- •7.6.4. Компоновка электронных и компьютерных карт
- •7.7. Методы геоинформационного картографирования
- •7.7.2. Создание тематических карт на основе методов пространственного моделирования в ГИС
- •7.8. Автоматизированная генерализация тематических карт
- •7.8.1. Семантическая и геометрическая генерализация
- •7.8.2. Элементы генерализации линий
- •7.8.3. Использование теории фракталов
- •7.9. Формализация и алгоритмизация процесса картографирования
- •7.9.1. Картометрические функции
- •7.9.2. Определение положения центральной точки полигона и скелетизация
- •7.9.3. Построение системы картографических знаков и размещение надписей
- •7.10. Новые направления и технологии геоинформационного картографирования
- •7.10.1. Оперативное картографирование и картографические анимации
- •7.10.2. Картография и Интернет
- •Глава 8. Цифровая обработка изображений для создания баз данных ГИС и тематических карт
- •8.1. Применение данных дистанционного зондирования в ГИС и тематическом картографировании
- •8.2. Методы цифровой обработки космических снимков
- •8.3. Методы дешифрирования, основанные на преобразовании спектральных яркостей
- •8.3.1. Спектральное пространство и дешифровочные признаки
- •8.3.2. Синтез изображений и анализ главных компонент
- •8.3.3. Производные дешифровочные признаки
- •8.4. Алгоритмы классификации
- •8.4.1. Правила и типы автоматизированной классификации
- •8.4.2. Алгоритмы контролируемой классификации
- •8.4.3. Алгоритмы неконтролируемой классификации
- •8.4.4. Оценка результатов классификации
- •8.5. Алгоритмы выполнения географического анализа по космическим снимкам
- •8.5.1. Изучение динамики явлений (объектов) по картам и снимкам
- •8.5.2. Изучение географических объектов с использованием методов нечеткой и экспертной классификации
- •Литература
- •Учебники и учебные пособия
- •Монографии
- •Справочники и руководства
- •Предметный указатель
150 |
Глава 4. Элементы ГИС-технолосмм |
становится равной 1 м, снижаясь до 17 см на 24-м уровне. Важным свойством QTM кодов является тот факт, что длина кода может быть использована, чтобы обозначить индивидуальный уровень позиционной точности, поскольку индивидуальный код указывает на код меньшего треугольника, который надежно включается в него.
а |
б |
Рис. 4.6. Схема глобальной иерархической триангуляции:
п— схема Даттона; 6 — модель QTM
4.3.Операции с данными в векторном формате
Выше рассматривались технические вопросы ввода и визуализации пространственных данных. Рассмотрим алгоритмические методы формализации этих процессов, наиболее часто используемые в ГИС. Алгоритмы, предназначенные для выполнения технологических процедур (а не только математических вычислений), в большинстве своем основаны на эвристике и используют разные стратегии, направленные на кардинальное сокращение и упрощение поиска решений. Они часто помогают в трудно формализуемых случаях. Основная их задача заключается в построении объекта из набора координат и создании цифрового представления атрибутов и связей.
4.3.1. Представление пространственных объектов и взаимосвязей
Пространственные объекты — точки, линии и полигоны — кодируются с помощью пар координат:
43. Операции с данными в векторном формате |
151 |
•точка: (х, у)\
• |
линия: (xv у1), (*2, у2),...(хп, уп)\ |
• |
полигон: (л:,, у,), (*2, у2),...(хп, уп). |
Для построения линии или полигона нужно соединить последовательно каждую пару точек отрезком прямой или плавной линией. Для точечных объектов координаты могут выступать и в роли атрибутов. Для других объектов атрибуты хранятся в таблицах, а координаты — в отдельных файлах; группа координат, определяющая один объект, сопровождается индивидуальным идентификатором (ID).
При построении цифровых баз пространственных данных наиболее сложная проблема — представление взаимосвязей и способы их кодирования.
Можно выделить три вида технологического представления взаимосвязей в пространственных БД.
1.Взаимосвязи, которые используются для построения сложных объектов из простых элементов (например, взаимосвязь между линией и упорядоченным набором определяющих ее точек).
2.Взаимосвязи, которые вычисляются по координатам объектов (например, можно выявить все перекрытия типов почв с одной карты
стипами использования земель на другой карте).
3.Взаимосвязи, которые нельзя вычислить по координатам, — они должны кодироваться при вводе данных (например, можно вычислить, пересекаются ли две линии, но нельзя узнать, как пересекаются дороги, представленные ими, — в месте пересечения перекресток или мост).
Возможности представления взаимосвязей в базе данных ГИС определяют разделение БД на топологические и картографические.
Втопологических базах данных взаимосвязи кодируют и представляют как дополнительные атрибуты. Рассмотрим способы кодирования двух типов объектов: линейных — связи в сетях, и полигональных — связи между полигонами.
Связи в сетях. Сети состоят из объектов двух типов: линии или дуги, состоящие, как правило, из линейных сегментов, носящие общее название «связи» (в некоторых пакетах «звенья») и узлы — пересечения или соединения линий. Для кодирования связей узлам присваиваются дополнительные атрибуты (идентификаторы) — входной и выходной узел (рис. 4.7 а).
152 |
Глава 4. Элементы ГИС-технолосмм |
в
Рис. 4.7. Связи в сетях (а) и между полигонами (б)
В БД таким связям могут соответствовать два типа |
записей |
|||||||
(табл. 4.2). |
|
|
|
|
|
|
||
Таблица 4.2. Представление связей в таблицах атрибутов сетей |
|
|||||||
Связи, основанные на дугах |
Связи, основанные на узлах* |
|||||||
Дуга |
От |
К |
Прочие |
Узлы |
Дуги |
Прочие |
||
атрибуты |
атрибуты |
|||||||
|
|
|
|
|
||||
1 |
В |
А |
А1 An |
А |
1 - 5 |
А1 |
An |
|
2 |
С |
В |
|
В |
3 2 - 1 |
|
|
|
3 |
D |
В |
|
С |
- 4 - 2 5 |
|
|
|
4 |
С |
D |
|
D |
4 - 3 |
|
|
|
5 |
А |
С |
|
* «-» указывает дугу, выходя- |
||||
|
щую из узла. |
|
|
|||||
|
|
|
|
|
|
Используя подобную структуру, можно двигаться по линиям связей, отыскивая те из них, у которых перекрываются номера узлов.
Связи между полигонами. При работе с площадными объектами большое значение имеет понятие смежности. Для смежных полигонов, имеющих общий участок границы, нет необходимости дублировать запись его координат в БД; хранение данных об общих границах позволяет избежать и дублирования при цифровании, а значит и проблем несовпадения двух вариантов данных. Некоторые системы кодирования требуют присвоения общим дугам атрибутов полигонов, находящихся слева или справа от них. Во многих ГИС-пакетах для хранения этой информации используются три типа записей: таблица атрибутов полигонов, таблица атрибутов дуг и набор пар координат, определяющих
43. Операции с данными в векторном формате |
153 |
геометрию дуг (в пакете ARC/INFO эти файлы имеют расширение PAT, ААТ и ARC соответственно) (рис. 4.7 6) (табл. 4.3).
Таблица 4.3. Кодирование связей полигонов в таблицах атрибутов
|
PAT |
|
ААТ |
|
|
|
ARC |
||
|
Атрибу- |
Дуги |
Спра- |
Сле- |
От |
К |
Дуги |
Коор- |
|
ID |
ты поли- |
||||||||
ва |
ва |
динаты |
|||||||
|
гонов |
|
|
|
|
|
|
|
|
А |
Al An |
1 |
А |
0 |
а |
с |
1 |
|
|
В |
|
2 |
А |
С |
с |
Ь |
2 |
(х>Ю |
|
С |
|
3 |
А |
В |
Ь |
а |
3 |
|
|
|
|
4 |
0 |
в |
а |
d |
4 |
|
|
|
|
5 |
В |
с |
Ь |
d |
5 |
Ш) |
|
|
|
6 |
0 |
с |
d |
с |
6 |
(*>У) |
4J.2. Алгоритмы определения пересечения линий
Информация для создания цифровой карты в большинстве случаев собирается и представляется послойно, отражая иерархический процесс ручного картографирования. Большинство ГИСтехнологий анализа и визуализации таких слоев базируется на операции определения пересечения линий. Она является ключевой при выполнении векторных процедур наложения полигонов, слияния
ипоглощения полигонов и линий, удаления остаточных контуров
ит. п., включая выяснение принадлежности точки полигону. Базовой частью алгоритма для этой операции является определение существования точки пересечения двух линейных отрезков, заданных координатами их концов, и вычисление ее координат.
Основной вопрос, который решает этот алгоритм: пересекает ли
линия, соединяющая точки с координатами (xv г/1 > и (х2, у2) одной оцифрованной кривой (линейного объекта или границы полигона),
154 |
Глава 4. Элементы ГИС-технолосмм |
|
с линией, соединяющей точки (ur |
и (u r |
v.2) — другой, и если да, |
то где? |
|
|
Запишем уравнение отрезка в параметрическом виде: |
||
X- х{ + (х2 - х{) t |
|
|
IУ= У\+(Уг~ Ух)* |
(4J2) |
где t — параметр (0 < t < 1); начальная точка (xv у,) отрезка соответствует t = 0, конечная точка (xv y2)-t = 1. Предполагается, что хотя бы одна из разностей (х2 - х^) и (у2 - г/,) отлична от 0. Аналогично записывается уравнение отрезка второй линии:
I х= щ+ (м2- |
их)х |
\y=v2+(v2-v{)x' |
^ 13) |
где т - параметр (0 < т < 1).
Точка пересечения (если она есть и находится в пределах
отрезков) определяется системой: |
|
|
(х2-xx)t- |
(и2 — щ)т= щ- хх |
|
(У2-У\)*- |
(v2~ |
Щ~У\ . |
0<;<1, |
0< т< 1. |
( 4 1 4 ) |
Для нахождения решения системы уравнений необходимо определить значения трех детерминантов — главного:
А = (и2 |
- |
и^(у2 |
- |
ух) |
- |
(х2 |
- |
xx)(v2 |
- |
v j |
(4.15) |
|
и двух частных: |
|
|
|
|
|
|
|
|
|
|
|
|
Д(1) |
= (и2 - |
U])(v2 |
- |
У]) |
- |
(U] |
- |
X])(v2 |
- |
|
(4.16) |
|
Д(2) |
= (х2 |
- |
|
|
-уу)-(их- |
|
х^(у2 |
|
- у}). |
|
Возможны следующие случаи:
1. Если А * 0, то существует единственная искомая точка пере-
сечения отрезков, определяемая известным правилом Крамера: t = А(1)/Д, х = Д(2)/Д и условиями 0 < £ < 1 и 0 < т < 1 .
2. Если = 0, то тогда должны быть Д(1) = 0 и Д(2) = 0. В этом случае отрезки будут частично или полностью совпадать. При этом
43. Операции с данными в векторном формате |
155 |
возможны четыре варианта их взаимного расположения, которые следует рассмотреть для построения топологических связей объектов (например, смежность, совпадение) и определения координат узлов.
Пусть [ау Ь] — отрезок первой линии, а [с, b] — второй, тогда возможные варианты можно представить графически (рис. 4.8).
\b(t =
с(г = 0) |
\ |
0) / |
\ |
a(t = 0) |
/ ь |
d |
|
с~7 |
d{т = 0Л^ |
|
|
б |
|
a(f=0) |
/ |
= |
» |
b(t = |
|
|
|
В |
|
|
Г |
Рис. 4.8. Варианты перекрытия отрезков линий
В качестве примера рассмотрим подробнее вариант 1 (рис. 4.8а). Здесь начала и концы исследуемых отрезков расположены в последовательности а, c,b,d и этот случай определяется условиями:
(щ-хх)(щ-х2)< |
О ^ |
yx){vx-у2)<0 |
|
(х2-щ)(х2-и2)< |
0 |
i) (1/2-^2)^°' |
(4.17) |
при этом перекрытие отрезков образует отрезок [с, Ь], начало которого определяется условием т = 0 из системы (4.13), а конец — условием t = 1 из системы (4.12).
Рассмотрим теперь две сложные линии, состоящие, соответственно, из пх и п2 прямолинейных отрезков. Все пересечения всех отрезков можно найти путем повторения базовых операций (4.12- 4.17), при этом объем необходимых вычислений будет пропорционален произведению (пххп2). Применение различных эвристических приемов позволит сократить число вычислений. Хотя для этого потребуются дополнительные шаги, общее время обработки должно уменьшиться. Рассмотрим два примера таких методов — построение наименьшего описанного прямоугольника, вмещающего какую-либо линию, и выделение монотонных отрезков.