Языки пространственных запросов

Выразите следующие запросы на языке


Все запросы в упражнениях 1 и 2 относятся к информации, приведенной в таблице 3.1.
1. Выразите следующие запросы на языке реляционной алгебры.

  1. Найти все страны, ВВП которых выше 500 млрд дол., но ниже 1 трлн дол.
  2. Привести среднюю продолжительность жизни в странах, на территории которых расположены истоки рек.
  3. Найти все страны, расположенные в Южной Америке либо имеющие население менее 2 млн чел.
  4. Составить список городов, находящихся за пределами Южной Америки.

2. Выразите на языке SQL запросы, перечисленные в упражнении 1.
3. Выразите следующие запросы на языке SQL.

  1. Вычислить количество стран, в которых проживает менее 100 млн чел.
  2. Найти в Северной Америке государство с наименьшим ВВП. Не использовать функцию Min. Указание: вложенный запрос.
  3. Составить список стран, расположенных в Северной Америке илиимеющих столицы с числом жителей менее 5 млн чел.
  4. Найти страну, занимающую второе место по уровню ВВП.

4. Reclassify (см. раздел 2.1.5) – это функция агрегирования, которая объединяет пространственные геометрические объекты на основе непространственных атрибутов. Она создает новые объекты из уже существующих, в общем случае, путем удаления внутренних границ между соседними многоугольниками, в которых выбранный атрибут принимает одинаковое значение. Можно ли выразить операцию Reclassify при помощи операций OGIS и языка SQL92 с поддержкой пространственных типов данных? Поясните ответ.
5. Рассмотрим геометрическую модель данных на рис. 2.2. Принимая, что в «мировом» масштабе города представляются точечными типами данных, ответьте на вопрос: какой тип данных нужно использовать для представления стран мира? Примечание. Сингапур, Ватикан и Монако – это государства. Каковы будут результаты реализации пространственных функций, рекомендованных стандартом OGIS?
6. Автор статьи [Egenhofer, 1994] предлагает список требований к расширениям языка SQL для пространственных приложений. Эти требования перечислены ниже. Какие из рекомендаций вошли в стандарт OGIS SQL? Назовите возможные причины того, что внедрение прочих рекомендаций было отложено.


