3.5. Создание карты

3.5.1. Добавление геоданных

NextGIS QGIS предоставляет пользователю возможность добавлять:

  • Векторные данные.
  • Растровые данные.
  • Использовать тайловые подложки из интернета.
  • Добавлять растры по протоколу WMS и TMS.
  • Работать по протоколу WFS.
  • Добавлять слои из Веб-ГИС NextGIS Web.
  • Предоставляет возможность пользователю добавлять собственные данные.

Добавление растровых и векторных слоёв из файлов

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

Существует множество форматов хранения геоданных и протоколов их передачи по сети. Они могут представлять собой файлы или находиться в базах данных. Преобразованием форматов занимаются утилиты GDAL (растровые) и OGR (векторные). Благодаря этим утилитам NextGIS QGIS может читать и записывать разные форматы данных без сильных различий для пользователя. Разумеется, обычно используются только самые общеупотребительные форматы.

Примечание

QGIS использует библиотеку OGR для чтения и записи векторных данных (работа с векторными данными GRASS и данными PostgreSQL реализована через отдельные модули поставщиков данных), включая ESRI Shapefile файлы, файлы MapInfo и Microstation, пространственные базы PostGIS, SpatiaLite, Oracle и многие другие. Кроме того, векторные данные могут быть загруженны напрямую из архивов zip или gzip. С полным списком форматов векторных данных можно ознакомиться по адресу: http://www.gdal.org/ogr/ogr_formats.html .

Понятие Слой будет часто встречаться в инструкции. Слой - это геоданные с определенным составом и оформлением. Карта состоит из одного или нескольких слоев.

Примечание

Для открытия файлов векторных геоданных вам потребуется знать: место, где лежат файлы на диске, их кодировку.

Для добавления слоя выполните: Слой Добавить слой Добавить векторный слой или Слой Добавить слой Добавить растровый слой соответственно.

Если слой растровый, то скорее всего он будет в формате GeoTIFF (с расширением .tif).

../../_images/open_vector_layer_window.png

Рис. 3.16. Диалог открытия векторного файла.

При открытии ESRI Shapefile в этом диалоге нужно выбирать файл с расширением .shp.

Также вам необходимо знать кодировку файлов:

  • Если кодировка файлов - UTF-8 и вы работаете в Windows, то при открытии векторных файлов в поле Кодировка вместо System рекомендуется выбирать UTF-8.
  • Если кодировка файлов - Windows-1251 и вы работаете в Windows, то при открытии векторных файлов кодировку менять нет необходимости.
  • Если кодировка файлов - UTF-8 и вы работаете в Linux, то при открытии векторных файлов кодировку менять нет необходимости.
  • Если кодировка файлов - Windows-1251 и вы работаете в Linux, то при открытии векторных файлов в поле Кодировка вместо System выберите Windows-1251.
  • Если в Shapefile нет файла cpg, то кодировка меняться не будет. В этом случае зайдите в настройки NextGIS QGIS: Установки –> Параметры –> Источники данных –> Источники данных –> Игнорировать обьявленную кодировку Shape-файлов.

Примечание

На текущий момент принято, что все данные сохраняются в кодировке UTF-8. При работе на ОС Windows при открытии и сохранении векторных данных нужно явно указывать кодировку UTF-8. По умолчанию она может быть System - это значит Windows-1251. Если вы открыли файл в неправильной кодировке, то русские буквы там будут нечитаемыми. В этом случае нужно в свойствах слоя выставить кодировку UTF-8. Но лучше сразу выставлять её при открытии файла, чтобы не забыть.

Примечание

Если в таблице атрибутов вы увидите нечитаемые символы, переключите кодировку между UTF-8 и Windows-1251 в свойствах слоя, и переоткройте таблицу атрибутов.

Добавление базовых карт из Интернета

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

Картографическая подложка часто выступает в качестве первого слоя, добавляемого для работы в проект. Подложка часто представлена в виде различных интернет-сервисов: TMS, WMS, WMTS, ESRI ArcGIS Service или просто в виде тайлов XYZ.

Но запомнить адреса Интернет-сервисов сложно, а процесс их ввода каждый раз при смене рабочего места отнимает достаточно много времени. Поэтому для оптимизации работы был разработан плагин QuickMapServices — расширение, которое позволяет быстро и удобно работать с базовыми картами, получаемыми из различных интернет-сервисов в проект QGIS.

В QuickMapServices есть два хранилища для подложек: базовое и дополнительное. Подложки из базового набора устанавливаются и включаются вместе с модулем расширения. Описание модуля находится в главе _QuickMapServices.

Работа с базами данных PostGIS

Вам потребуется знать URL сервера PostGIS, название базы данных, имя пользователя и пароль.

Для добавления слоя PostGIS на карту нажмите Слой Добавить слой Добавить слой PostGIS. Откроется окно «Добавить таблицы PostGIS».

../../_images/table_postgis.png

Рис. 3.17. Окно «Добавить таблицы PostGIS».

В списке Соединения выберите заранее сохранённое подключение или, если его нет, то нажмите «Создать» (соединение). Откроется окно «Новое PostGIS-соединение». Введите туда известные вам параметры. Нажмите кнопку «Проверить соединение». Если выведется сообщение об ошибке, значит вы либо ввели неправильные параметры, либо неправильно настроена база данных, либо неправильно настроена сеть. Если выведется сообщение об успешном подключении, то всё в порядке.

Примечание

Для удобства в работе установите флажки напротив полей «Сохранить пользователя» и «Сохранить пароль».

../../_images/new_compound_postgis.png

Рис. 3.18. Окно «Новое PostGIS-соединение».

