2.8. Работа с растровыми слоями

2.8.1. Внешние растровые слои

В сборку Программы включены следующие внешние (статичные) растровые слои:

  • OpenStreetMap,

  • Яндекс Карта,

  • Яндекс Спутник,

  • Яндекс Народная,

  • Яндекс Подписи,

  • Google Map,

  • Google Hybrid,

  • Google Спутник,

  • 2ГИС карта.

Эти слои представлены в списке встроенных растровых слоев на панели управления слоями (Рис. 2.73). Они доступны только для отображения на карте без возможности редактирования.

_images/mapeditor_076.png

Рис. 2.73 Внешние растровые слои, входящие в сборку Программы

2.8.2. Внутренние растровые слои

В Программе реализованы следующие возможности по работе с внутренними растровыми слоями:

  • загрузка растровых слоев (в том числе, групповая загрузка);

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

  • подключение растровых слоев по протоколам WMS, TMS, TWMS;

  • управление растровыми слоями;

  • тонкая настройка отображения слоев на карте (динамическая подгрузка, границы видимости, уровни видимости);

  • удаление слоев (в том числе, групповое удаление).

Права на добавление растровых слоев есть у всех пользователей Программы. Для управления растровыми слоями необходимо выбрать вкладку «Растровые слои…» раздела меню «Инструменты». Откроется окно управления растровыми слоями (Рис. 2.74).

_images/mapeditor_077.png

Рис. 2.74 Окно управления растровыми слоями

2.8.2.1. Загрузка и настройка растровых слоев

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

  • нажать кнопку «Добавить» img_069 в нижней части окна управления растровыми слоями,

  • выбрать файл в окне «Открытие».

Поддерживается загрузка следующих типов файлов: *.bmp, *.tif, *.jpg, *.png, *.xml, *.rwms, *.rtms, *.gxml. Выбранный файл отобразится в списке растровых слоев (Рис. 2.75).

_images/mapeditor_078.png

Рис. 2.75 Добавление растрового слоя в Программу

Далее для редактирования параметров растрового слоя и настройки его отображения на карте необходимо выделить слой однократным нажатием левой кнопки мыши и внести изменения в окне «Свойства», которое отобразится в правой части окна (Рис. 2.75):

  • при необходимости изменить название слоя, добавить его описание;

  • задать границы видимости слоя на карте;

  • указать способ загрузки слоя в Программу в поле «Способ подключения» — «Стандартный» или «GDAL» (вариант «GDAL» обозначает динамическую подгрузку слоя),

  • в поле «Строить пирамиды» настроить скорость отрисовки растра при выборе динамической подгрузки слоя.

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

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

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

Также можно сделать групповую загрузку растровых слоев в Программу. Для этого необходимо:

  • нажать кнопку «Добавить»,

  • выбрать несколько файлов в окне «Открытие» (с помощью клавиши «Ctrl»).

Для удаления одного растрового слоя достаточно выделить слой однократным нажатием левой кнопки мыши и нажать кнопку «Удалить». Для группового удаления растровых слоев необходимо выделить их однократными нажатиями левой кнопки мыши, удерживая клавишу «Ctrl» на клавиатуре, и нажать кнопку «Удалить».

2.8.2.2. Подключение растровых слоев по протоколам WMS, TMS, TWMS

Для подключения растровых слоев по протоколам WMS, TMS, TWMS необходимо сконструировать средствами Программы файл, содержащий соответствующий протокол, либо использовать готовый файл формата XML, содержащий соответствующий протокол. Затем этот файл необходимо загрузить в Программу методами, описанными выше в разделе Загрузка и настройка растровых слоев.

Для построения файла, содержащего соответствующий протокол, следует нажать кнопку «Создать соединение» img_070, после чего откроется окно «Создание соединения для растрового слоя» (Рис. 2.76). Поля, обязательные для заполнения, выделены красными рамками.

_images/mapeditor_079.png

Рис. 2.76 Окно построения файла, содержащего протоколы WMS, TMS, TWMS

Далее необходимо указать следующие параметры:

  • выбрать тип соединения (WMS, TMS, TWMS);

  • в поле «Сервер» указать URL WMS, TMS или TWMS-сервера;

  • в поле «Слой» указать название слоя;

  • в полях «Мин. масштаб» и «Макс. масштаб» указать минимальный и максимальный масштабы для слоя;

  • в поле «Проекция» выбрать проекцию для слоя (при нажатии кнопки «Выбрать» откроется окно выбора проекций);

  • в поле «Размер тайла» указать размер тайла в пикселях;

  • в поле «Папка кэш-данных» выбрать папку для хранения кэш-данных во время работы со слоем;

  • в разделе «Охват слоя» указать координаты допустимого диапазона для работы со слоем (в указанной проекции).

После ввода параметров необходимо нажать кнопку «Сохранить» (Рис. 2.77) и указать в окне «Сохранение» расположение создаваемого файла.

_images/mapeditor_080.png

Рис. 2.77 Построение файла, содержащего протокол TMS

В указанной папке будет создан файл с расширением *.rtms, *.rtwms или *.rwms, в зависимости от выбранного типа соединения.

Далее приведены примеры готовых протоколов WMS, TMS, TWMS с описанием использованных параметров.

Пример протокола TMS:

<TMSRastr>
<Url>`http://geoportal.ntsomz.ru/get_tile_external.php?x=$(x)&amp;y=$(y)&amp;scale=$(z)</Url <http://geoportal.ntsomz.ru/get_tile_external.php?x=$(x)&amp;y=$(y)&amp;scale=$(z)%3c/Url>`__>
<LayerName>worldmap</LayerName>
<MinZoom>0</MinZoom>
<MaxZoom>20</MaxZoom>
<Proj>+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0
+y_0=0 +units=m +k=1.0 +nadgrids=@null +no_defs</Proj>
<TileSize>256</TileSize>
<CacheFolder>my_cache</CacheFolder>
<TMSExtent>
<a_x>-2.003750834E7</a_x>
<a_y>-2.003750834E7</a_y>
<b_x>2.003750834E7</b_x>
<b_y>2.003750834E7</b_y>
</TMSExtent>
</TMSRastr>

где:

  • Url — URL TMS-сервера с маской для формирования запроса (x, y — индексы тайла в сетке, z — уровень зума);

  • LayerName — название слоя на сервере;

  • MinZoom — минимальный масштаб;

  • MaxZoom — максимальный масштаб;

  • Proj — проекция источника;

  • TileSize — размер тайла (ширина и высота в пикселях);

  • CacheFolder — название папки для хранения кэш-данных (может быть относительным);

  • TMSExtent — охват слоя, координаты в проекции источника.

Пример протокола TWMS:

<TWMSRastr>
<Url>http://server.ru/ </Url>
<Layers>
<TWMSLayerM>
<LayerName>cku:MCA_Darkhan_2012_321_ic_05m_3395_split</LayerName>
<StyleName/>
</TWMSLayerM>
</Layers>
<SRID>3395</SRID>
<TileSize>256</TileSize>
<ZoomCount>20</ZoomCount>
<CacheFolder>cache</CacheFolder>
<TWMSExtent>
<a_x>-20037508.3428</a_x>
<a_y>-15496570.7397</a_y>
<b_x>20037508.3428</b_x>
<b_y>18764656.2314</b_y>
</TWMSExtent>
</TWMSRastr>

где:

  • Url — URL TWMS-сервера;

  • Layers — список слоев TWMSLayerM, состоящих из названия слоя (LayerName) и названия стиля слоя (StyleName);

  • SRID — идентификатор пространственной привязки (проекция слоя);

  • TileSize — размер листа растров (ширина и высота);

  • ZoomCount — количество масштабов, степень детализации растрового слоя;

  • CacheFolder — название папки для хранения кэш-данных;

  • TWMSExtent — охват слоя, координаты в проекции источника.

Пример протокола WMS:

<WMSRastr xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ServerUrl>http://server.ru /</Url>
<Layers>
<WMSLayerM>
<LayerName>cku:MCA_Darkhan_2012_321_ic_05m_3395_split</LayerName>
<StyleName/>
</WMSLayerM>
</Layers>
</WMSRastr>

где:

  • Url — URL сервера;

  • Layers — список слоев WMSLayerM, состоящих из названия слоя (LayerName) и названия стиля слоя (StyleName).

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

2.8.2.3. Пространственная привязка растровых слоев

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

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

Для пространственной привязки растрового слоя необходимо выполнить следующие действия (Рис. 2.78):

  1. Выбрать вкладку «Геопривязка растра…» раздела меню «Файл».

  2. В открывшемся окне «Геопривязка растра» выбрать вкладку «Открыть растр…».

  3. Указать расположение растрового файла (изображение загрузится и отобразится в окне).

  4. Для обозначения контрольных точек:

4.1. Нажать кнопку добавления контрольной точки img_071.

4.2. Отметить точку на растровом снимке (ее координаты отобразятся в таблице в нижней части окна в столбцах «Растр X», «Растр Y», соответственно).

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

4.4. Отметить соответствующую точку на карте в главном окне Программы (ее координаты отобразятся в таблице в столбцах «Карта X», «Карта Y», соответственно).

  1. Отметить необходимое количество контрольных точек (не меньше четырех).

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

  3. Нажать кнопку начала привязки растра img_073.

  4. Указать имя и расположение для растрового файла со сделанной пространственной привязкой для его сохранения в формате TIFF на компьютере пользователя.

_images/mapeditor_081.png

Рис. 2.78 Окно геопривязки растра

По завершении процесса привязки растрового файла будет выдано соответствующее сообщение. Полученный растровый файл будет автоматически загружен в Программу и отображен в списке растровых слоев (Рис. 2.79).

_images/mapeditor_082.png

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

Далее можно произвести над растровым слоем необходимые настройки (раздел Загрузка и настройка растровых слоев).

Раздел меню «Файл» окна «Геопривязка растра» также содержит вкладки «Загрузить контрольные точки…» и «Сохранить контрольные точки…» (Рис. 2.80).

_images/mapeditor_083.png

Рис. 2.80 Меню «Файл» окна «Геопривязка растра»

Вкладка «Сохранить контрольные точки…» позволит сохранить координаты отмеченных на карте контрольных точек в файл формата XML (Рис. 2.81).

_images/mapeditor_084.png

Рис. 2.81 Файл с сохраненными координатами контрольных точек

Вкладка «Загрузить контрольные точки…» позволит использовать координаты ранее сохраненных контрольных точек (загрузить из файла формата XML).