С чего начать освоение ГИС QGIS? Инструкция по использованию справочника


  1. Что может архитектор или студент архитектурного вуза получить от ГИС в минимальном варианте? Примеры работ студентов МАрхИ по курсу "Основы ГИС" (2017, 2016)
  2. Самым простым и понятным погружением архитектора в ГИС и открытые геоданные может стать упражнение "Город мечты"
  3. Затем имеет смысл по диагонали ознакомиться с Введением, Форматами геоданных, Системами Координат (довольно трудная для понимания тема).
  4. Что откуда можно скачать? См. Источники открытых геоданных
  5. Просмотрите Содержание!
  6. Не откладывайте изучение раздела с типовыми ошибками! Лучше всего его проглядывать перед любой практической работой.
  7. Все практические части, где есть видео и файлы упражнений, позволят вам постепенно изучить необходимые функции QGIS. Проходить их стоит в том же порядке, как они размещены в Содержании
  8. В принципе рекомендуется выполнить все упражнения, так как везде шаги поясняются с нуля

Источники открытых геоданных

ПОДГОТОВЛЕННЫЕ ДАННЫЕ ПО МОСКВЕ


Openstreetmap

OpenStreetMap - это застройка, транспорт, землепользование, точки интереса и многое другое. Создание любых градостроительных схем в масштабах 1:2000 и мельче (за исключением рельефа) В OpenStreetMap основная проблема - точность данных и их полнота.


USGS (растровые данные)

Сайт Американской Геологической службы (USGS) - это основной источник данных по рельефу Земли и различного рода данным дистанционного зондирования (ДЗЗ). Самый популярный набор - это т.н. SRTM (Space Radar Topography Mission - ссылка), которая была осуществлена в 2000 году. Охват - 80% территории Земли, рельеф грубый, на месте высоких зданий холмы . Есть и альтернатива ASTER GDEM , больший охват
Рельеф (цифровая модель высот):


Геопорталы, порталы открытых данных

Официальные геопорталы и открытые данные РФ. Яркий пример - портал data.mos.ru, где можно найти сведения о велопарковках, ярмарках выходного дня, вестибюлях метрополитена и многое другое. Полезный ресурс Министерства культуры РФ с объектами культурного наследия по всей территории России. Можно сказать, что каждый субъект РФ выкладывает те или иные сведения в открытый доступ, но не везде данные могут быть полезны для архитектора.

Портал открытых данных по Москве https://data.mos.ru/ (часть данных только через API)
Открытые данные Министерства культуры РФ http://opendata.mkrf.ru/opendata/
Геопортал Нью-Йорка http://maps.nyc.gov/doitt/nycitymap/
Геопортал Берлина (вкл.3D-здания!) http://www.businesslocationcenter.de/wab/maps/main/

Примеры геопорталов и ресурсов открытых геоданных по различным городам и странам


Сборник геопорталов и открытых данных http://gisgeo.org/data.html
По миру http://freegisdata.rtwilson.com/

Исторические карты и фотографии очень удобно просматривать на сайтах retromap.ru, etomesto.ru, pastvu.com. ГИС в основе этих сервисах позволяет сравнить очень быстро различные исторические периоды.
Исторические карты http://retromap.ru/ (привязанные архивные карты, только просмотр)
Архивные фото на карте https://pastvu.com/ (архивные фото на карте, только просмотр)

Коммерческие геоданные