Далее в окне «Добавить таблицы PostGIS» выберите в списке новое подключение, нажмите кнопку «Подключиться». В списке таблиц появится список таблиц и хранимых представлений PostGIS, которые видно в базе данных. Выберите одну или несколько таблиц и нажмите «Добавить».

../../_images/add_table_postgis.png

Рис. 3.19. Окно с таблицами PostGIS.

Дальнейшая работа со слоями PostGIS осуществляется в NextGIS QGIS точно так же, как с векторными слоями из файлов.

Работа по протоколу WMS

Вам потребуется знать URL сервиса WMS.

Для добавления слоя WMS на карту нажмите Слой Добавить слой Добавить слой WMS/WMTS. Откроется окно «Добавить слой WMT(S)».

../../_images/add_layer_wms.png

Рис. 3.20. Окно «Добавить слой WMT(S)».

В списке Соединения выберите заранее сохранённое подключение или, если его нет, нажмите «Создать» (соединение). Откроется окно «Создание нового соединения WMS». Введите туда известные вам параметры адреса и придумайте название. Далее в окне «Добавить слой WMT(S)» выберите в списке новое подключение, нажмите кнопку «Подключиться». Выведется список слоёв, который видно в сервисе. Выберите один или несколько слоёв и нажмите «Добавить».

../../_images/add_layer_table_wms.png

Рис. 3.21. Окно таблицы «Добавить слой WMT(S)».

Можно добавлять слои по отдельности. В этом случае в NextGIS QGIS слои будут видны как отдельные. Можно выделить несколько слоев, тогда они будут отдаваться с сервера как один слой. Дальнейшая работа со слоями WMS осуществляется в NextGIS QGIS так же, как с растровыми слоями из файлов.

Работа по протоколу WFS

Для этого шага вам необходимо знать:

  1. URL WFS-сервиса.
  2. Логин.
  3. Пароль.

Заходим в меню Слой Добавить слой Добавить слой WFS.

../../_images/MapWFS01.png

В открывшемся окне «Добавить слой WFS» нажимаем кнопку «Создать».

../../_images/MapWFS02.png

В открывшемся окне «Создание нового WFS-соединения» вводим параметры:

  1. Название - вводим любое название.
  2. Адрес - URL WFS-сервиса.
  3. Пользователь - при наличии.
  4. Адрес - при наличии.
../../_images/MapWFS03.png
  1. Далее выбираем созданное подключение и нажимаем «Подключиться».
  2. Выбираем из списка необходимые слои (у нас он пока один).

Добавление слоёв CSV

Вам необходимо знать систему координат, в которой записаны координаты.

Для добавления слоя в формате на карту нажмите Слой Добавить слой Добавить слой CSV. Откроется окно «Создать слой из текстового файла».

../../_images/add_layer_table_wms.png

Рис. 3.22. Окно открытия CSV. 1 - выбор разделителя. 2 - выбор полей координат.

В окне необходимо выбрать разделитель колонок текстового файла так, чтобы столбцы были правильно разделены.

Примечание

Если колонки разделяются запятой, то выберите разделитель «Запятая». Если колонки разделяются точкой с запятой, то выберите разделитель «Точка с запятой».

В полях X-координата и Y-координата необходимо указать, из каких полей будут браться координаты.

После нажатия кнопки «OK» вам нужно будет указать систему координат, в которой записаны координаты.

После открытия координат - подложите Mapnik, и проверьте, в правильное ли место попали координаты. Если они попали в другое место, скорее всего перепутаны широта и долгота. Нужно импортировать слой заново, и задать поля X-координата и Y-координата по-другому.

Формат CSV слабо стандартизирован и может иметь различные написания:

  • Десятичный формат (десятичные градусы): записи вида 37.677,55.677. Это предпочтительный формат, он требует минимум ручных настроек. Скорее всего система координат этого слоя - EPSG:4326.
Listing 3.1. Пример CSV-файла с координатами в десятичном формате
X,Y,name,routes
37.498976596578487,55.818108414611515,"""Метро \""Войковская\""""","43к,57"
37.511937669160822,55.737294006553164,"""Метро «Парк Победы»""",7
37.51358652686482,55.678694577011598,"""улица Кравченко""",34к
37.513861321510234,55.80268809185204,"""Метро \""Сокол\""""","19,59,61"
37.516176549491988,55.884889270968166,"""Базовская улица""",56
  • Координаты в метрах: записи вида 444556, 555544. Это похоже на местную систему координат. Технически вы можете открыть её, но должны знать для неё параметры системы координат.
Listing 3.2. Пример CSV-файла с координатами в МСК
X,Y
416386,75285
416735,75318
416943,75224
416417,75119
418105,75274
  • WKT: записи вида «POLYGON((11 21,31 41, 21 11))».
Listing 3.3. Пример CSV-файла с координатами в WKT
WKT,routes_ref,
"LINESTRING (4191295.66 7512782.48,4191300.86 7512785.6,4191307.97 7512786.73,4191315.91 7512785.11)",24>
"LINESTRING (4191561.23 7512690.26,4191549.12 7512685.85)",24<
"LINESTRING (4191231.01 7512625.63,4191286.55 7512761.42,4191290.63 7512771.38,4191295.66 7512782.48)",24>
"LINESTRING (4191790.37 7512685.37,4191929.86 7512690.42,4191977.72 7512692.14)",24
"LINESTRING (4191703.18 7512684.54,4191649.66 7512688.46,4191587.57 7512688.34,4191561.23 7512690.26)",24<
"LINESTRING (4192733.59 7512710.92,4192749.47 7512710.92,4192829.78 7512710.15,4192946.34 7512709.49,4193040.41 7512708.56,4193196.01 7512704.19,4193205.31 7512703.52,4193325.58 7512699.48)",24
"LINESTRING (4193367.88 7512698.49,4193391.35 7512698.37)",24
  • HMS (градусы-минуты-секунды): записи вида 46°01’24 СШ, 11°13’47 ВД. Скорее всего этот слой откроется как EPSG:4326, но вам придётся самому изменить формат координат в исходном csv-файле.