Пространственные АТД Пространственная иерархия абстрактных типов данных и операции над ними
Графическое представление Естественная среда взаимодействия с пространственными данными
Сочетание результатов Сочетание результатов последовательности запросов
Контекст Погружение результата в тот или иной контекст путем включения информации, которая не запрашивалась в явном виде
Изучение контекста Обеспечение механизмов управления процессом построения карты
Выбор методом указания Постановка и задание ограничений путем указания на карту
Манипуляции с изображением Изменение графического представления пространственных объектов и их частей
Легенда Описательная легенда
Метки Метки для лучшего понимания изображения
Выбор масштаба карты Построенная карта должна дать пользователю возможность применять свои навыки в интерпретации фактического размера изображенных объектов; выбор указанного масштаба визуализации
Интересующая область Средства сужения интересующей области до конкретного географического района
<
7. Стандарт OGIS включает набор топологических пространственных предикатов. Как следует расширить стандарт с целью включения в него предикатов направления, таких, как восток, север, северо-восток и т. д.? Заметим, что предикаты направления могут допускать нечеткую формулировку: «Где заканчивается северо-восток и начинается восток?»
8. Это упражнение связано с исследованием пространственно-расширенной модели девяти пересечений DE-9IM (dimension-extended nine-intersection model). Она расширяет описанную в главе 2 модель девяти пересечений Эгенхофера. Матрица-шаблон модели DE-9IM показана ниже.
.
Ключевое различие между 9IM и DE-9IM состоит в том, что проверка каждого элемента матрицы на пустоту заменяется в модели DE-9IM требованием наличия лишь информации о размерности геометрического объекта. Размерность плоских двухмерных объектов может принимать четыре значения: –1 для пустого множества, 0 для точек, 1 для линий и 2 для объектов ненулевой площади. Во многих случаях значение элемента матрицы не имеет значения. Приведем список значений, которые могут содержаться в элементах матрицы.
T: X и Y должны пересекаться:
= 0, 1, 2. X и Y – это либо внутренние, либо внешние области, либо границы A и B соответственно.
F:
= –1. X и Y должны быть непересекающимися.
*: Существование пересечения не имеет значения.
= {–1, 0, 1, 2}.
0:
= 0.
1:
= 1.
2:
= 2.
Ниже приведена сигнатурная матрица (signature matrix) двух равных объектов.

  • Какой вид имеет сигнатурная матрица (матрицы) топологических операций touch и cross? Заметим, что сигнатурная матрица зависит от комбинации типов данных. Сигнатурная матрица комбинации точка/точка отличается от аналогичной матрицы комбинации составной многоугольник/составной многоугольник.
  • Какую операцию (и комбинацию типов данных) представляет следующая сигнатурная матрица?


  • Проанализируйте примеры, приведенные на рис. 3.3. Каковы их сигнатурные матрицы в моделях 9IM и DE-9IM? Действительно ли DE-9IM превосходит 9IM? Выскажите свое мнение.





  • Рис. 3.3. Примеры объектов [Clementini and Felice, 1995]
    9. Выразите следующие запросы на языке SQL, используя неточечные типы данных и функции стандарта OGIS.

    1. Перечислить все города из таблицы City, находящиеся в пяти тысячах миль от Вашингтона.
    2. Какова длина участков реки Парана в Аргентине и Бразилии?
    3. Имеют ли Аргентина и Бразилия общую границу?
    4. Составить список стран, которые полностью лежат к югу от экватора.

    10. Дана схема: RIVER [РЕКИ] (NAME [НАЗВАНИЕ]:char, FLOOD-PLAIN [ПОЙМА]:polygon, GEOMETRY [ГЕОМЕТРИЯ]:linestring) ROAD [ДОРОГИ] (ID [НОМЕР]:char, NAME [НАЗВАНИЕ]:char, TYPE [ТИП]:char, GEOMETRY [ГЕОМЕТРИЯ]:linestring) FOREST [ЛЕСА] (NAME [НАЗВАНИЕ]:char, GEOMETRY [ГЕОМЕТРИЯ]:polygon) LAND-PARCELS [ЗЕМЕЛЬНЫЕ-УЧАСТКИ] (ID [НОМЕР]:integer, GEOMETRY [ГЕОМЕТРИЯ]:polygon, county[округ]:char)
    Используя типы данных и операции, закрепленные в стандарте OGIS, переведите следующие запросы на язык SQL.

    1. Составить список всех рек, протекающих по территории леса Итаска Стейт-Форест.
    2. Перечислить все гудронные дороги, пересекающие Фрэнсис-Форест.
    3. Найти все дороги, которые проходят в пределах поймы реки Монтана и могут затапливаться во время наводнения.
    4. В двухмильной зоне от реки Ред-Ривер и в пяти милях от государственного парка «Биг-Три» запрещено городское строительство. Найти земельные участки, которые нельзя застраивать, а также округа, на территории которых эти участки находятся.
    5. Река служит участком границы округа.

    11. Изучите такие компиляторы, как YACC (Yet Another Compiler Compiler). Разработайте синтаксическую схему создания операторов описания данных на языке SQL3, пользуясь аннотированными пиктограммами на диаграммах «сущность-связь».
    12. Каким должен быть подход к моделированию следующих пространственных отношений при использовании модели девяти пересечений или топологических операций OGIS?

    1. Река (LineString) начинается на территории округа (Polygon).
    2. Страна (например, государство Ватикан) полностью окружена территорией одной другой страны (например, Италии).
    3. Одна река (например, Миссури) впадает в другую (например, Миссисипи).
    4. Лес является частью другого лесного массива.



    13. Обратитесь к примерам запросов на языке РА, которые приведены в Приложении, посвященном базе данных «Государственный парк». Составьте SQL-выражения,  соответствующие каждому запросу на языке РА.
    14. Перечертите приведенную на рис. 3.4 диаграмму «сущность-связь», используя пиктограммы. Как в новой диаграмме следует представить атрибуты Fishing-Opener (Открытие-сезона) и Distance (Расстояние)? Создайте таблицы, преобразуя полученную в результате диаграмму «сущность-связь» с использованием конструкций SQL3/OGIS.
    15. Проанализируйте проекты таблиц на рис. 1.3 и 1.4. Опишите SQL-запросы для вычисления пространственных свойств (например, площади, периметра) переписных участков, используя все способы представления. Какое представление позволяет получить более простые запросы?
    16. Вернитесь к Java-программе из раздела 2.1.6. Напишите на языке Java программу для выполнения пространственных запросов, перечисленных в разделе 3.6.3. Сравните составление запросов к пространственным наборам данных на языках Java и SQL3/OGIS.
    17. Определите средствами SQL3 пользовательские типы данных, предназначенные для представления геометрических типов составных данных стандарта OGIS.
    18.Вернитесь к реляционной схеме «Государственного парка» в примере раздела 2.2.3. Кратко опишите SQL-операторы ЯМД для создания соответствующих таблиц при помощи пространственного типа данных OGIS.
    19. Проанализируйте запросы на основе информации об очертаниях объектов – например, перечислить страны, границы которых похожи на дамский сапог, или переписные участки квадратной формы. Предложите расширение языка SQL3/OGIS для поддержки подобных запросов.
    20. Проанализируйте запросы на основе информации о видимости например, перечислить объекты, которые видны (не загораживаются) при данном положении наблюдателя. Предложите набор типов данных и операций, образующих расширение SQL3/OGIS для поддержки запросов такого вида.

    Содержание раздела