Пространственными БДзанимается консорциум Open Geographic Information Systems. Пространственные базы данных – основа геоинформационных систем(ГИС) - компьютерных систем сбора, хранения, обработки и отображения данных с учетом информации о местоположении, и САПР.
Примеры применения ГИС:
Earth Observing System (терабайт данных в год)
Системы сотовой связи
Интернет-маршрутизаторы
GPS – система глобального позиционирования
Примеры систем управления пространственными базами данных (СУПБД)
Специализированный продукт: SDE (spatial data engine) производства Environment Systems Research Institute
Достоинства и недостатки РБД и объектных БД приведены в Табл. 64. Над объектами, содержащих пространственную информацию могут потребоваться дополнительные функции агрегирования, приведенные в Табл. 65. Таким образом, для объектов, содержащих пространственную информацию, необходимы специализированные СУПБД.
Табл. 64. Достоинства и недостатки СУБД для представления пространственной информации
Объекты предметных областей
Реляционные БД
Объектные БД
Топологические отношения
+
+
Пространственная иерархия
-
+
Вещи и явления пространственной протяженности
-
-
Табл. 65. Функции агрегирования в обычных и пространственных БД
Тип данных
Функции агрегирования
Распределительные
Алгебраические
Целостные
Множество чисел
Количество, минимум, максимум, сумма
Среднее, среднеквадратичное отклонение, максимум из N, минимум из N
Сравнение разных типов пространственных СУБД приведено в Табл. 66.
Пример ПБД: Для торговой базы может потребоваться дополнительная пространственная информация: адреса филиалов и клиентов.
Объектное расширение торговой базы данных: запрос 1 - выбрать всех клиентов, офисы которых находятся в 10 км от офиса компании. Запрос 2 - Построить «сферы влияния» филиалов (пространства, где идут продажи). Запрос 3 - Определить, пересекаются ли пространства филиалов, выбрать филиалы, которые граничат не более с чем 4 филиалами по зонам влияния.
Сетевое расширение: запрос - для отдела логистики по сегодняшним заказам сформировать наиболее «экономный» маршрут доставки товара. Полевое расширение: поле стоимости недвижимости.
Data Mining: Сгруппировать клиентов по покупаемым товарам и определить зависимость от стоимости недвижимости.
Табл. 66. Специализированные СУПБД
Тип
Объекты
Операции
Примеры запросов OLTP
Примеры запросов OLAP
Примеры Data Mining
Полевые
Функциональное поле,
Растр
· Локальные (операции над точками)
· Фокальные (напр. градиент высоты)
· Зональные (напр. средняя высота деревьев)
Определить тип местности по аэрофотосъемке
· Заболевания зубов в зависимости от содержания фтора в питьевой воде.
· Обнаружение очага эпидемии.
· Теория Пангеи (все материки были когда-то одним целым, так как их очертания похожи)
Особенность – пространственная автокорреляция (кластеризация сходных объектов в географическом пространстве).
Объектные
Точки
Линии
Кривые
Многоугольники
Поверхности
Геометрические наборы
· Множественно-ориентированные (пересечение)
· Топологические (внутри, смежность)
· Направление (на запад)
· Метрические (расстояние)
· Динамические (разделить, повернуть)
Примеры функций см. в Табл. 67.
· Выбрать всех клиентов, офисы которых находятся в 10 км от офиса компании.
· Перечислить страны, которые граничат с более чем пятью соседями.
· Найти соседей России (см Лист. 97)
Лист. 97. Запрос к ОПБД
Select C1.Name as «соседи России»
From Country C1, Country C2
Where Touch(C1.shape, C2.shape) = 1 and C2.Name = ‘США’
Разделить курортную зону Кавказа на районы, граничащие с морем, равнинные и горные районы и определить динамику средней цены на землю в них с течением времени. См. Рис. 35
Сетевые
Графы
Вершины
Ребра
· Путь
· Связность
· Сформировать оптимальный маршрут между двумя точками города по транспортной сети.
· Найти все узлы, из которых доступен данный (см. Лист. 98).
Лист. 98. Запрос к СПБД
Select source
From FallsInto
Connect by prior source = dest
Start with dest = 1
(prior to определяет направление, в данном случае – все дочерние узлы)
Connect by source = prior dest
Построить множество маршрутов между двумя филиалами компании, сгруппировать их по регионам, через которые они проходят, и вычислить кол-во клиентов в каждой группе.
Истина, если геометрия простая (без самопересечений)
Boundary
Граница геометрии
Топологические операции и операции над множествами
Equal
Истина, если внутренние области и границы обеих геометрий совпадают
Disjoint
Истина, если граница и внутренние области не пересекаются
Intersect
Истина, если геометрии имеют общие элементы
Touch
Истина, если границы двух поверхностей пересекаются, а внутренние области – нет
Cross
Истина, если внутренняя область поверхности пересекается кривой
Contains
Проверяет, содержит ли одна геометрия другую
Overlap
Истина, если внутренние области геометрий пересекаются
Пространственный анализ
Distance
Кратчайшее расстояние между двумя геометриями
Buffer
Геометрия, содержащая все точки, лежащие на указанном или меньшем расстоянии от данной геометрии
ConvexHull
Наименьшее выпуклое геометрическое множество, заключающее в себе данную геометрию
Intersection
Геометрическое пересечение двух геометрий
Union
Геометрическое объединение двух геометрий
Difference
Фрагмент геометрии, который не пересекается с другой геометрией
SymmDiff
Фрагменты двух геометрий, непересекающиеся друг с другом
Рис. 35. OLAP в ГИС
Подробнее о ПБД см. [10].
Д/З 15 Для примера из Д/З 4 придумайте пространственные расширения исходной модели: полевое, объектное, сетевое. Напишите запросы на каждую модель OLTP (для объектных баз 3 запроса с использованием операций из трех групп), OLAP, Data Mining.
Вопросы для самопроверки:
1. Чем сетевые пространственные БД отличаются от сетевых БД?
2. Чем объектные пространственные БД отличаются от объектно-ориентированных БД?
3. Чем пространственные БД отличаются от многомерных кубов?