Допустимые форматы записи координат с градусами:

Listing 3.4. Пример CSV-файла с координатами в HMS
LATITUDINE;LONGITUDINE
46°01’24,7”;11°13’47,5”
45°42’07,5”;10°55’11,3”
46°01’37,6”;11°06’41,7”
46°15’03,7”;11°11’00,1”
Listing 3.5. Пример CSV-файла с координатами в HMS с пробелами
n,y,x
1, 78 16 42 N, 50 29 38 E
2, 79 28 52 N, 53 00 00 E
3, 79 28 52 N, 61 33 03 E

Подключение к слоям NextGIS Web

Из NextGIS QGIS можно работать с NextGIS Web напрямую. Можно смотреть и редактировать данные - перемещать, удалять, добавлять новые объекты в слой. Это осуществляется при помощи плагина «NextGIS Connect». Описание находится в главе NextGIS Connect.

3.5.2. Создание новых слоёв

Есть 2 способа создания новых слоев:

  1. Слой Создать слой Создать Shape-файл. Следует задать тип геометрии и набор атрибутов, указать путь сохранения файла. Слой добавляется, а затем добавляете туда геометрию.
  2. Слой Создать слой Создать временный слой. Задать тип геометрии, слой добавляется, затем добавляете туда геометрию и атрибуты. Затем сохраняете его как Shape-файл или в другом необходимом вам формате.

Примечание

В ESRI Shapefile и во временный слой можно добавлять и удалять атрибуты и после создания.

Примечание

Ограничения формата ESRI Shapefile

Имя атрибута должно быть написано латинскими буквами, но не более 12 символов. Текстовое поле не может хранить данные длиннее 255 символов.

У атрибутов могут быть разные типы данных:

  • строковый,
  • целочисленный,
  • дробный,
  • дата.

Разные форматы файлов геоданных поддерживают разный состав типов атрибутов, но большинство поддерживает вышеперечисленные. При добавлении атрибута нужно указать его тип и размер поля. При добавлении целочисленного атрибута нужно указать максимальное количество цифр в числе. При добавлении десятичного числа нужно в поле длина указать общее число цифр в числе, в поле точность - количество цифр после запятой. Например, для хранения чисел формата 123,45 нужно указывать 5,3. Для 123456,7890 - 10,4.

../../_images/add_attribute_real.png

Рис. 3.23. Добавление атрибута.

3.5.3. Проекции

В NextGIS QGIS реализована возможность работы с проекциями. Проекция может быть установлена как глобально, т.е. её параметры будут применены к любому векторному слою, не содержащему информации о проекции, так и отдельно для проекта. Кроме того, существует возможность создания собственных проекций, а также реализована поддержка перепроецирования «на лету» для векторных и растровых слоёв. Все эти функции позволяют корректно отображать одновременно несколько слоёв, находящихся в различных проекциях.

Все проекции в NextGIS QGIS основаны на базе идентификаторов European Petroleum Group (ESPG) и Institut Geographique National of France (IGNF). EPSG-коды хранятся в базе данных и могут быть использованы для определения проекции.

Для корректной работы перепроецирования «на лету» слой должен содержать информацию о проекции, в которой хранятся данные, либо она должна быть определена самостоятельно на уровне слоя или проекта. Для слоёв PostGIS NextGIS QGIS использует идентификатор проекции, определяемый в момент создания слоя. Для данных, хранящихся в форматах, поддерживаемых GDAL, информация о проекции должна быть представлена в соответствующем файле, структура которого определяется форматом. В случае ESRI Shapefile - это файл, содержащий описание проекции в формате WKT и имеющий то же имя, что и ESRI Shapefile, но с расширением .prj. Например, для файла alaska.shp файлом описания проекции будет alaska.prj.

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

Почти всегда в NextGIS QGIS используется функция «преобразования координат на лету»: слои хранятся в разных системах координат, а в составе карты они выводятся в одной.

Систем координат очень много, однако для работы одновременно используется всего несколько. Наиболее популярные следующие системы координат:

  • WGS 84 (EPSG:4326) - в ней обычно хранятся векторные данные. Единица измерения - градусы. Новые векторные файлы сохраняйте в ней. Если отобразить геоданные в этой системе координат без перепроецирования, то картинка будет сплющенной.
../../_images/projections_4326.png

Рис. 3.24. Данные выведены на экран в EPSG:4326.

  • Pseudo Mercator (EPSG:3857) - используется для отображения. Включайте «перепроецирование на лету» в 3857, и карта будет отображаться более правильно.
../../_images/projections_3857.png

Рис. 3.25. Данные выведены на экран в EPSG:3857.

  • WGS 84 / UTM Zone X (EPSG:32610..32709) - используется для измерения расстояний. Данные хранятся в метрах. Некоторые инструменты требуют её для корректной работы. Так же в ней могут храниться космоснимки. Земной шар разделён на 60 зон, для каждой определена своя проекция - свой код EPSG.
../../_images/projections_32637.png

