Как создавать слои и карты#

Слои и карты создаются в разделе ГИС Конфигуратор. Чтобы перейти в раздел, откройте Конфигуратор Системы, выберите проект и нажмите на раздел «ГИС Конфигуратор».

Как создать векторный слой#

В ГИС Конфигуратор добавляются слои, которые были описаны метаданными.

  1. В списке слоев нажмите на плюс «Добавить слой» и выберите тип слоя «Векторный».

../../../_images/vector.png

В правой части окна конфигуратора откроются свойства слоя.

  1. В поле [Представление БД] начните вводить имя или Alias слоя, присвоенные при создании в Редакторе метаданных и выберите в результатах поиска искомое значение или найдите его в раскрывающемся списке.

  2. Проверьте правильность заполнения поля [Геосервер].

  3. После того, как все поля заполнены, нажмите сохранить.

  4. Разместите слой в карте:

    5.1. в общем списке выберите созданный слой;

    5.2. нажмите на ⟵ рядом с названием слоя;

    5.3. слой будет размещен в нужной карте.

../../../_images/add_sloy.PNG

Если необходимо, создайте новую карту (см. Как создать карту ).

  1. В свойствах добавленного слоя отметьте необходимость использовать серверный или локальный кэш.

../../../_images/tip_cashe.png

Где:

  • Серверный — хранит тайлы слоя на сервере. Если опция включена, то данные слоя будут передаваться на клиентскую часть по протоколу WMTS.

  • Локальный — это кэш браузера, используется в контексте слоя карты, для ускорения отображения данных в карте. Настройка применима в случае, когда предполагается использовать слой только на просмотр. Если у пользователя есть права на редактирование слоя, то локальный кэш не используется, настройка игнорируется.

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

Примечание

Следующий шаг: Как опубликовать карту или слой.

Как создать растровый слой#

Создание растровых слоев в Системе состоит из этапов:

  1. подготовка растра к публикации (Подготовка растра к публикации)

  2. создание слоя (Создание растрового слоя)

  3. публикация слоя (Как опубликовать карту или слой)

Подготовка растра к публикации#

Подготовку растров к публикации можно осуществлять с помощью инструментов QGIS.

Требования к растрам

  • Имя файла не должно содержать кириллицу или специальные символы.

  • Размер изображения растра должен быть одинаковым для всех растров, входящих в состав мозаики. Размер изображения растра можно посмотреть в свойствах изображения.

  • Выходной тип данных должен быть Byte.

  • У растра должен отсутствовать параметр Band 4.

  • У растра должен быть не один параметр Band.

Примечание

Для конвертации данных используйте пакетные файлы «Конвертация.zip». Скачать Конвертация.zip

Просмотреть информацию о растре можно с помощью утилиты OSGeo4W Shell (устанавливается вместе с QGIS). Для просмотра информации вызовите функцию gdalinfo.

../../../_images/prep_rastr.png

Создание растрового слоя#

Чтобы создать растровый слой:

  1. В списке слоев нажмите на плюс «Добавить слой» и выберите тип слоя «Растровый».

  2. Загрузите zip-архив, содержащий файлы с геопривязанными растрами, получившийся после подготовки(см. Подготовка растра к публикации). Также это могут быть отдельные geoTiff или пары файлов tab+bmp, tif, jpeg.

  3. Укажите параметры слоя:

  • Наименование;

  • Системное имя;

  • Стиль — выберите стиль «raster»;

  • Геосервер;

  • Геосетка.

Нажмите сохранить.

Растровый слой будет пересчитан и сохранен в системе координат проекта

Затем в общем списке выберите созданный слой и нажмите на ⟵, чтобы разместить его в нужной карте. Если необходимо, создайте новую карту (см. Как создать карту ).

После этого слой опубликуется на ГИС-сервере и будет доступен в разделе «Каталоги».

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

Изменение состава растрового слоя#

Чтобы изменить состав мозаики, добавьте в zip-архив, файлы с геопривязанными растрами, по которым требуется обновление. Выберите слой-мозаику из библиотеки слоев и загрузите zip-архив в поле «файл», нажмите сохранить.

../../../_images/mozaik_update1.png

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

Возможные проблемы при публикации растров#

При публикации растров в Конфигураторе через веб-интерфейс приложения следует обратить внимание на наличие свободного места на сервере приложения там, где установлен IAS, так как растровые файлы при публикации предварительно складываются в папку temp сервера приложений.

После загрузки растра в Гис-конфигураторе появляется сообщение об ошибке#

Причина

Если размер архива, содержащего растровый слой больше 1 ГБ, то после его загрузки через Гис-конфигуратор (см. Создание растрового слоя) может появиться сообщение об ошибке.