Кроме бесплатных, открытых геоданных есть и вариант получить более качественные данные за деньги.
Данные по рельефу и различного рода космоснимки можно посмотреть, например, на сайте Airbus.
А сведения по городской застройке на территорию РФ можно купить у 2ГИС (http://content.2gis.ru/maps), для Москвы можно заказать топосъемку у Мосгоргеотреста. Хотя в последнем случае это скорее просто 2D-CAD данные без атрибутов

Полезные формулы

Подсчет количества маршрутов в ячейке

Например, поле RouteNumbers содержит номера маршрутов


length( "RouteNumbers")-length( replace( "RouteNumbers" ,';',''))+1

Или использование массива:
array_length( string_to_array("RouteNumbers",';'))

Во втором случае можно активно использовать возможности массива (взять минимум, максимум  и так далее)

Извлечение максимальное числа из текста типа "12-15 этажей"

Вставить скрипт в Function Editor и выбрать эту функцию в Custom
from qgis.core import *
from qgis.gui import *
import re
@qgsfunction(args='auto', group='Custom')

def get_num(value1, feature, parent):
    try:
        digit_string = re.sub('[^\d.,]' , ',', value1)
        
        num = max([int(s) for s in digit_string.split(',') if s.isdigit()])
        
        return num
    except:
        return None


Подсчет площади полигона, длины линии, периметра

$area
$length
$perimeter

Для расчета геометрических показателей без учета кривизны Земли используются формулы типа  area ($geometry) и т.д. Актуально для работы с данными на основе топосъемок.

Фильтр по списку значений выбранного поля

“FIELD” IN (‘value1’, ‘value2’, ‘value3’,...)
“FIELD” NOT IN (‘value1’, ‘value2’, ‘value3’,...)

Условия

if, CASE и так далее

Растровые геоданные. Подрезка, горизонтали, морфометрический анализ рельефа

В этом уроке рассматривается базовая обработка растровых геоданных на примере рельефа (Цифровой модели высот), в том числе подрезка, создание горизонталей, простой морфометрический анализ, а также привязка растровых изображений.

Компоновка. Дополнительные сведения

В этом посте рассматривается такие функции компоновки, как группы видимости слоев, работа с шаблонами, создание атласов.

Растровые геоданные: краткое введение

В этом материале дается краткое введение в растровые геоданные: какие они бывают, для чего используются. Рассматривается понятие рельефа (ЦМР и ЦМВ).

Создаем базовую карту


Более детальное ознакомление с QGIS. Типы форматов и геометрии. Создание базовой карты, первичный сравнительный анализ участков реновации, компоновка.

Быстрый старт: по шагам от запуска QGIS до вывода карты в pdf

В этом уроке мы ознакомимся с интерфейсом QGIS, элементами проекта и сделаем простую карту в pdf на базе подготовленных данных. Рассмотрим свойства слоев, настройки графики, получение сведений об объекте и выборку. Этот урок очень рекомендую начинающим.

Векторные данные. Фильтры, выражения, выборка

Материалы урока

https://1drv.ms/u/s!Ahy-UAuiRRxDhfZmmSTPcywSW_EIRQ?e=SQYLdf

Фильтры

Показываем на слое только необходимые объекты, не удаляя остальные. Простые фильтры слоев, операторы “И”-”ИЛИ”, фильтрация по части слова.

NB: для удобства фильтрации списка значений можно использовать конструкцию IN / NOT IN. Например:
“FIELD” IN (‘value1’, ‘value2’, ‘value3’,...)
“FIELD” NOT IN (‘value1’, ‘value2’, ‘value3’,...)
Проект ...\02-Vector-Calc-Density\01-filter.qgs



Финальный этап ...\02-Vector-Calc-Density\02-filter.qgs

Выражения

Что можно вычислять в поле? Обзор стандартных выражений и функции на питоне - часто используемые.



Подробнее о выражениях в официальном мануале

Выборка

Выборка объектов может выполняться в таблице и вручную, и по формуле.
Пространственная выборка по условиям местоположения - Select by location. Практический пример объектов образования Москвы и кадастровых участков
NB: Системы координат слоев должны быть одинаковыми при пространственной выборке!

Проект ... \02-Vector-Calc-Density\03-select-by-location.qgs



Финальный этап ...\02-Vector-Calc-Density\04-select-by-location.qgs

API. Подключение к сервисам

Что такое API - Application Programming Interface?

Если попытаться пояснить на простом языке – это способ получить от программы/сервера ответ на ваш вопрос напрямую. Это особенно актуально для сообщения приложений между собой.
В случае с ГИС и открытыми геоданными в этом справочнике подразумевается получение необходимых данных через определенный запрос в формате http (например, через адресную строку в том же браузере).

WMS, TMS, WFS - подгрузка веб-слоев

WMS, TMS, WMTS

WMS – Web Map Service – традиционный вид веб-слоя, растровый формат ("картинка"). Характерен для ГИС на предприятиях. Часто встречается в сервисах ArcGIS.
Работает медленнее, чем TMS, развитая структура запроса, можно загрузить отдельные слои, включить легенду, указать разрешение и пространственный охват.
Пример запроса:
 http://sampleserver1.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?version=1.3.0&request=GetMap&CRS=CRS:84&bbox=-178.217598,18.924782,-66.969271,71.406235&width=760&height=360&layers=0&styles=default&format=image/png
Подробнее в документации ArcGIS

TMS - Tile Map Service - карта делится на тайлы(квадраты), более простой вариант подключения к веб-данным, очень распространен в современных веб-картах. У каждого тайла есть свой адрес. Очень ограничен по функционалу, но работает быстро.
Нашумевший сервис - карты активности спортсменов, которые выдают в браузере именно тайлы. Доступ к более высокому разрешению только после регистрации.
Пример адреса тайла сервиса Strava:
https://heatmap-external-a.strava.com/tiles/all/hot/11/1238/640.png

WMTS - Web Tile Map Service - развитие стандарта TMS.

Плагин QuickMapServices

Плагин для QGIS под названием QuickMapServices (далее QMS) позволяет подгружать разнообразные подложки прямо к себе в проект (спутниковые снимки, Росреестр и др.) - как WMS, так и TMS, GDAL, WFS, Geojson.
Подробнее о QMS

Подгрузка в QGIS слоев Росреестра (16-03-2020)

Росреестр в феврале 2020 года приостановил WMS-сервисы, которые можно было подключить через QMS, и на данный момент есть вариант загрузить некоторые слои через подключение слоя ArcGISMapServer. Инструкция для QGIS 3 и выше.

1. В окне QGIS нажимаем Ctrl+L или выбираем Слой - Менеджер Источников данных. В окне источников данных выбираем слева категорию ArcGis Map Server. Нажимаем Создать в верхнем разделе Соединения с серверами 

2. В появившемся окне указываем произвольное Название соединения (например, ПКК) и вставляем в поле Адрес следующую строку https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreOriginal/MapServer 
27-04-2020 - ничего не работает!
Нажимаем ОК
3. В верхнем разделе Соединения с серверами нажимаем Подключиться , выбираем нужный слой (например, Земельные участки) и нажимаем Добавить. Закрываем окно. На крупных масштабах появляется слой с земельными участками.

Когда мы настроили подключение, другие слои можно добавить и через Браузер:


Дополнительно о TMS и WMS

...TMS, WMS, WFS - это спецификации способов обмена (геопространственной) информацией между сервером и клиентом. Эти спецификации определяют, какой запрос клиентское приложение должно отправлять на сервер, чтобы получить тот или иной фрагмент, в каком формате данные отдаются сервером и так далее. Например, источник геоданных по спецификации TMS обычно никаких параметров, кроме адреса, не имеет, а данные передаются клиенту (и запрашиваются им) в виде тайлов с фиксированной нарезкой. Как вот этот: http://a.tile.openstreetmap.org/14/9907/5120.png - здесь "14" - это условный масштаб (уровень увеличения карты), а 9907 и 5120 - номер тайла по X и Y (который, зная схему нарезки, можно получить из координат). Для источника по спецификации WMS, запрос того же фрагмента выглядел бы иначе - он бы включал в себя команду GetMap и разделенные знаком & параметры, указывающие название слоя, координаты углов, размер изображения в пикселях и его графический формат (png, jpeg, svg).
Источник

WFS

WFS – Web Feature Service – дает возможность подключать веб-слой. Аналог веб-ГИС, но более универсального характера.

В отличие от классического WMS, где пользователю приходят растровые квадраты карт (тайлы), выдается геометрия с атрибутами, которую можно сохранить к себе локально, или даже отредактировать. На практике встречается намного реже, чем WMS или TMS.

Подробнее http://gis-lab.info/qa/qgis-wms-wfs.html

Векторные тайлы

Сейчас активно развиваются и векторные тайлы как альтернатива растровым тайлам.

Создание и редактирование векторных геоданных

Самая частая операция в QGIS - редактирование существующих векторных геоданных. Реже - создание с нуля новых данных. В этом блоке мы рассмотрим основные ситуации.

Стилизация векторных данных

Стилизация данных на карте, их представление - фундаментальный компонент любой ГИС. В этом уроке мы рассмотрим стилизацию векторных данных.

Упражнения

Ниже привожу примеры упражнений, которые можно использовать для домашних заданий

Геокодирование. Превращаем адрес в координаты

Геокодирование (получение координат на основе адреса) – единственный помощник в случае, когда нет самих геоданных, а есть лишь адресная таблица. Геокодирование в QGIS в плане удобства реализовано хуже, чем в платных сервисах ArcGIS.

Есть инструменты для Excel http://maxrice.com/excel-geocoding-tool/

Есть и для QGIS (основная проблема – получить csv в нужном формате, много тонкостей) https://www.gislounge.com/how-to-geocode-addresses-using-qgis/ или http://gis-lab.info/qa/rugeocoder.html Используется геокодер Nominatim, в котором совсем небольшая база по адресам

Для РФ лучше всего работает Яндекс https://tech.yandex.ru/maps/geocoder/ Но результат геокодирования нельзя легально сохранять на диск и отображать не на картах Яндекса.

Инструкция по геокодированию в OpenRefine (Филипп Кац) https://medium.com/data-journalism/open-refine-86e7076cb488

Примеры задач

Инструменты стилизации и публикации карт в QGIS

Два варианта стилизации слоя на основе одного набора данных
Важная функция: как отобразить одни и те же данные в разных стилях без дублирования самих данных? (переписать)

Публикация

2 карты на основе одного проекта

Для публикации карты в формат pdf требуется создание компоновок при помощи модуля Print Composer.


Пример сложной стилизации слоя зданий (эффект тени)

В этом уроке рассмотрен пример создания стиля для слоя застройки, имитирующего эффект падающей тени.



QGIS и импорт csv. Как превратить таблицу с координатами в точки на карте?

Пример с портала data.mos.ru - детские сады (переписать и вывести в отдельный пост)



Стилизация и фильтрация

На примере csv-файла, полученного из NextGIS Logger, рассмотрен импорт, стилизация точек по атрибутам и фильтры. NextGIS Logger позволяет записывать на мобильное Android-устройство перемещения пользователя, уровень шума и многое другое.



Вычисление площади полигона

Частая задача – вычислить площадь застройки здания. Для этого требуется вычисление площади полигона. Операция возможна как для всех объектов слоя, так и для выбранных. Ссылка на подробную статью по теме http://gis-lab.info/qa/shapecalc-qgis.html
Интересное дополнение - использование виртуального поля (записать или сделать скриншоты)
Видео на примере данных по Сочи



Обработка полей (атрибутов)

Обработка текстовых полей в QGIS при помощи Field Calculator отчасти напоминает Excel. Пример скрипта для разделения поля на отдельные поля https://gis.stackexchange.com/questions/223375/splitting-text-from-a-string-field-before-each-delimiter-to-new-fields/223382

Присоединение табличных данных к векторному слою (Data Join)

Иногда требуется соединить табличные данные в Excel по объектам с геометрией на карте. Это производится на основе соответствующих полей в таблицах.



Форматы геоданных. Краткий обзор

Какие бывают форматы геоданных? 

Принципиально можно выделить векторные и растровые форматы геоданных. В своей работе архитектор чаще будет сталкиваться именно с векторными форматами.

Краткий обзор инструментов. Сравнение с CAD

Задачи - инструменты с точки зрения архитектора

Создание карт - QGIS, ArcGIS, Mapinfo, AutoCAD Map 3d (Civil 3D)
Пространственный анализ - QGIS, ArcGIS
Создание трехмерных моделей территории на основе геоданных - ArcGIS, InfraWorks, CityEngine
Сбор данных в поле - приложения для Android и iOS
Веб-картография - Kepler, Mapbox, Carto, ArcGIS Online, NextGIS

Сравнение ГИС QGIS с традиционными цифровыми инструментами архитектора

Если сравнивать ГИС-инструментарий, в частности QGIS, с 2D-CAD (AutoCAD, nanoCAD, BricsCAD и др), то можно выделить ряд отличий.
  1. Геоданные (векторные и растровые) преимущественно двумерны, однако, на их основе могут быть сгенерированы трехмерные модели.
  2. В ГИС, как и в CAD, все векторные данные абстрактны (в отличие от BIM) и в основном сводятся к точкам, линиям, полигонам. Растровые данные представляют равномерную сетку пикселей, в ячейке которой может быть либо одно значение (например, высоты), либо несколько (например, цвет в RGB).
  3. Пространство в QGIS всегда имеет привязку к земному шару. В QGIS (в отличие от AutoCAD Map 3D) нет возможности работать в абстрактной декартовой системе координат. По умолчанию эта система координат географическая, WGS 84
  4. Данные, в отличие от CAD-файлов, не хранятся внутри QGIS-проекта. Они подгружаются подобно внешним ссылкам. Поэтому при передаче QGIS-проекта необходимо приложить все связанные с ним файлы.
  5. Создание и редактирование векторной геометрии выглядит более затруднительным, чем в CAD, если смотреть на это с позиции архитектора. Это вызвано родством ГИС-инструментов с системами управления базами данных (СУБД).
  6. К векторным данным всегда привязана таблица данных. Атрибуты распространяются на все объекты набора данных.
  7. В ГИС стилизация обладает гораздо более широкими возможностями, чем в CAD. Однако, типовая задача присвоения отдельному объекту произвольного цвета, толщины линии и т.п. не решается так, как в CAD, и может вызывать затруднения у начинающего пользователя.
  8. Черчение в типичном ГИС-пакете может показаться крайне неудобным для архитектора, поэтому при создании, например, чертежа новой застройки рекомендуется конвертировать CAD-данные в .shp формат и присвоить атрибутивную информацию, если это необходимо.
  9. Растровые данные (результаты интерполяции – например, рельеф, спутниковые снимки и др.) имеют свою специфику создания и редактирования. Создание данных происходит либо при помощи устройства (например, спутника), либо на основе какого-либо алгоритма. Таким образом, что-либо стереть «ластиком» или изменить цвет «кисточкой» вручную, как в Adobe Photoshop, в QGIS невозможно