Рис. 3.26. Данные выведены на экран в EPSG:32637. Все зоны кроме 37-й искажены.

  • Pulkovo 1942 / Gauss-Kruger zone X (EPSG:28401..28432 и соседние) - устроена так же как UTM, в ней хранятся привязанные листы советских топокарт (изданных в последние годы). Так же разделена на зоны.
  • Asia_North_Equidistant_Conic (EPSG:102026) - для вывода на экран карты России
  • North_Pole_Azimuthal_Equidistant (EPSG:102016) - для вывода на экран карты северного полюса

Основные операции с проекциями:

  1. Как узнать систему координат слоя

Слой Свойства Вкладка Общие Система координат. Это значение можно менять. Систему координат сохранёную в слое можно узнать Слой Свойства Вкладка Метаданные строка Система координат слоя.

  1. Открытие окна преобразования координат

В правом-нижнем углу карты нажмите вторую справа кнопку. Если на ней написано OTF, значит преобразование на лету включёно.

  1. Если картинка на карте сплющена по вертикали

Если вы добавили геоданные на карту, и картинка сплющенная, то включите «Преобразование коодинат на лету» в EPSG:3857. Это значит, что ваши геоданные были в градусах.

  1. Если данные из разных слоёв не попадают друг на друга, хотя они должны быть в одном месте

Включите «Преобразование коодинат на лету».

  1. Пересохранение слоёв в другую систему координат

Для некоторых операций требуется пересохранить слои в другую систему координат. В этом случае выберите Слой Сохранить как, и выберите систему координат в диалоге сохранения.

  1. Как узнать номер зоны UTM или Gauss-Kruger

В окне поиска QMS ввести запрос «utm». В результатах будет слой «UTM and Gauss Krueger 6 degree zones» - это разграфка на весь мир в формате GeoJSON.

Установка проекции

NextGIS QGIS создаёт новые проекты с использованием системы координат по умолчанию. Изначально используется система координат EPSG:4326 - WGS 84. Это значение можно изменить, нажав кнопку «Выбрать» в первой группе настроек во вкладке «Система координат» (см. рисунок Рис. 3.27.). Указанное значение будет использоваться по всех последующих сеансах работы.

Окно Параментры сети представлено на рисунке см. Рис. 3.27.:

../../_images/coordinate_systemc_configuration.png

Рис. 3.27. Настройки системы координат.

При загрузке в проект слоёв, не содержащих информации о проекции, необходимо иметь возможность контролировать и определять проекции таких слоёв. Проекции могут быть установлены глобально или на уровне проекта. Для выполнения этой операции перейдите во вкладку «Система координат» в диалоге «Параметры».

На рисунке Рис. 3.27. показаны возможные варианты:

  1. Запрашивать систему координат.
  2. Использовать систему координат проекта.
  3. Использовать указанную систему координат.

Если необходимо задать проекцию для слоя, в котором информация о ней отсутствует, то это можно сделать во вкладке «Общие» окна свойств растрового или векторного слоя.

Контекстное меню слоя содержит два элемента для работы с системой координат. Пункт меню «Изменить систему координат» вызывает диалог «Выбор системы координат» (см. рисунок Рис. 3.27.). А пункт «Выбрать систему координат слоя для проекта» устанавливает систему координат проекта, равной системе координат слоя.

NextGIS QGIS поддерживает перепроецирование растровых и векторных слоёв «на лету» (активация возможности перепроецирования на лету устанавливается в диалоге «Параметры»). Для активации перепроецирования «на лету» необходимо установить флажок «Включить преобразование координат «на лету» на вкладке «Система координат» диалогового окна «Свойства проекта».

Существует три способа доступа к указанной вкладке:

  1. Выберите пункт «Свойства проекта» в меню «Проекты».
  2. Нажмите кнопку «Преобразование координат», расположенную в правом нижнем углу строки состояния.
  3. Включить преобразование координат «на лету» по умолчанию на вкладке «Система координат» диалога Параметры, активировав флажок «Включить преобразование координат «на лету».

Если имеется загруженный в проект слой и вы желаете включить перепроецирование «на лету», то откройте вкладку «Система координат» диалогового окна «Свойства проекта», выберите проекцию и отметьте пункт 2Включить преобразование координат «на лету» (см. Рис. 3.28.). Значок «Преобразование координат» станет активным и все последующие загружаемые слои будут автоматически перепроецироваться в выбранную проекцию.

../../_images/reprojection_on_the_fly.png

Рис. 3.28. Перепроецирование «на лету».

Вкладка «Система координат» диалогового окна «Свойства проекта» содержит пять важных компонентов, показанных на рисунке Рис. 3.28. и описанных ниже.

  1. Включить преобразование координат «на лету». Данный пункт используется для включения или отключения преобразования координат «на лету». Если он отключен, то каждый слой отрисовывается в соответствии с проекцией, указанной в источнике данных, и элементы, описанные ниже, будут неактивными. Если данный пункт отключен, то координаты слоя перепроецируются в проекцию карты.
  2. Система координат - список проекций, поддерживаемых NextGIS QGIS, включая географические, прямоугольные и пользовательские. Для выбора проекции выделите её имя в списке, предварительно развернув нужный узел. Текущая проекция выделена цветом.
  3. Proj4 - текстовое представление проекции в формате PROJ.4. Данный текст доступен только для чтения и используется в качестве справочной информации.
  4. Поиск - если вам известен код EPSG, идентификатор или имя проекции, то можно воспользоваться поиском. Введите идентификатор и нажмите кнопку «Найти». Отметьте «Скрыть устаревшие системы координат», чтобы показывать только используемые в настоящее время проекции.
  5. Недавно использованные системы координат - если имеются определённые наиболее часто используемые в проектах проекции, то они будут доступны в таблице, расположенной в верхней части диалога Выбор системы координат. Нажмите на одну из строк, чтобы выбрать эту систему координат.