Решение

В таком случае можно опубликовать растровый слой напрямую через GeoServer. Для этого выполните действия:

  1. Создайте архив и поместите в него несколько файлов итоговой растровой мозаики из старого архива.

  2. Создайте растровый слой в Системе (см. Как создать растровый слой)

  3. Оставшиеся файлы растровой мозаики, которые не были помещены в созданный архив, необходимо скопировать напрямую в хранилище опубликованного слоя. Для этого перейдите на GeoServer и откройте каталог: /home/geoserver/2.12.1/8080/data_dir/data/megiongo/, где megiongo – это название схемы, в которой публикуется растровый слой.

  4. Найдите папку с названием опубликованного растрового слоя и удалите из ее содержимого 8 файлов:

../../../_images/prep_rastr6.png
  1. Скопируйте оставшиеся tif файлы архива в папку с содержимым растрового слоя.

  2. Выполните в терминале команды: cd /home/geoserver/2.12.1/8080/data_dir/data/megiongo и chown -R geoserver:geoserver * для выдачи прав GeoServer.

  3. Перезапустите службу GeoServer с помощью команды: sudo systemctl restart geoserver8080.service.

  4. Перейдите по пути: /home/geoserver/2.12.1/8080/data_dir/gwc. Найдите папку с названием растрового слоя и удалите ее. Таким образом очистится кеш на сервере и устранится проблема с отображением растрового слоя.

../../../_images/prep_rastr7.png
  1. Необходимо создать 8 файлов, которые были удалены из папки растрового слоя. Это можно выполнить одним из способов:

    • повторить загрузку архива через Гис-конфигуратор приложения;

    • перейти на GeoServer, найти и открыть хранилище растрового слоя и нажать кнопку «Сохранить».

../../../_images/prep_rastr8.png

Неполное отображение растрового слоя#

Проблема

Растровый слой отображается не полностью

Решение

При неполном отображении растрового слоя проверьте охват (MBR) слоя на GeoServer и при необходимости измените на MBR системы координат проекта (см. mbr). Почистите кеш слоя. Для этого перейдите по пути: /home/geoserver/2.12.1/8080/data_dir/gwc, найдите папку с названием растрового слоя и удалите ее. Таким образом очистится кеш на сервере. Проверьте отображение растрового слоя.

../../../_images/prep_rastr10.png

Кеш растрового слоя формируется не полностью (частями на разных масштабах)#

Причина

Такая проблема может быть связана с разным размером изображений в растровой мозаике.

Решение

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

Разноцветные фрагменты на разных масштабах#

Проблема

Растровый слой отображается вот так:

../../../_images/prep_rastr11.png

Решение

Для устранения проблемы установите для растрового слоя параметр MergeBehavior = FLAT.

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

Проблема

На растровых мозаиках, которые весят довольно много (например, фрагмент мозаики весит около 20МБ и таких фрагментов 1500 – около 20Гб) может наблюдаться проблема, когда изображение растра не достаётся в графический отчёт (например, на масштабе 1:30000 не достаётся изображение в отчёт формата А3).

В этом случае в логе можно увидеть сообщение:

../../../_images/prep_rastr12.png

Решение

