Основы геоинформатики. Лекция 4
1 марта 2024 г.
Цифровая модель материального или абстрактного объекта реального или виртуального мира с указанием его идентификатора, координатных и атрибутивных данных.
База пространственных данных
Задача базы пространственных данных — организовать хранение пространственных объектов так чтобы их можно было использовать для решения задач.
Совокупность пространственных данных, организованных по определенным правилам, устанавливающим общие принципы описания, хранения и манипулирования данными, предназначенная для удовлетворения информационных потребностей пользователя.
Жаргон
Не рекомендуются к использованию словосочетания: база геоданных, пространственная база данных, база данных ГИС
Иерархическая модель — представление базы данных в виде древовидной структуры, состоящей из иерархически соподчиненных объектов.
Ограничения
cложность добавления и удаления элементов;
необходимость любые концепции представлять в виде иерархии.
есть связи \(1:1\) и \(1:N\), но нет связей \(M:N\).
Сетевая модель — представление базы данных в виде графовой структуры, состоящей из связанных объектов.
Ограничения
cложность добавления и удаления элементов;
необходимость любые концепции представлять в виде графа.
Реляционная модель — представление базы данных в виде совокупности таблиц.
Преимущества
нет необходимости явных связей;
возможность представлять практически любые сущности и их отношения.
Ограничения
более медленная трассировка связей;
избыточность хранения: у каждого объекта одинаковый набор атрибутов
Таблица называется отношением (relation).
Отсюда название модели — реляционная.
Домен — допустимое множество значений.
в широком смысле — тип данных атрибута: текст, целое число, действительное число, дата, геометрия и т.д;
в узком смысле — конкретный перечень или интервал значений;
Ключ отношения — это подмножество атрибутов, имеющее следующие свойства:
уникальность идентификации (значение ключа уникально для каждого кортежа);
ни один из атрибутов ключа нельзя удалить, не нарушив его уникальности;
служит для обеспечения неизбыточности и целостности БД.
Таким образом
И первичный и внешний ключ может состоять из нескольких атрибутов. Например, каждая запись может определяться уникальным сочетанием даты и региона измерения.
Допустимое множество операций над атрибутом зависит не только от его домена, но также от шкалы измерения.
Шкала | Множество | Отношение больше/меньше |
---|---|---|
номинальная | неупорядоченные элементы | нельзя определить |
порядковая | упорядоченные элементы | да/нет |
интервальная | с заданным расстоянием | насколько больше/меньше |
относительная | с заданным расстоянием и абсолютным нулём | во сколько раз больше/меньше |
Допустимое множество операций над атрибутом зависит не только от его домена, но также от шкалы измерения.
Шкала | Арифметика | Пример |
---|---|---|
номинальная | равенство / неравнство | типы почв |
порядковая | +больше / меньше | классы пожароопасности |
интервальная | +разность, среднее | температура воздуха |
относительная | +сумма, отношение | валовой внутренний продукт |
Геореляционной называется реляционная база данных с поддержкой геометрических доменов значений.
Пространственный объект
В геореляционных БД один кортеж соответствует одному пространственному объекту.
В геореляционных базах данных допустимое множество операций над атрибутом также зависит от того как он получен относительно пространства.
Опора измерений — физический объем, подвергнутый измерению.
Экстенсивные атрибуты
Пропорциональны опоре измерений. Суммируются при объединении территорий и делятся при разделении.
Интенсивные атрибуты
Не пропорциональны опоре измерений. Осредняются при объединении территорий и остаются прежними при разделении.
объекты реальности, их отношения и характеристики; концептуальные модели географической информации; источники данных; пользовательские требования.
модели данных; cтруктура базы данных, ее разбиение на связанные элементы; атрибуты объектов и их типы данных.
фактическое представление данных в памяти компьютера; программное и аппаратное обеспечение
База пространственных данных должна быть:
согласованной по времени – данные должны соответствовать определенному времени, быть актуальными;
полной, достаточно подробной для предполагаемых целей анализа и моделирования;
позиционно точной, абсолютно совместимой с другими данными, которые могут добавляться в нее;
достоверной, правильно отражающей характер явлений посредством атрибутов;
легко обновляемой и доступной для выбранной катгории пользователей;
неизбыточной и внутренне непротиворечивой.
Совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Основные функции СУБД:
управление хранением данных во внешней (дисковой) и оперативной памяти;
выполнение транзакций — последовательностей процедур;
обеспечение надежности — способности восстанавливать состояние БД после аппаратного или программного сбоя
поддержка специального языка управления БД.
Неделимая с точки зрения воздействия на БД последовательность операций манипулирования данными
Примеры
Примерами транзакций могут служить:
чтение данных;
преобразование отдельных единиц данных;
добавление или удаление кортежей (записей);
изменение логической схемы данных — например, добавление новых атрибутов или отношений.
Вычисление выполняется для изменения значений одного атрибута. При этом могут использоваться значения других атрибутов или информация о геометрии объектов.
Пример
Перевести проценты (0-100) в доли (0-1)
Интерполяция используется для вычисления промежуточных значений на основе существующих.
Пример
Восстановление пропусков в данных, например в ряду речных расходов (гидрограф).
Важно
Для выполнения интерполяции объекты (строки) необходимо упорядочить (по времени или другому атрибуту).
Классификация (реклассификация) используется для разделения значений на группы, определяемые номинальной или порядковой шкалой измерений.
Пример
Классификация населенных пунктов по людности на основании численности населения.
Заметим, что
Не обязательно классифицировать числовой атрибут, можно также перевести одну классификацию в другую. Например, уменьшить число классов, объединив их в более крупные.
Агрегирование используется для вычисления сводных значений для групп объектов.
Пример
Вычисление средней крутизны склона для водосборов, входящих в бассейны разных рек.
Важно
В процессе агрегирования происходит объединение геометрий объектов в мультигеометрии. При этом пересекающиеся в рамках одной мультигеометрии объекты могут быть объединены в один с удалением общих границ,
Фильтрация используется чтобы оставить в данных только те кортежи, атрибуты которых соответствуют заданным критериям.
Пример
Оставить только лесные и степные фитоценозы с количеством осадков выше 500 мм в год
Проекция используется чтобы оставить только нужные атрибуты объектов.
Пример
Из всех атрибутов оставить только мощность осадков и номер отдела четвертичного периода.
Важно
Проекция приводит к изменению структуры таблицы
Соединение используется чтобы объединить атрибуты соответствующих объектов из двух таблиц в одну.
Пример
К данным по регионам присоединить статистику по промышленному производству.
Важно
Для определения соответствия необходимо указать ключевые поля — атрибуты, уникальным образом идентифицирующие объекты в обеих таблицах.
Structured Query Language (SQL) — язык структурированных запросов. Применяется для создания, модификации и управления данными в реляционной базе данных.
SQL используется для выполнения атрибутивных запросов.
Простейшая форма запроса — проекция:
SELECT
<атрибуты> FROM
<отношение>
Примеры
Получить таблицу метеостанций целиком (*
):
SELECT
*
FROM
stations
Получить только столбцы идентификатора и имени метеостанции:
SELECT
id,name
FROM
stations
Для выполнения фильтрации запрос расширяется:
SELECT
<атрибуты> FROM
<отношение> WHERE
<условия>
AND
(и) и OR
(или).Примеры
Все метеостанции на Шпицбергене (tid = 3
):
SELECT
*
FROM
stations
WHERE
tid = 3
Все метеостанции на Шпицбергене, либо основанные до 1950 года:
SELECT
*
FROM
stations
WHERE
tid = 3 OR year < 1950
Идентификатор и имя станций на Шпицбергене, не принадлежащих Норвегии (oid <> 2
):
SELECT
id,name
FROM
stations
WHERE
tid = 3
AND
oid <> 2
Проверить на вхождение в множество можно через IN()
Инвертировать условие можно через NOT
.
Проверить пустоту можно через IS NULL
.
Примеры
Все метеостанции на Шпицбергене или в Гренландии:
SELECT
*
FROM
stations
WHERE
tid IN (0, 3)
Все метеостанции не на Шпицбергене, и не в Гренландии
SELECT
*
FROM
stations
WHERE
tid NOT IN (0, 3)
Все метеостанции, у которых не указана территория:
SELECT
*
FROM
stations
WHERE
tid IS NULL
Также в SQL распространены операторы:
LIKE
— для выполнения неточных сравнений (например, поиска топонимов);
BETWEEN
— для проверки вхождения в интервал значений;
GROUP BY
— для выполнения агрегирования по атрибуту;
JOIN
— для соединения таблиц (существуют разные виды соединений).
При проверки условий используются стандартные символы:
>, >=, =, <, <=
<>, !=
— неравенство
База данных
База пространственных данных
Реляционная модель
Атрибут
Интенсивный / Экстенсивный
Кортеж
Первичный ключ
Домен
СУБД
Транзакция
Запрос
Database
Spatial database
Relational model
Attribute
Intensive / Extensive
Tuple
Primary key
Domain
DBMS
Transaction
Query
Самсонов Т. Е. Основы геоинформатики: курс лекций