Если открыть «Свойства проекта» из меню «Проекты», то для доступа к настройкам проекций нужно перейти во вкладку «Система координат». Если же воспользоваться кнопкой «Преобразование координат», то вкладка «Система координат» откроется автоматически.

Если вы не нашли нужной проекции, то можно определить собственную. Для этого выберите пункт «Ввод системы координат» меню «Установки».

Примечание

Для создания собственной проекции необходимо хорошо разбираться в синтаксисе библиотеки поддержки картографических проекций PROJ.4. Рекомендуется ознакомиться с документом «Cartographic Projection Procedures for the UNIX Environment - A User’s Manual» (Gerald I. Evenden, U.S. Geological Survey Open-File Report 90-284, 1990), доступным по адресу ftp://ftp.remotesensing.org/proj/OF90-284.pdf. Данное руководство описывает использование proj.4 и связанных утилит командной строки. Картографические параметры, используемые в proj.4, описаны в руководстве и совпадают с используемыми в NextGIS QGIS.

В диалоговом окне «Определение пользовательской системы координат» требуется всего два параметра для определения собственной проекции:

  1. Имя проекции.
  2. Картографические параметры в формате PROJ.4.

Для создания новой системы координат нажмите кнопку «Новая», укажите имя и введите необходимые параметры. После чего созданную проекцию можно сохранить, нажав кнопку «Сохранить». Значение поля «Параметры» создаваемой проекции должно начинаться со строки +proj=. Создаваемую проекцию можно проверить. Для этого вставьте параметры создаваемой проекции в поле «Параметры» раздела «Проверка». Затем введите значения широты и долготы WGS-84 в поля Север и Восток соответственно. Нажмите кнопку «Рассчитать» и сравните результат с известными значениями вашей проекции Рис. 3.29.).

../../_images/user_coordinate_system.png

Рис. 3.29. Пользовательская система координат.

3.5.4. Настройка стилей

Картостиль - это описание цветов, текстур, значков, толщины линий, подписей и прочих особенностей отображения слоёв на экране. Эти настройки хранятся отдельно от географических данных, их можно сохранять в отдельные файлы и копировать между слоями. Настройка осуществляется через Слой Свойства слоя Оформление или Слой Свойства слоя Подписи. Для каждого слоя задаётся отдельное оформление.

Настройка оформления векторных слоёв

В описании об оформлении векторного слоя используется 3 типа символов:

  1. Тип символов.
  2. Тип символьного слоя.
  3. Тип классификации.
  • Тип символа - символы различаются по типу: для точечных, линейных и полигональных

слоёв символы различаются. Это не изменяется. Сами символы могут состоять из одного или нескольких символьных слоёв.

../../_images/styles_type1.png

Рис. 3.30. Примеры символов для точечных, линейных и полигональных слоёв.

  • Тип символьного слоя - задаёт способ заливки: цветом, штриховкой, SVG, маркерами, или способ рисования линии: пунктирная линия, линия из маркеров.
../../_images/styles_type2.png

Рис. 3.31. Варианты типов символьного слоя доступные для точечных, линейных и полигональных слоёв.

  • Тип классификации - задаёт способ, как рисовать разные символы для разных объектов в одном слое: все одинаково или по-разному.
../../_images/styles_type3.png

Рис. 3.32. Варианты типов классификации.

Для настройки стиля выделите нужный стиль в списке слоёв, и откройте окно настройки стиля: Слой Свойства слоя вкладка Оформление.

../../_images/styles_stylewindow1.png

Рис. 3.33. Окно настройки стиля в режиме классификации Обычный знак, которое открывается по умолчанию.

Цифрами обозначено: 1. Список типов классификации. 2. Изображение знака. 3. Список символьных слоёв в текущем символе. 4. Кнопки добавления-удаления символьных слоёв.

Если в списке символьных слоёв выбрать один слой, то появится окно настроек символа. Его вид будет разным в зависимости от выбранного типа символьного слоя.

../../_images/styles_stylewindow2.png

Рис. 3.34. Окно настроек символа.

Цифрой обозначено: 1. Список типов символьных слоёв.

Доступные типы символьных слоёв

  • Для точечных слоёв:
    • Символьный маркер: отрисовка с использованием определенного символа заданного шрифта.
    • Простой маркер: отрисовка с использованием одного из предустановленных маркеров.
    • SVG маркер: отрисовка с использованием SVG изображения.
    • Эллипс: отрисовка с использованием геометрических примитивов (эллипс, прямоугольник, треугольник, перекрестие).
    • Векторное поле: отрисовка векторным полем с использованием значений атрибутивной таблицы.
  • Для линейных слоёв:
    • Обрамление линии: добавляет элементы оформления, например, стрелку для указания направления линии.
    • Маркерная линия: отрисовка линии повторением маркерного символа.
    • Простая линия: обычная отрисовка линии (с указанными шириной, цветом и стилем).
  • Для полигональных слоёв:
    • Отрисовка центроидов: отрисовка центроида полигона при помощи одного из предустановленных маркеров.
    • Заливка SVG-шаблоном: Заливка полигона SVG изображением.
    • Простая заливка: обычная отрисовка полигона (с определенным цветом заливки, шаблоном заливки и контуром).
    • Заливка штриховкой: заливка полигона линейной штриховкой.
    • Заливка маркерами: заливка полигона заданным маркером.
    • Обводка: обрамление линии: добавляет элементы оформления (например, кружки) к контуру полигона.
    • Обводка: маркерная линия: контур отрисовывается путем повторения маркерного символа.
    • Обводка: простая линия: обычная отрисовка линии (с указанными шириной, цветом и стилем).