Для решения проблемы необходимо:

  1. Объединить растровую мозаику в один tif-файл:

    • создать виртуальную мозаику (в указанной команде берутся все tif в каталоге):

    gdalbuildvrt /home/mosaic.vrt /opt/geoserver/2.18.1/8080/data_dir/data/kazan/kazan_raster/*.tif
    
    • получить единый tif файл:

    gdal_translate -of GTiff -co "COMPRESS=JPEG" -co "PHOTOMETRIC=YCBCR" -co "TILED=YES" -co BIGTIFF=YES mosaic.vrt mosaic.tif
    
  2. Построить пирамиду. Для построения можно использовать QGIS. В QGIS перейдите: Растр – Прочее – Построить пирамиды…, параметры для пирамиды можно задать следующие:

../../../_images/prep_rastr13.png

Примечание

Построение пирамиды для растра около 10Гб может длиться более двух дней.

  1. Загрузить растр напрямую на GeoServer (последовательность см. После загрузки растра в Гис-конфигураторе появляется сообщение об ошибке).

Как исправить проблему с чёрными областями растра#

  1. Удалить растр с GeoServer:

    • на Geoserver перейти к вкладке «слои»;

    • найти необходимый слой;

    • отметить его галочкой;

    • нажать кнопку «удалить выбранные слои».

  2. Снова опубликовать растр с параметрами:

    • во вкладке «слои» нажать кнопку «добавить новый слой»;

    • выбрать значение слоя из списка;

    • нажать кнопку «опубликовать»;

    • задать следующие «Параметры покрытия»:

    Accurate resolution computation: False
    AllowMultithreading: True
    BackgroundValues: default
    Bands:
    ExcessGranuleRemoval: NONE
    Filter:
    FootprintBehavior: None
    InputTransparentColor:
    MaxAllowedTiles: -1
    MergeBehavior: FLAT
    OVERVIEW_POLICY: QUALITY
    OutputTransparentColor: 000000
    SORTING:
    SUGGESTED_TILE_SIZE: 512,512
    USE_JAI_IMAGEREAD: true
    
  3. В контрольной системе координат указать Объявленную SRS.

Не отображаются части мозаики на различных масштабах#

Одной из причин того, что части мозаики не отображаются на различных масштабах, является наличие в мозаике частей с различными параметрами band. Например, наличие band 4 или отстутствие band 2 и 3.

Для нашей мозаики желательно наличие band 1, band 2 и band 3, этого можно достичь используя Конвертация.zip.

Скачать Конвертация.zip

Для выявления проблемы можно сделать следующее:

  1. Получить описание всех растровых файлов мозаики (команда gdalinfo):

    • в linux перейти в каталог с файлами мозаики:

    cd /opt/geoserver/2.12.1/7070/data_dir/data/kazan/raster
    
    • выполнить команду:

    for file in *.tif; do gdalinfo $file > /путь для результата/$file.txt; done
    

В каталоге с результатом создастся множество txt файлов c наименованиями растров и результатом gdalinfo для них.

  1. Выполнить поиск несоответствий в описаниях полученных файлов. Можно воспользоваться Notepad и выполнить поиск по символам:

    • Band 4 – для выявления фрагментов мозаики с лишним параметром Band 4;

    • Color Table – для выявления фрагментов мозаики где отсутствуют band 2 и band 3.

  2. Файлы, в которых были найдены эти несоответствия, необходимо конвертировать и убедиться в корректном отображении мозаики.

Как создать карту#

Чтобы добавить новую карту, нажмите плюс «Добавить карту» в левой части окна ГИС Конфигуратора. Введите название карты в поле [Наименование] и нажмите сохранить.

Подсказка

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

В «средней» колонке найдите интересующий слой и установите Систему координат. С помощью ⟵ добавьте необходимые слои в карту. Карта опубликуется на ГИС-сервере.

Примечание

Следующий шаг: Как опубликовать карту или слой.

../../../_images/add_cart.png

Как опубликовать карту или слой#

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

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

Как опубликовать карту

Выберите элемент дерева каталогов, в который добавляется карта и нажмите каталог справа от его названия. Выберите вид данных «Карта».

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

Примечание

В свойствах новой карты в поле [Карта геосервера] введите наименование карты, присвоенное при создании и в результатах поиска выберите объект, который необходимо опубликовать.

Заполните поля открывшейся карточки для вида данных и нажмите|сохранить|.

Опубликованная карта отобразится в панели навигации приложения после обновления страницы браузера.

Как опубликовать слой

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

Нажмите кнопку каталог и выберите вид данных, который необходимо опубликовать.

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

Примечание

В свойствах нового слоя в поле [Слой геосервера] введите название и в результатах поиска выберите объект, который необходимо опубликовать.

Заполните поля открывшейся карточки для вида данных и нажмите сохранить.

Опубликованный слой отобразится в панели навигации приложения после обновления страницы браузера.

Правила написания стилей#

  1. При написании sld-стиля, до применения правил с фильтрацией, задайте стиль отображения всем объектам слоя без учета фильтра. И уже после пишите правила для конкретных видов объектов.

  2. При задании фильтров проверьте наличие колонки, на которую ссылается фильтр. Это можно сделать с помощью встроенной функции:

    <Function name="if_then_else"><Function name="PropertyExists"><Literal>ECO_TYPE</Literal></Function><Literal>ECO_TYPE</Literal><Literal>КАКОЕ_ТО_ДЕФОЛТНОЕ_ЗНАЧЕНИЕ</Literal></Function>
    
  1. Справочники, на которые ссылаются фильтры, рекомендуется раскрывать через механизм «DO_OPEN_V» в редакторе метаданных.

Частые вопросы#

Ошибка при добавлении слоя в карту «An error has occurred»#

Причина

Причиной сообщения об ошибке «An error has occurred» может быть расположение выбранного слоя в битом (старом хранилище).

Решение

Опубликуйте слой в рабочем хранилище. Повторно добавьте слой в карту.