7.16.5. Привязка растров¶
С помощью данного модуля расширения пользователь QGIS получает возможность привязывать растры к координатам.
Для начала работу нужно включить модуль «Привязка растров (GDAL)» в списке модулей.
После установки модуля появится пункт меню Растр –> Привязка растров.
Этот плагин предоставляет графический интерфейс, в котором пользователь указывает общие опорные точки (традиционно называются gcp, ground control points) на растре и на карте в основном окне NextGIS QGIS. Так же координаты опорных точек можно вводить цифрами с клавиатуры, если на карте есть координатная сетка, и пользователь представляет её код EPSG. Затем при расчёте генерируется новый файл в формате GeoTIFF, с информацией о привязке внутри.
Примеры операций, которые можно сделать в этом модуле¶
Привязать советскую топокарту к слою openstreetmap
Привязать топокарту с сеткой, введя её координаты с клавиатуры, это будет более точно, чем привязывать по точкам.
Привязать 1-2 снимка поверхности с летательного аппарата по визуальным ориентирам.
Допривязать полученный из другого софта ортофотоплан к точной карте.
Привязать сфотографированную распечатку карты OSM с отметками ручкой, что бы потом оцифровать эти отметки.
Привязать древнюю карту из книги царских времён у которой нет сетки, или она в неизвестной системе координат.
Описание интерфейса¶
Алгоритмы привязки¶
Это обозначает, каким алгоритмом будут перемещаться пикселы и растягиваться карта. Алгоритм выбирается в зависимости от комбинации проекций карт - ту в которой лежит растровая карта, и та к которой привязывается.
Если вы не разбираетесь в проекциях, то выбирайте «Тонкостенный сплайн», этот алгоритм привяжет всё.
Линейная - алгоритм делает только поворот, масштабирование, и skew. Этот алгоритм генерирует .world-файл, а все остальные алгоритмы генерируют новый GeoTIFF с привязкой внутри. Достаточно 3 точек.
Helmert - алгоритм делает только поворот, масштабирование, и skew. Он пригоден, если обе карты в одинаковой проекции. Например, если вы взяли карту openstreetmap, напечатали на принтере, нарисовали поверх неё ручкой новые объекты, и сфотографировали эту бумагу, то можете привязать её обратно к openstreetmap этим алгоритмом. Достаточно 3 точек.
Полиномиальная 1-2-3 - используются для привязки бумажных карт. Чаще всего используется алгоритм Полиномиальная-2, который делает кривизну, например при привязке карт в проеции Гаусс-Крюгера к слою в Pseudo Mercator. Полиномиальная-1 делает то, что так же назвается афинным преобразованием. Для этих алгоритмов требуется большее число опорных точек.
Тонкостенный сплайн - современный алгоритм, который позволяет делать локальные деформации, то есть разные в разных местах карты. Он самый всеядный, пригоден для привязки всего, что можно открыть как растр.
Проективная - работает как Helmert, но делает несколько больше геометрических операций. Пригоден для случая когда нужно привязать одиночное фото из летательного аппарата к карте.
Метод интерполяции¶
Это обозначает алгоритм масштабирования изображения, все эти алгоритмы такие же, как в графических редакторах. Разница между ними в визуальном качестве изображения, и почти всегда незаметна, только чуть-чуть изменяется размытость.
Ближайший сосед - быстрый алгоритм. Подойдёт для случая, когда вы долго подбираете опорные точки для тонкостенного сплайна, и хотите быстро расчитать результат и посмотреть, какая получилась невязка в этот раз.
Ланцоша - обычно все используют её, потому что этот алгоритм даёт стабильные результаты независимо от вида изображения.
Сжатие¶
После привязк растр получается несжатый, и занимает много места на диске. Можно выбрать алгоритм Deflate, он сжимает растр, но ненамного. Поэтому после привязки вы можете запустить Растр –> Извлечение –> Обрезка, и обрезать растр по альфа-каналу, затем Растр –> Преобразование –> Преобразовать формат и сохранить его в GeoTIFF с сжатием JPEG. Это заметно уменьшит размер файлов.
Порядок действий для привязки карты¶
Достать растровый файл с картой, которую вы будете привязывать. Если она в формате .gif, то сконвертируйте её в jpeg или png используя инструмент Растр –> Преобразование –> Преобразовать формат (см http://docs.nextgis.ru/docs_ngqgis/source/raster_op.html#id9) или любой графический редактор.
Решить к какой карте вы будете её привязывать, и открыть её в QGIS.
Решить в какой системе координат нужна конечная карта, и проверить что бы в основном окне QGIS было включено перепроцирование на лету в неё. Её нужно указать на шаге 9.
Запустить модуль привязки растров: Растр –> Привязка растров. Далее описываются комманды модуля Привязка Растров.
Нажать Файл –> Открыть растр. Открываете вашу картинку. На экране появится диалог выбора системы координат, в нём нужно нажать «Отмена».
Если исходный файл большой, то он долго будет рисоваться на экране. В этом случае нажмите «Параметры –> Свойства растра –> Пирамиды», выделите там в списке все строки, «тип - внешние», и нажмите «Создать пирамиды». Получится отдельный файлик с уменьшенными копиями растра, который будет использоваться автоматически для более быстрой отрисовки.
Начинается добавление точек. Правка –> Добавить точку. Поставьте точку на карту. Появится окно с панелями ввода и кнопкой «С карты», нажмите «С карты». Откроется основное окно QGIS, поставьте точку на это же место на карту. Поставьте так для начала 3 точки. Минимально необходимое количество точек зависит от алгоритма, если их будет недостаточно, то вам выведется сообщение.
Точки можно сохранить на диск, на случай сбоев, коммандой «Файл –> Сохранить контрольные точки как». Сохраните их в путь по умолчанию, и они будут подтягиваться автоматически при следующем запуске модуля Привязки растров.
После ввода точек зайдтие в «Параметры –> Параметры трансформации». Укажите там путь для нового файла, тип трансформации и метод интерполяции, ту систему координат, которую вы выбрали на шаге 3. Объяснение параметров приведено ниже.
Закройте окно Параметры трансформации, затем нажмите «Файл –> Начать привязку растра»
В основном окне QGIS появится растр. Вы можете проанализировать его невязки визуально, покрутив настройки прозрачности (например для сравнения ортофотопланов и спутниковых снимков подходит режим смешивания «Направленный свет»
Здесь был описан процесс привязки карт по точкам. Так же можно привязвать карты по числовым координатам, см. http://docs.nextgis.ru/docs_howto/source/topo_georef.html