Доступные типы классификации слоев

Возможно выбрать один из пяти типов:

  1. Обычный знак.
  2. Уникальные значения.
  3. Градуированный знак.
  4. Правила.
  5. Точки со смещением.

Обычный знак

Используется для отрисовки всех элементов слоя с использованием одного, определенного пользователем, символа. Свойства, которые можно задать во вкладке «Стиль», частично зависят от типа слоя.

../../_images/dialogue_rendering_simple_values.png

Рис. 3.35. Диалог отрисовки обычным знаком.

Уникальные значения

Объекты с разным значением какого-нибудь атрибута рисуются разными цветами.

Отрисовка уникальными значениями используется для отрисовки всех элементов слоя единым, определенным пользователем, символом, цвет которого отражает значение выбранного атрибута элемента. Вкладка «Стиль» позволяет выбрать:

  1. Поле (в списке полей).
  2. Знак (в диалоге Выбор условного знака).
  3. Градиент (в списке цветовых шкал).

Кнопка Дополнительно в нижнем левом углу окна позволяет указать поля с информацией о вращении и масштабе. Для удобства список в нижней части вкладки показывает значения всех заданных на данный момент атрибутов, включая символы, к которым в будущем будет применена отрисовка. Рисунок Рис. 3.36. иллюстрирует диалог отрисовки уникальными значениями из демонстрационного набора данных NextGIS QGIS:

../../_images/dialogue_rendering_unique_values.png

Рис. 3.36. Диалог отрисовки уникальными значениями.

Можно создавать свои градиенты, выбрав «Новый градиент» из выпадающего списка «Градиент». В появившемся окне можно выбрать тип градиента: «Градиент», «Случайный» или «ColorBrewer», для каждого из которых можно задать желаемое количество цветов.

Градуированый знак

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

../../_images/graduated_mark.png

Рис. 3.37. Фрагмент диалога свойств слоя - Градуированный знак.

Правила

Используется для отрисовки всех элементов слоя с помощью символов, базирующихся на определенных правилах. Задаётся несколько выражений/правил. Каждое выражение выдаёт несколько записей и оформляется по-своему. Может быть разным не только цвет, но и другие параметры.

Точки со смещением

Только для точечных слоёв - рисуются кластеры. В данном стиле при задании значения Порога расстояния между точками (вкладка «Свойства слоя ‣ Стиль») точки группируются с учетом значения Порога расстояния между точками. Далее при отображении на карте внутри группы точек выбирается точка, вокруг которой выстраиваются остальные точки по кругу с радиусом, соответствующим значению «Порога расстояния» между точками.

../../_images/styles_point_offset.png

Рис. 3.38. Фрагмент карты после применения стиля «Точки со смещением».

Инвертированные полигоны

Только для полигональных слоёв. При использовании данного стиля (вкладка «Свойства слоя ‣ Стиль») происходит заливка цветом областей за пределами полигона (снаружи полигона), сам полигон остается прозрачным.

../../_images/styles_inverted_polygons.png

Рис. 3.39. Фрагмент карты До и После применения стиля «Инвертированные полигоны».

Создание теплокарт

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

В настройках градиента можно выбрать прозрачный цвет. Качество отрисовки обозначает размер пикселей.

../../_images/styles_heatmap_00.png

Рис. 3.40. Исходные точки.

../../_images/styles_heatmap_01.png

Рис. 3.41. Теплокарта с настройками по умолчанию.

../../_images/styles_heatmap_02_owngradient.png

Рис. 3.42. Свой градиент.

../../_images/styles_heatmap_03_gradienttransparent.png

Рис. 3.43. Градиент, начинающийся с прозрачного цвета.

../../_images/styles_heatmap_04_quick.png

Рис. 3.44. Самый быстрый.

../../_images/styles_heatmap_05_quality.png

Рис. 3.45. Самый качественный.

../../_images/styles_heatmap_06_discret-quality.png

Рис. 3.46. Дискретный градиент - качественный.

../../_images/styles_heatmap_07_discret-quick.png

Рис. 3.47. Дискретный градиент - быстрый.

../../_images/styles_heatmap_08_bigradius.png

Рис. 3.48. Средний радиус.

../../_images/styles_heatmap_09_smallradius.png

Рис. 3.49. Занизить радиус.

../../_images/styles_heatmap_10_radiusverybig.png

Рис. 3.50. Завысить радиус.

../../_images/styles_heatmap_11_maxvalueauto.png

Рис. 3.51. Максимальное значение - авто.

../../_images/styles_heatmap_11_maxvaluelow.png

Рис. 3.52. Максимальное значение - занизить.

../../_images/styles_heatmap_13_complexgradient.png

Рис. 3.53. Сложный градиент с промежуточными цветами.

../../_images/styles_heatmap_14_weightauto.png

Рис. 3.54. Взвешивание - автоматическое. Интенсивность обозначает концентрацию точек.

../../_images/styles_heatmap_15_weightattr.png

Рис. 3.55. Взвешивение - по атрибуту (количество мест). Интенсивность обозначает суммарное количество мест в заведениях.

Рисование своих условных обозначений в SVG

Если вам нужны специальные значки, то вы можете нарисовать их сами в формате svg, поместить файл в интернете, и поставить его URL в качестве пути к значку SVG.

