УП_Задание2_Отчёт
.pdfМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ИС
ОТЧЕТ по учебной практике (задание 2)
Тема: Изучение геоинформационных систем и геопространственных баз данных.
Студент гр. 9373 |
|
Заболотников М.Е. |
|
Студентка гр. 9373 |
|
Петрова С.В. |
|
Куратор |
|
|
Титов Г.С. |
Санкт-Петербург
2021
ЗАДАНИЕ НА УЧЕБНУЮ ПРАКТИКУ (ЗАДАНИЕ 2)
Студент Заболотников М.Е.
Студентка Петрова С.В.
Группа 9373
Тема работы: Работа с аналитическими пространственными функциями.
Исходные данные: на основе готового проекта QGis-mapnik.qgs из файла RUCHE, предоставленного для работы, необходимо:
1.Построить список объектов землепользования (садоводческие товарищества), расположенных вблизи крупных озер. Критерий близости
- удаленность не более 2 км. Критерий крупного озера - площадь не менее
3 кв. км. Список объектов обоих типов отобразить на электронной карте с соответствующими подписями.
2.Построить список объектов землепользования (садоводческие товарищества), рядом с которыми нет крупных озер. Критерий близости -
удаленность не более 2 км. Список объектов отобразить на электронной карте с соответствующими подписями.
3.Реализовать задачу 2 с применением пространственного индекса типа R- tree index.
Содержание пояснительной записки: ход работы, ответы на контрольные вопросы, выводы.
Предполагаемый объём пояснительной записки: не менее 15 страниц.
Дата выдачи задания: 24.05.2021
Дата сдачи отчёта: 28.06.2021
2
Студент гр. 9373 |
|
Заболотников М.Е. |
|
Студентка гр. 9373 |
|
Петрова С.В. |
|
Куратор |
|
|
Титов Г.С. |
3
СОДЕРЖАНИЕ
ХОД РАБОТЫ ................................................................................................................................... |
5 |
ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ ................................................................................ |
16 |
ВЫВОДЫ ......................................................................................................................................... |
18 |
4
ХОД РАБОТЫ
В соответствии с заданием 2 (первая задача) необходимо было построить список объектов землепользования (садоводческие товарищества),
расположенных вблизи крупных озёр. Для этого при помощи QSpatialite была создана база данных myDB_task2_1.sqlite, в которую были загружены данные из картографических слоёв "Землепользование" и "Озёра, крупные реки". Процесс загрузки данных из таблицы "Землепользование" изображён на рисунке 1:
Рис. 1. Загрузка данных из таблицы "Землепользование".
Подобным образом были загружены данные из таблицы "Озёра, крупные реки". Загруженная таблица изображена на рисунке 2:
5
Рис. 2. таблица "Озёра, крупные реки".
Для описанной выше базы данных был написан SQL-запрос,
представленный на рисунке 3:
Рис. 3. SQL-запрос для первой задачи.
Поскольку QGis не может вывести на карту два типа геометрических объектов за раз, необходимо было создать два запроса: для озёр и для садоводств.
Разберём первый запрос.
Начнём с вложенного запроса: он выводит id водоёмов, у которых площадь более 3 кв. км. Это условие прописано на шестой строке кода запроса, при помощи функций st_area(…) и st_transform(…). Первая функция высчитывает
6
площадь геометрического объекта, выражаемую в квадратных метрах, вторая – преобразует координаты в целевую проекцию. Ещё одним условием является принадлежность объекта к типу "allotments". В последнем условии происходит преобразование координат всех геометрических объектов в целевую проекцию.
Вокруг объектов землепользования создаётся область, каждая точка которой удалена не более чем на 2 000 м от границы объекта. Это реализовано при помощи функции st_buffer(…). И с помощью функции st_intersects(…)
проверяется пересечение этой области с озёрами.
Внешний запрос выводит без повторений только те объекты, которые попали в список, сформированный внутренним запросом.
Второй запрос имеет аналогичный подзапрос, который выводит id
земельных участков. удовлетворяющих тем же условиям. Внешний подзапрос выводит без повторений только те объекты, которые попали в список,
сформированный внутренним запросом.
На основе результатов выполнения обоих запросов были сформированы две пространственные таблицы LAKES и LANDS. Это было сделано путём выбора пункта "Create Table & load in QGis" в окне создания запроса.
Содержимое этих таблиц было отображено на электронной карте.
В результате выполнения запросов были созданы слои на карте: LAKES и LANDS. При помощи настроек слоя были отображены наименования озёр и id
садоводческих товариществ. Настройка подписей проиллюстрирована на рисунке 4:
7
Рис. 4. Настройка подписей слоя LANDS.
Рис. 5. Настройка подписей слоя LAKES.
8
На рисунках 5 и 6 показан результат выполнения запроса, отображённый
на карте:
Рис. 5. Отображение решения первой задачи в масштабе 1:5 000 000.
Рис. 6. Отображение решения первой задачи в масштабе 1:312 500.
9
В соответствии с заданием 2 (вторая задача) необходимо было построить список объектов землепользования (садоводческие товарищества), рядом с которыми нет крупных озер. Для этого была использована уже созданная для решения предыдущей задачи база данных myDB_task2_1.sqlite. И была создана таблица BIGLAKES, которая хранила в себе все озёра площадью более 3 кв км.
Для этой базы данных был написан SQL-запрос (2.1), представленный на рисунке 7:
Рис. 7. SQL-запрос для второй задачи.
В этом запросе два внутренних подзапроса представляют из себя те же запросы, что и в решении предыдущей задачи, то есть выводят id тех садоводческих товариществ, которые располагаются на расстоянии менее 2 км от крупных озёр. А во внешнем запросе выводятся те объекты, которые не вошли в список, созданный внутренними подзапросами.
На основе результатов выполнения запроса была сформирована пространственная таблица LANDS_2. Это было сделано путём выбора пункта
"Create Table & load in QGis" в окне создания запроса. Содержимое этой таблицы было отображено на электронной карте.
В результате выполнения запроса был создан слой на карте: LANDS_2.
При помощи настроек слоя были отображены id садоводческих товариществ.
Настройка подписей проиллюстрирована на рисунке 8:
10