Qgis 3.4 / 2.18
Содержание:
9.1 Введение
Цель задания — овладеть основами растрового анализа в ГИС на примере решения задачи поиска оптимального местоположения для размещения объектов.
Необходимая теоретическая подготовка: Растровая модель пространственных данных, вычисление евклидова расстояния на плоскости, методы классификации числовых рядов, оверлей с весовыми коэффициентами (взвешенный оверлей).
Необходимая практическая подготовка: Знание основных компонент интерфейса QGIS (менеджер источников данных, таблица слоёв, фрейм карты, менеджер компоновок). Работа с различными форматами источников пространственных данных. Настройка символики и подписей объектов. Владение базовыми ГИС-технологиями.
Исходные данные: База данных ГИС «Сатино», цифровая модель рельефа Сатинского полигона
Результат: Набор пространственных данных, содержащий участок, оптимальный по совокупности критериев для размещения объектов.
9.1.1 Контрольный лист
- Конвертировать слой землепользования в растровое представление
- Построить и классифицировать растр углов наклона рельефа
- Построить и классифицировать растры расстояний до водотоков и домов
- Осуществить взвешенный оверлей полученных растров
- Конвертировать класс с максимальной суммой баллов в векторное представление и выбрать участок, удовлетворяющий критерию минимальной площади.
9.1.2 Аннотация
В предыдущих заданиях вы познакомились с редактированием векторных данных. Для ряда практических задач более удобным оказывается растровое представление. Оно хорошо подходит для анализа географического пространства, которое обладает постоянно меняющимися характеристиками среды. Растровая модель топологически неразрывна, что позволяет моделировать различные поля и перенос вещества в пространстве из одной ячейки в другую. В силу своей регулярности растровая модель проста в обработке, поскольку все операции можно унифицировать, ориентируясь на матрицу ячеек. В частности, к растровым слоям удобно применять операции алгебры карт, такие как сложение, вычитание, суммирование — что и используется данном задании.
Вам предстоит решить задачу выбора оптимального местоположения участка для строительства производственного объекта. Критерии выбора следующие:
-
участок должен располагаться на горизонтальном участке или участе с небольшим уклоном. Площадки с крутизной склона более 18° запрещены для строительства;
-
участок должен располагаться вблизи автомобильных дорог;
-
участок должен располагаться вблизи крупных водотоков, поскольку требуется водоснабжение;
-
оптимальные зоны для размещения — открытые пространства, такие как выгоны, пустыри, луга, вырубки и т.д;
-
необходимая площадь участка — не менее 2,5 га.
Установка¶
Процесс установки QGIS очень прост. Пакеты для стандартной установки доступны для MS Windows и Mac OS X. Для разнообразных дистрибутивов GNU/Linux существуют репозитории с пакетами в форматах rpm и deb. Самую актуальную информацию по бинарным пакетам можно получить на сайте QGIS в разделе загрузок http://download.qgis.org.
Установка из исходного кода
If you need to build QGIS from source, please refer to the installation
instructions. They are distributed with the QGIS source code in a file
called ‘INSTALL’. You can also find it online at
http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html
Flatpak¶
There is an QGIS flatpak for QGIS Stable available, maintained by the flathub community.
For general Linux Flatpak install notes, see https://flatpak.org/setup/
QGIS on Flathub: https://flathub.org/apps/details/org.qgis.qgis
To install:
flatpak install --from https//flathub.orgrepoappstreamorg.qgis.qgis.flatpakref
Then to run:
flatpak run org.qgis.qgis
To update your flatpak QGIS:
flatpak update
On certain distributions, you may also need to install xdg-desktop-portal or xdg-desktop-portal-gtk packages in order for file dialogs to appear.
Flathub files: https://github.com/flathub/org.qgis.qgis and report issues here: https://github.com/flathub/org.qgis.qgis/issues
Note: if you need to install additional Python modules, because they are needed by a plugin, you can install the module with (here installing the urllib3 module):
2.1.1. Попробуйте сами: Основы¶
Элементами, установленными на картинке выше, являются:
-
Список слоев / панель браузера
-
Панели инструментов
-
Полотно карты
-
Строка состояния
-
Боковая панель инструментов
-
Панель локатора
2.1.1.1. Список слоёв
В Списке слоев вы можете увидеть список всех доступных вам слоев в любое время.
Если раскрыть свернутые элементы (кликнув стрелку или плюсик рядом с ним), вы получите дополнительную информацию о текущем внешнем виде слоя.
При наведении курсора на слои вы получите некоторую основную информацию: имя слоя, тип геометрии, систему координат и полный путь местоположения на вашем устройстве.
Клик правой кнопкой мыши по слою откроет вам меню со множеством дополнительных опций. Вы скоро будете использовать некоторые из них, так что присмотритесь!
Примечание
Векторный слой — это набор данных, обычно состоящий из объектов определенного типа, таких как дороги, деревья и т.д. Векторный слой может состоять из точек, линий или полигонов.
2.1.1.2. Панель браузера
Браузер QGIS — это панель QGIS, которая позволяет легко перемещаться по базе данных. У вас может быть доступ к общим векторным файлам (например, файлам ESRI Shapefile или MapInfo), базам данных (например, PostGIS, Oracle, SpatiaLite, GeoPackage или MSSQL Spatial) и связям WMS / WFS. Вы также можете просмотреть свои данные GRASS.
Если вы сохранили проект, панель браузера также предоставит вам быстрый доступ ко всем слоям, хранящимся по тому же пути к файлу проекта Project Home.
Кроме того, вы можете создать одну или несколько папок в качестве Избранных: выполните поиск по своему пути и, как только вы найдете папку, кликните ее правой кнопкой мыши и выберите Добавить в избранное . После этого вы сможете увидеть свою папку в Избранных Favorites.
Совет
Может случиться так, что папки, добавленные в Избранное, имеют очень длинные имена: не беспокойтесь, кликните правой кнопкой мыши путь и выберите Переименовать избранное , чтобы задать другое имя.
2.1.1.3. Панель инструментов
Наиболее часто используемые наборы инструментов можно преобразовать в панель инструментов для основного доступа. Например, панель инструментов Файл позволяет сохранять, загружать, распечатывать и запускать новый проект. Вы можете легко настроить интерфейс так, чтобы отображались только наиболее часто используемые инструменты, добавляя или удаляя панели инструментов по мере необходимости с помощью меню View ► Toolbars.
Даже если они не отображаются на панели инструментов, все ваши инструменты останутся доступными через меню. Например, если вы удалите панель инструментов File (в которой есть кнопка Сохранить Save), вы все равно сможете сохранить карту, кликнув меню Проект Project а затем нажав Save.
2.1.1.4. Полотно карты
Здесь отображается сама карта и загружаются слои. На полотне карты вы можете взаимодействовать с видимыми слоями: приближать / отдалять, перемещать карту, выбирать функции и многие другие операции, которые мы подробно рассмотрим в следующих разделах.
2.1.1.5. Строка состояния
Показывает вам информацию о текущей карте. Также позволяет настраивать масштаб карты, поворот карты и видеть координаты курсора мыши на карте.
2.1.1.6. Панель инструментов
По умолчанию Боковая панель инструментов содержит кнопки для загрузки слоя и все кнопки для создания нового слоя. Но помните, что вы можете переместить все панели инструментов в любое удобное для вас место.
Строка состояния¶
Строка состояния отображает текущую позицию в координатах карты (например, в метрах или десятичных градусах) курсора мыши при его перемещении в окне карты. Слева от отображаемых координат в строке состояния, находится маленькая кнопка, которая позволяет переключаться между отображением координат позиции курсора и координат границ вывода карты при масштабировании и панорамировании.
Рядом с полем отображения координат курсора показывается масштаб карты. При масштабировании это значение меняется автоматически. Начиная с QGIS 1.8 масштаб можно выбирать из списка предустановленных значений от 1:500 до 1:1000000.
Индикатор выполнения в строке состояния, отображает процесс отрисовки (рендеринга) каждого слоя в окне карты. В некоторых случаях, таких, как подсчёт статистики в растровых слоях, индикатор состояния используется для отображения статуса длительных операций.
В случае, если будет доступен новый модуль или обновление для существующего модуля, в строке состояния появится новое сообщение. Справа в строке состояния, находится маленький флажок, который используется для временного прекращения отрисовки слоев в окне карты (см. раздел ниже). Нажатием на кнопку можно немедленно прекратить отрисовку карты.
Последним справа в строке состояния находится код EPSG текущей системы координат и значок Преобразования координат. Нажатие на этом значке открывает окно свойcтв текущего проекта с активной вкладкой Система координат.
Совет
Вычисление правильного масштаба карты
При запуске QGIS, единицами измерения по умолчанию являются градусы, и предполагается, что любые координаты в ваших слоях также заданы в градусах. Для получения правильных значений масштаба, можно вручную изменить единицы слоя на метры на вкладке Общие пункта меню Установки ‣ Свойства проекта, либо выбрать систему координат (CRS) нажатием на значке Преобразование координат в правом нижнем углу строки состояния. В последнем случае, единицы слоя будут установлены в соответствии с указанными в системе координат, например, «+units=m».
[править] Дополнительные сервисы
Наверняка у вас есть набор подложек (сервисов) которые вы постоянно используете и вы хотели бы иметь их в плагине причем так, чтобы они устанавливались автоматически вместе с ним самим.
В QuickMapServices есть два хранилища для подложек: базовое и дополнительное. Подложки из базового набора устанавливаются и включаются вместе с модулем расширения. В последней версии модуля появилась возможность так же подключать дополнительные подложки. Просто зайдите в настройках во вкладку Дополнительные сервисы и нажмите «Получить дополнительные источники данных».
Загрузка дополнительных сервисов
Расширенный набор сервисов может выглядеть так:
Полный список сервисов
[править] Расстановка точек привязки
Дальнейшая работа по сбору точек привязки происходит в области с загруженным растром, поэтому вы можете захотеть его максимально увеличить. Процесс привязки заключается в создании нескольких опорных точек, для которых известны их реальные координаты.
Точки создаются инструментом добавить точку (Add Point) . При этом исходные координаты привязываемого изображения получаются автоматически, а опорные (те, к которым осуществляется привязка, нужно откуда-то получить).
Источники координат
Источник координат может быть любой набор данных, сервис или что-то иное, где можно получить координаты в явном виде. Например, координаты можно получить:
- С данных, которые уже загружены в область карты
- Из третьего источника
- С самого изображения
Координаты из внешнего источника
Внешним источником может выступать что угодно, коль скоро вы можете получить от него координаты. Например:
- Координаты собранные в поле с помощью GPS
- Координаты из интернет-карт: osm.org, maps.google.com и т.д.
- Координаты из документов
Координаты с самого изображения
В определенных случаях координаты явно прописаны на самом изображении. Это часто встречается на топокартах. В нашем примере точками привязки будут углы топокарты. Координаты мы будем получать, увеличивая соответствующие фрагменты и глазомерно считывая широту и долготу.
Создание точек
После увеличения нужного фрагмента и указания точки необходимо ввести соответствующие ей координаты:
В случае привязки растра к другим слоям (векторным или растровым), необходимо сначала загрузить нужные слои в основное окно QGIS. Затем, вместо ввода координат с клавиатуры, для задания координат опорных точек нужно выбрать кнопку С карты (From map canvas) и щелкнуть в нужном месте основной карты. В этом случае координаты опорных точек берутся с карты, которая может содержать любые другие слои, открытые в основном окне программы.
Для сохранения собираемых точек нужно выбрать Файл/Сохранить контрольные точки как . Они будут сохранены в дополнительный файл, имеющий такое же имя как и привязываемый + расширение points. Содержимое файла легко отредактировать в любом текстовом редакторе. Если, по некоторой причине, процесс расстановки точек пришлось прервать, то при следующей загрузке растра расставленные точки загрузятся вместе с ним. Для загрузки другого файла точек, нужно выбрать: Файл/Загрузить контрольные точки.
После расстановки необходимого количества точек, окно сбора точек должно выглядеть примерно так:
3.12. Попробуйте сами!¶
Вот некоторые идеи для заданий:
-
Using a copy of a toposheet map for your local area (like the one shown in
), see if your learners can identify examples of the different
types of vector data by highlighting them on the map. -
Подумайте, как вы будете создавать векторные объекты, соответвствующие объектам школьного двора, в ГИС. Создайте таблицу различных объектов, расположенных вокруг школы и попросите учащихся определить какой тип геометрии лучше всего использовать для этих объектов в ГИС. В качестве примера используйте таблицу .
Рис. 3.27 Можете ли вы идентифицировать два точечных и один полигональный объект на этой карте?
Реальный объект |
Подходящий тип геометрии |
---|---|
Флагшток |
|
Футбольное поле |
|
Тропинки вокруг школы |
|
Места расположения кранов |
|
И т.д. |
Debian/Ubuntu¶
Quickstart
Here you will simply install the latest stable QGIS (3.20.x Odense)
in your Debian or Ubuntu without having to edit config files.
Note
Although you see ‘Debian’ in some places, this also works for
‘Ubuntu’, as one is actually a symlink to the other on our server.
First install some tools you will need for this instructions:
sudo apt install gnupg software-properties-common
Now install the QGIS Signing Key, so QGIS software from
the QGIS repo will be trusted and installed:
wget -qO - https//qgis.orgdownloadsqgis-2021.gpg.key | sudo gpg --no-default-keyring --keyring gnupg-ringetcapttrusted.gpg.dqgis-archive.gpg --import sudo chmod a+r etcapttrusted.gpg.dqgis-archive.gpg
Add the QGIS repo for the latest stable QGIS (3.20.x Odense).
Note: “lsb_release -c -s” in those lines will return your distro name:
sudo add-apt-repository "deb https://qgis.org/ubuntu $(lsb_release -c -s) main"
Update your repository information to reflect also the just added QGIS one:
sudo apt update
Now, install QGIS:
sudo apt install qgis qgis-plugin-grass
Note
Add ‘qgis-server’ to this line if you also want to install QGIS Server
3.10. Проблемы векторных данных¶
При работе с векторными данными могут возникать некоторые проблемы. Мы уже упоминали о проблемах, связаных с оцифровкой данных в различных масштабах. Кроме того, векторные данные требуют обслуживания и доработки, чтобы быть уверенными в их точности и надежности. Неточные векторные данные могут быть получены при использовании неправильно настроенных инструментов оцифровки; когда люди, выполняющие оцифровку, недостаточно аккуратны; когда на процесс сбора и подготовки данных выделено недостаточно средств и т.д.
If you have poor quality vector data, you can often detect this when viewing the
data in a GIS. For example slivers can occur when the edges of two polygon
areas don’t meet properly (see ).
Рис. 3.24 Щели возникают, когда вершины двух полигонов на общих границах не совпадают. На мелких масштабах (например, 1 слева) вы можете не заметить ошибок. На крупных масштабах щели выглядят как белые полосы между полигонами (2 справа).
Overshoots can occur when a line feature such as a road does not meet another
road exactly at an intersection. Undershoots can occur when a line feature
(e.g. a river) does not exactly meet another feature to which it should be
connected. Figure demonstrates what undershoots and
overshoots look like.
Рис. 3.25 Недоводы (1) возникают при оцифровке линий, которые должны быть соединены, но не смотря на это не соприкасаются. Перехлесты (2) возникают когда линия пересекает другую линию, с которой она должна была быть соединена.
Procedure¶
-
Locate the downloaded file in the Browser panel and expand it. Drag the file to the canvas.
-
You will see a new layer loaded in the Layers panel. You will see that the layer has lines representing railroads for all of North America. Now, let’s calculate the lengths of each line feature. Go to Processing ‣ Toolbox.
-
Search for and locate the Vector geometry ‣ Add geometry attributes algorithm. Double-click to launch it.
-
In the Add Geometry Attributes dialog, select as the Input layer. The input layer’s Coordinate Reference System (CRS) is EPSG:4326 WGS84. This is a Geographic CRS with Latitude and Longitude as coordinates, WGS84 as ellipsoid and degrees as units. Because latitude and longitude don’t have a standard length, you can’t measure distances or areas accurately using planar geometry functions. Fortunately, QGIS provides a better way to compute distances using ellipsoidal geometry, which is the most accurate method for layers spanning large areas such as this. Pick as the Calculate using option. Click Run. Once the process finishes, click Close.
Примечание
If your input layer is in a Projected CRS, you may choose option for calculation. Local or Regional projected coordinate systems are designed to minimize distortions over their region of interest, so are more accurate for such computation.
-
You will see a new layer loaded in the Layers panel. This is a copy of the input layer with a new column added for distance. Right-click the layer and select Open Attribute Table.
Примечание
The Add Geometry Attribute tool adds different set of attributes depending on whether the input layer is points, lines or polygons. See for more details.
-
In the Attribute Table, you will see a new column called distance. This contains the length of each line feature in meters. Also note that the sov_a3 attribute which contains the country code for each feature. Close the Attribute Table window.
-
Now that we have lengths of individual railroad line segments, we can add them up to find the total length of railroads. But as the problem statement demands we need total railroad length in the United States, we must use only the segments contained within USA. We can use the country code value in the sov_a3 column to filter the layer. Right-click the layer and select Filter.
-
In the Query Builder dialog, enter the following expression and click OK.
-
You will see a Filter icon appear next to the layer in the Layers panel indicating that a filter is applied to the layer. You can also visually confirm that the layer now contains line segments only for United States. Now we are ready to calculate the sum. Click the Show statistical summary button on the Attributes Toolbar.
-
A new Statistics panel will open. Select layer and column.
-
You will see various statistics displayed in the panel. The unit of the statistics is the same as the units of column — meters. Let’s change the computation to use kilometers instead. Click the Expression icon next to the fields drop-down menu in the Statistics panel.
-
Enter the following expression in the Expression Dialog that converts the length to kilometers.
-
The Sum value displayed is the total length of railroads in USA.
Примеры данных¶
В данном руководстве приводятся приёмы работы, основанные на демонстрационном наборе данных QGIS.
Программа установки для Windows включает параметр, который позволяет загрузить демонстрационный набор данных QGIS. При активации параметра данные будут загружены в папку GIS DataBase внутри папки Мои документы текущего пользователя. В дальнейшем, эту папку можно переместить в более удобное место. Если во время первичной установки QGIS флажок для загрузки примеров данных не был отмечен, можно поступить следующим образом:
-
использовать уже имеющиеся данные;
-
загрузить примеры данных с сайта http://download.osgeo.org/qgis/data/qgis_sample_data.zip; или
-
при невозможности использовать один из вышеописанных способов — удалить QGIS и переустановить её с выбраной опцией загрузки примеров данных.
Для GNU/Linux и Mac OS X пока нет установочных пакетов с демонстрационными данными, доступных в виде rpm, deb или dmg. Для использования примеров данных необходимо загрузить файл qgis_sample_data в виде архива ZIP или TAR по адресу http://download.osgeo.org/qgis/data/ и распаковать его. Набор данных Alaska содержит все данные, которые используются в данном руководстве, а также небольшую базу данных GRASS. В примере данных используется проекция Alaska Albers Equal Area с футами в качестве единиц измерения. Код EPSG (European Petroleum Survey Group) данной проекции — 2964.
PROJCS"Albers Equal Area", GEOGCS"NAD27", DATUM"North_American_Datum_1927", SPHEROID"Clarke 1866",6378206.4,294.978698213898, AUTHORITY"EPSG","7008"]], TOWGS84-3,142,183,,,,], AUTHORITY"EPSG","6267"]], PRIMEM"Greenwich",, AUTHORITY"EPSG","8901"]], UNIT"degree",0.0174532925199433, AUTHORITY"EPSG","9108"]], AUTHORITY"EPSG","4267"]], PROJECTION"Albers_Conic_Equal_Area"], PARAMETER"standard_parallel_1",55], PARAMETER"standard_parallel_2",65], PARAMETER"latitude_of_center",50], PARAMETER"longitude_of_center",-154], PARAMETER"false_easting",], PARAMETER"false_northing",], UNIT"us_survey_feet",0.3048006096012192]]
[править] Работа с линейными слоями
Добавьте в проект имеющийся или создайте новый линейный слой, следуя вышеприведенным инструкциям. После этого выберите его, щелкнув на нем в легенде. Для того чтобы начать редактирование, щелкните на иконке Toggle editing: , панель инструментов будет выглядеть следующим образом:
Чтобы добавить линейный объект, щелкните на иконке Capture Line: . После чего последовательно указывая вершины, используя левую клавишу мыши, нарисуйте линейный объект. Точка, завершающая ввод линейного объекта, указывается щелчком правой клавиши мыши. В появившемся окне укажите значения атрибутов. На этом процедура добавления нового линейного объекта закончена.
Работа инструментов удаления, вырезки, копирования и вставки линейных объектов аналогична работе этих же инструментов в случае точечных объектов.
Инструмент Move Feature:позволяет перемещать кроме точечных также и линейные объекты. Этот инструмент работает следующим образом: нажимаем на иконку, после чего щелкаем рядом с объектом, который мы хотим переместить. В соответствии со значением Search radius for vertex edits in layer units выбирается ближайшая вершина, а линия, которой принадлежит эта вершина, становится выделенной. Не отпуская левой клавиши мыши, переместим выделенную линию на новое место и отпустим клавишу – объект будет перемещен.
Инструмент Move Vertex: позволяет перемещать вершины линейного объекта. Этот инструмент работает следующим образом: нажимаем на иконку, после чего щелкаем рядом с вершиной, которую хотим переместить. В соответствии со значением Search radius for vertex edits in layer units выбирается ближайшая вершина. Не отпуская левой клавиши мыши, переместим выбранную вершину на нужное место и отпустим клавишу. Перемещение вершины будет происходить в соответствии с настройками прилипания для данного слоя (не допускайте прилипания вершины к другой вершине одного и того же объекта).
Инструмент Add Vertex: позволяет добавлять новые вершины к линейному объекту. Этот инструмент работает следующим образом: нажимаем на иконку , после чего щелкаем в то место, куда мы хотим добавить новую вершину. В соответствии с параметром Search radius for vertex edits in layer units выбирается отрезок ломаной (подсвечивается), на который будет добавлена новая вершина. Не отпуская левой клавиши мыши, переместим добавленную (пока виртуально) вершину на нужное место и отпустим клавишу либо отпустим её сразу после нажатия, если нужным местом является место щелчка. Если расстояние от места, на котором была отпущена левая клавиша мыши, до ближайшего сегмента или вершины (в зависимости от режима прилипания) меньше порога прилипания, то новая вершина добавится либо к сегменту, либо к вершине (подобных ситуаций прилипания к вершинам следует избегать), в противном случае новая вершина добавится непосредственно в то место, где была отпущена левая клавиша мыши.
Инструмент Delete Vertex: позволяет удалять вершины линейных объектов. Этот инструмент работаем следующим образом: нажимаем на иконку, после чего щелкаем рядом с вершиной, которую мы хотим удалить. В соответствии со значением Search radius for vertex edits in layer units выбирается ближайшая вершина и отмечается перекрестием. При отпускании левой клавиши мыши отмеченная вершина удалится.
И, наконец, рассмотрим последний инструмент, использующийся при редактировании линейных слоев. Инструмент Split Features: позволяет разделять линейные объекты на несколько отдельных объектов. Очевидно, что разделить объект на несколько частей можно либо в точках сегмента, либо в вершинах. В первом случае отключаем прилипание к вершинам, нажимаем на иконку и проводим секущую через точку сегмента, в которой мы хотим разделить объект. Во втором случае, наоборот, включаем прилипание к вершинам и проводим секущую через вершину, в которой следует разделить объект. Отметим, что таким образом можно разделять одновременно несколько объектов.
Точно также как и в случае с точечным слоем, в линейном слое можно осуществлять редактирование атрибутов, используя инструмент Open Table: .