SVG - открытый формат для векторных картинок, внутри него XML, описывающий линии и фигуры. Картинки в этом формате рисуются в Inkscape, CorelDRAW. Так же в принципе эти файлы можно писать вручную: http://svgpocketguide.com/book/ Большая коллекция значков в SVG есть на Wikimedia Commons - https://commons.wikimedia.org/wiki/Category:SVG_icons, туда можно добавлять и свои. Если вам например нужен логотип известной организации, то возможно он там есть.

Для добавления своего значка в стиль QGIS или в стиль для слоя nextgis.com нужно:

  1. Поискать его на https://commons.wikimedia.org, и взять URL файла SVG.
  2. Если значка под подходящей лицензией нет, то нарисовать его самому в Inkscape,
  3. Поместить файл на какой-нибудь сервер видимый из Интернета. Если ваш значок не нарушает авторских прав, то логичнее всего поместить его на https://commons.wikimedia.org, что бы его могли использовать другие люди. Так же можно положить в свой репозиторий на github или gitlab.
  4. Вставить URL файла SVG в окно настройки стиля –> путь к файлу SVG. Этот же стиль можно использовать и в nextgis.com

Если вы работаете только в QGIS, без nextgis.com, то можно использовать путь к файлу на жёстком диске, но это менее надёжно, потому что вы можете о нём забыть, перенести файл значка, и стиль перестанет рисоваться.

Эффекты отрисовки

Для всех режимов отображения можно задать эффекты отрисовки слоя - как например тень, свечение, внешнюю или внутреннюю линию.

../../_images/styles_effects.png

Рис. 3.56. Фрагмент карты с различными отрисовками.

Сохранение стиля

Стиль можно сохранить в файл. В нём сохранится настройки оформления и настройки подписей.

../../_images/styles_save.png

Рис. 3.57. Диалог сохранения стиля.

В окне свойства стиля нажмите на кнопку «Стиль» (см. Рис. 3.57.).

По нажатию на кнопку «Сохранить настройки по умолчанию» стиль сохранится в формате qml в каталоге, где лежит слой, с тем же названием. Теперь, если вы будете добавлять этот слой как новый, то NextGIS QGIS подхватит этот стиль.

Пункт » Сохранить стиль» - позволяет сохранить его в другой файл, а так же в формат sld.

3.5.5. Оформление растровых слоёв

Для растровых слоёв существует 4 разных способа визуализации: два - для одноканальных растров, два - для многоканальных.

Примечание

Настройки оформления различаются для разных форматов. Большее количество настроек оформления существует для формата GeoTIFF, а для слоёв WMS и TMS настроек оформления меньше.

Многоканальное цветное

Используйте этот способ оформления, если у вас многоканальный растр, например - цветной космоснимок или скан карты в RGB.

Индексированое

Картинка рисуется по данным из одного выбранного канала растра. Каждое значение растра рисуется отдельно заданным цветом. Этот формат встречается редко. Если вы откроете растр в формате gif, то по умолчанию выставится этот режим.

Одноканальное серое

Картинка рисуется по данным из одного выбранного канала растра, чёрно-белой.

Рассмотрим настройки растрового стиля на самом простом примере - цифровой модели рельефа. Это - GeoTIFF, пикселы которого имеют только одно значение (одноканальный) - высоты в метрах. Если бы это была фотография - то пикселы имели бы 3 значения - количества красного, зелёного и синего цвета (трёхканальный).

Высота меняется в диапазоне до нескольких тысяч метров. Для хранения значения из такого диапазона нужно 16 бит. Если значения изменяются в диапазоне от 0 до 255 - то они укладываются в 8 бит и формат такого растра называется RGB.

После открытия растрового слоя, в окне настроек растрового стиля, в полях Мин и Макс выводятся крайние значения, которые встречаются в пикселах этого растра. Градиент заливки распределяется между ними. Если их поменять вручную, то градиент заливки изменится. Если нажать «Охват Текущий» и кнопку «Загрузить», то рассчитаются значения Мин и Макс для текущего охвата карты.

Одноканальное псевдоцветное

Картинка рисуется по данным из одного выбранного канала растра, по цветному градиенту. Используйте этот способ оформления, если у вас одноканальный растр, например - цифровая модель рельефа (DEM).

В полях Мин и Макс выводятся крайние значения, которые встречаются в пикселах этого растра. Градиент заливки распределяется между ними. Если их поменять вручную, то градиент заливки изменится. Если нажать «Охват Текущий» и кнопку «Загрузить», то рассчитаются значения Мин и Макс для текущего охвата карты.

При всех способах визуализации можно задавать прозрачность, яркость, контрастность и тонирование в цвет.

3.5.6. Настройка подписей

Подписи можно выводить у объектов векторных слоёв. Текст подписи можно брать либо из атрибута, либо рассчитывать выражением из значений нескольких атрибутов. Остальные свойства подписи - цвет, размер, положение, поворот - тоже можно получать из атрибутов.

Для настройки стиля выделите нужный стиль в списке слоёв и откройте окно настройки стиля: Слой Свойства слоя вкладка Подписи.

В открывшемся окне в списке режима подписей выберите «Показывать подписи» для этого слоя. Затем в списке «Подписывать значениями» выберите поле, из которого будет получаться надпись.

Настройки подписей можно сохранить в файл стиля NextGIS QGIS (формат qml), вместе с оформлением.

Вкладка «Текст»

На вкладке «Текст» вы можете выбрать гарнитуру шрифта, размер букв, использовать изменение регистра символов.

../../_images/labels_settings_text.png

Рис. 3.58. Окно свойств подписей, вкладка «Текст».

Вкладка «Форматирование»

На вкладке «Форматирование» можно настроить количество знаков после запятой, выводимых из полей типа Real, и выравнивание многострочных подписей.

../../_images/labels_settings_formating.png

