воскресенье, 20 марта 2016 г.

Как создать геопривязку для изображения

Часто у нас есть бумажная карта местности и мы хотим добавить эту карту в наш ГИС-проект. Рассмотрим как создать геопривязанное изображение из сканированной или сфотографированной карты на примере карты заказника “Квітуча гора”.

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


Следующий шаг – найти на базовой карте интересующую местность. Для этого, внимательно рассмотрев сканированную карту, мы находим на ней название населенного пункта – «с.Мильча».


Зная название села, мы можем найти его при помощи одного из модулей «GeoSearch», «osmSearch» или «OSM place search».


После масштабирования карты к интересующему месту, приступаем непосредственно к привязке карты. Для геопривязки растровых изображений в QGIS есть встроенный модуль «Привязка растров» (Georeferencer). Запускается модуль из раздела меню «Растр» - «Привязка растров».


Модуль «Привязка растров» (Georeferencer) открывается в новом окне.


При помощи кнопки «Открыть растр» или комбинации клавиш <Ctrl>+<O> добавляем изображение которое будем привязывать.
В верхней части окна появится изображение, в нижней части расположена таблица с описанием точек привязки.


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

Увеличиваем экстент базовой карты к первой точке привязки. Так же увеличиваем привязываемое изображение к выбранной точке привязки. Приблизившись в окне модуля к точке привязки, нажимаем кнопку «Добавить точку» и клацаем указателем мышки по выбранной точке. После этого открывается форма ввода координат. Координаты можно ввести как через поля ввода, так и захватить с карты. Если у нас есть координаты точек, например, полученные при помощи GPS-навигатора, мы можем их внести в соответствующих полях. Для получения координат с базовой карты нажимаем кнопку «С карты».


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


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


После нажатия точка добавляется в таблицу с описанием точек привязки. Таким образом добавляем как можно больше точек привязки. Точки желательно расположить равномерно по привязываемому изображению. Чем более искажено исходное изображение, тем больше требуется точек привязки. Минимальное количество точек привязки — 3.


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

Качество привязки зависит от количества точек привязки и от выбора метода трансформации. Подробнее про методы трансформации можно почитать здесь.


Одним из ключевых моментов является правильное указание целевой системы координат. Если вносили координаты полученные при помощи GPS-навигатора, то указываем систему координат заданную в настройках GPS-навигатора, наиболее часто это WGS 84 (EPSG:4326). Если мы брали координаты с карты, то указываем систему координат рабочего проекта. В нашем случае это WGS 84 / Pseudo Mercator (EPSG:3857) которая является «родной» для таких карто-сервисов как OpenStreetMap, ArcGIS Online и многие другие.


Задав параметры трансформации запускаем процесс привязки, нажав зеленый треугольник на панели инструментов или выбрав соответствующий пункт в меню «Файл». В результате привязки растров будет получен файл в формате GeoTIFF.

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

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


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


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


Так же можем проверить корректность привязки, указав прозрачность слоя в 50%.


Завершающим штрихом может стать запись информации про проекцию  непосредственно в файл геопривязанного изображения в формате GeoTIFF. Для этого выберем меню «Растр» - «Проекции» - «Назначить проекцию». В открывшемся окне выбираем наш геопривязанный файл и систему координат. Так же мы можем использовать этот инструмент для каталогов с растрами, отметив соответствующий пункт, и если необходимо, в ручную задать параметры программы gdalwarp. Подробней про параметры gdalwarp можно почитать здесь.


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

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

Комментариев нет:

Отправить комментарий