3.10.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. Это заметно уменьшит размер файлов.

Порядок действий для привязки карты

  1. Достать растровый файл с картой, которую вы будете привязывать. Если она в формате .gif, то сконвертируйте её в jpeg или png используя инструмент Растр –> Преобразование –> Преобразовать формат (см http://docs.nextgis.ru/docs_ngqgis/source/raster_op.html#id9) или любой графический редактор.
  2. Решить к какой карте вы будете её привязывать, и открыть её в QGIS.
  3. Решить в какой системе координат нужна конечная карта, и проверить что бы в основном окне QGIS было включено перепроцирование на лету в неё. Её нужно указать на шаге 9.
  4. Запустить модуль привязки растров: Растр –> Привязка растров. Далее описываются комманды модуля Привязка Растров.
  5. Нажать Файл –> Открыть растр. Открываете вашу картинку. На экране появится диалог выбора системы координат, в нём нужно нажать «Отмена».
  6. Если исходный файл большой, то он долго будет рисоваться на экране. В этом случае нажмите «Параметры –> Свойства растра –> Пирамиды», выделите там в списке все строки, «тип - внешние», и нажмите «Создать пирамиды». Получится отдельный файлик с уменьшенными копиями растра, который будет использоваться автоматически для более быстрой отрисовки.
  7. Начинается добавление точек. Правка –> Добавить точку. Поставьте точку на карту. Появится окно с панелями ввода и кнопкой «С карты», нажмите «С карты». Откроется основное окно QGIS, поставьте точку на это же место на карту. Поставьте так для начала 3 точки. Минимально необходимое количество точек зависит от алгоритма, если их будет недостаточно, то вам выведется сообщение.
  8. Точки можно сохранить на диск, на случай сбоев, коммандой «Файл –> Сохранить контрольные точки как». Сохраните их в путь по умолчанию, и они будут подтягиваться автоматически при следующем запуске модуля Привязки растров.
  9. После ввода точек зайдтие в «Параметры –> Параметры трансформации». Укажите там путь для нового файла, тип трансформации и метод интерполяции, ту систему координат, которую вы выбрали на шаге 3. Объяснение параметров приведено ниже.
  10. Закройте окно Параметры трансформации, затем нажмите «Файл –> Начать привязку растра»
  11. В основном окне QGIS появится растр. Вы можете проанализировать его невязки визуально, покрутив настройки прозрачности (например для сравнения ортофотопланов и спутниковых снимков подходит режим смешивания «Направленный свет»

Здесь был описан процесс привязки карт по точкам. Так же можно привязвать карты по числовым координатам, см. http://docs.nextgis.ru/docs_howto/source/topo_georef.html