Рис. 3.59. Окно свойств подписей, вкладка «Форматирование».

Совет

Для переноса длинных подписей, рекомендуется в поле «Подписывать значениями» ввести формулу wordwrap(NAME,15,“ „) - подпись будет получаться из атрибута NAME, и делиться на части не менее 15 символов разделённые пробелами. Это более гибкий способ.

../../_images/labels_settings_worldwrap.png

Рис. 3.60. Окно свойств подписей, настройка переноса текста.

../../_images/labels_map_worldwrap.png

Рис. 3.61. Пример переноса текста.

Вкладка «Буфер»

На вкладке «Буфер» можно настроить рисование закрашеной области вокруг букв. В этом режиме они будут видны на любом фоне.

../../_images/labels_settings_buffer.png

Рис. 3.62. Окно свойств подписей, вкладка «Буфер».

../../_images/labels_demo_buffer.png

Рис. 3.63. Пример подписи без буфера и с буфером.

Вкладка «Фон»

На вкладке «Фон» можно настроить рисование прямоугольного фона под надписями. В этом режиме карта начинает выглядеть более угловато и старомодно.

../../_images/labels_settings_background.png

Рис. 3.64. Окно свойств подписей, вкладка «Фон».

../../_images/labels_demo_background.png

Рис. 3.65. Пример подписи без фона и с фоном.

Вкладка «Тень»

На вкладке «Тень» можно настроить рисование тени под надписями. В этом режиме карта начинает выглядеть более сложно.

../../_images/labels_settings_shadows.png

Рис. 3.66. Окно свойств подписей, вкладка «Тень».

../../_images/labels_demo_shadows.png

Рис. 3.67. Пример подписи без тени и с тенью.

Вкладка «Размещение»

На вкладке «Размещение» можно настроить алгоритм, по которому подписи раздвигаются, что бы не накладываться друг на друга.

Так же имеется возможность передвигать вручную и поворачивать отдельные подписи.

../../_images/labels_settings_positioning.png

Рис. 3.68. Окно свойств подписей, вкладка «Размещение».

При создании карт значительное время занимает подбор расположения подписей на карте. Это влияет на читаемость карты, и необходимый размер или масштаб. NextGIS QGIS обладает большими возможностями по автоматическому раздвиганию подписей. В зависимости от настроек зритель может быстрее и точнее считывать карту.

Для точечных слоёв

../../_images/labels_demo-1-cartografic.png

Рис. 3.69. Пример размещения точечных подписей в режиме Сartografic. Для точечных подписей это рекомендуемый алгоритм. Он делает как написано в учебниках: пытается сначала поставить подпись в правую-верхнюю сторону от точки.

../../_images/labels_demo-2-vokrug.png

Рис. 3.70. Пример размещения точечных подписей в режиме «Вокруг точки». Это старый алгоритм, который был до Cartografic.

../../_images/labels_demo-3-center.png

Рис. 3.71. Пример размещения точечных подписей в режиме «На расстоянии от точки» без смещения. Подписи закрывают точки. Видно, что шоссе проходят прямо через Бутурлино.

../../_images/labels_demo-4-right.png

Рис. 3.72. Пример размещения точечных подписей в режиме «На расстоянии от точки» со смещением. Все точки подписаны справа.

Для линейных слоёв

../../_images/labels_demo-11-poverh.png

Рис. 3.73. Пример размещения линейных подписей в режиме «Поверх линий».

../../_images/labels_demo-12-upper.png

Рис. 3.74. Пример размещения линейных подписей в режиме «Над линиями». Обратите внимание, что такие надписи не загораживают трамвайные линии на улицах.

../../_images/labels_demo-13-upper-lower.png

Рис. 3.75. Пример размещения линейных подписей в режиме «Над линиями» и «Под линиями». Так нарисовалось больше надписей.

Для полигональных слоёв

../../_images/labels_demo-21-s.png

Рис. 3.76. Пример размещения линейных подписей в режиме «На расстоянии от центроида».

../../_images/labels_demo-22-c.png

Рис. 3.77. Пример размещения линейных подписей в режиме «Вокруг центроида».

../../_images/labels_demo-23-per.png

Рис. 3.78. Пример размещения линейных подписей в режиме «По периметру».

../../_images/labels_demo-24-hor.png

Рис. 3.79. Пример размещения линейных подписей в режиме «Горизонтальное».

../../_images/labels_demo-25-free.png

Рис. 3.80. Пример размещения линейных подписей в режиме «Свободное».

Вкладка «Отрисовка»

На вкладке «Отрисовка» можно настроить алгоритм, по которому некоторые подписи скрываются, что бы не накладываться друг на друга.

../../_images/labels_settings_drawing.png

Рис. 3.81. Окно свойств подписей, вкладка «Отрисовка».

Перемещение подписей

Если вам нужно управлять размещением подписей, то в NextGIS QGIS это можно делать 3 способами:

  1. Простой способ: подобрать настройки в окне Свойства стиля Подписи Размещение. Имеется несколько разных алгоритмов, которые раздвигают подписи так, что бы они не загораживали друг друга.
  2. Старый способ: сделать отдельный точечный или линейный слой. Указать ему прозрачные цвета заливки и обводки, и выводить подписи из него.
  3. Рекомендуемый способ: Добавить в слой через «Калькулятор полей» 2 поля с названием lx, ly, тип - дробный, размер 10, точность 8. В настройках подписей найти свойства X, Y, связать их с этими атрибутами, в основном окне NextGIS QGIS включить «Панель подписей», включить режим редактирования слоя, двигать отдельные подписи кнопкой «Переместить подпись».