Географическая привязка данных в QGIS
по адресу http://gis-lab.info/qa/georef-qgis.html
Описание свободного инструмента для привязки данных
QGIS - современная, активно развиваемая пользовательская ГИС, распространяемая бесплатно. В числе других функций этой программы - возможность географической привязки растровых данных. Эта статья является пошаговой иллюстрацией процесса привязки с помощью QGIS. Инструмент не так удобен, как хотелось бы, но даже в таком виде представляет работоспособную альтернативу проприетарным пакетам для работы с ГИС.
Инструмент использует ряд преобразований реализованных засчет GDAL.
Перед началом работы, убедитесь, что:
- Разделитель целой и дробной части в системе - точка, а не запятая, иначе возможно появление ошибки "Невозможно расчитать трансформацию", если привязка проходит без проблем, то разделитель можно не менять (замечено в Windows 7 64bit).
- Названия рабочих папок и самих растров не содержат кириллицы и пробелов.
Оба этих совета носят рекомендательный характер и их стоит проверить, если у вас возникают проблемы при привязке. Вполне возможно, у вас не возникнет похожих проблем.
Растр используемый для примера в этой статье можно загрузить вот здесь.
Запуск QGIS и модуля привязки
QGIS можно загрузить с официального сайта или установить с помощью установщика OSGeo4W (рекомендуется, описание установки). Модуль географической привязки данных называется Привязка растров (GDAL) (Georeferencer GDAL) и запускается через Модули\Привязка растров (Plugins\Georeferencer). Если этого модуля в меню Модули нет, необходимо сначала подключить его через Модули\Управление модулями (Plugins\Plugin manager).
А потом запустить:

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

Для начала привязки, загрузим в вид данных привязываемый растровый файл, он может находится в любом распространенном графическом формате (gif, jpeg, tif и др.), для этого выберем Файл\Открыть растр. Если ваш файл не может быть загружен, обычно это является свидетельством особенности растра, необычного сжатия или цветовой системы, в этом случае - просто пересохраните его в формат TIF:

Сбор точек привязки
Дальнейшая работа по сбору точек привязки происходит в области с загруженным растром, поэтому вы можете захотеть его максимально увеличить. Процесс привязки заключается в создании нескольких опорных точек, для которых известны их реальные координаты. Источником координат может быть любой, обычно их берут:
- С самого изображения
- С данных, которые уже загружены в область карты
- Из третьего источника
Координаты с загруженных данных
Дописать
Координаты из внешнего источника
Внешним источником может выступать что угодно, коль скоро вы можете получить от него координаты. Например:
- Координаты собранные в поле с помощью GPS
- Координаты из интернет-карт: osm.org, maps.google.com и т.д.
- Координаты из документов
Если координаты находятся в формате отличном от dd.dddddd (десятичные градусы), их нужно будет к нему привести, прежде чем использовать для привязки. Этому посвящена отдельная статья.
Координаты с самого изображения
В нашем примере это углы топокарты и указание этой точки с помощью инструмента Добавить точку (Add Point) .
После увеличения нужного фрагмента и указания точки необходимо ввести соответствующие ей координаты:

В случае привязки растра к другим слоям (векторным или растровым), необходимо сначала загрузить нужные слои в основное окно QGIS. Затем, вместо ввода координат с клавиатуры, для задания координат опорных точек нужно выбрать кнопку С карты (From map canvas) и щелкнуть в нужном месте основной карты. В этом случае координаты опорных точек берутся с карты, которая может содержать любые другие слои, открытые в основном окне программы.
Для сохранения собираемых точек нужно выбрать Файл/Сохранить контрольные точки как . Они будут сохранены в дополнительный файл, имеющий такое же имя как и привязываемый + расширение points. Содержимое файла легко отредактировать в любом текстовом редакторе. Если, по некоторой причине, процесс расстановки точек пришлось прервать, то при следующей загрузке растра расставленные точки загрузятся вместе с ним. Для загрузки другого файла точек, нужно выбрать: Файл/Загрузить контрольные точки.
После расстановки необходимого количества точек, окно сбора точек должно выглядеть примерно таким образом:

Трансформация
После сбора необходимого количества точек, можно приступить к трансформации растра (пересчету) его в новую систему координат. Для этого необходимо выбрать настройки трансформации Параметры/Параметры трансформации.
В QGIS доступно несколько методов трансформации растров, в том числе:
- Линейное - аффинное преобразование, линейный сдвиг и масштабирование, пересчет (создание нового) растра при этом не происходит (поэтому пункт создания нового растра заблокирован), создается новый файл привязки;
- Гельмерта - сдвиг и поворот, создается новый файл в формате TIF и файл привязки;
- Полиномиальное 1,2,3 - полиномиальное преобразование первого, второго или третьего порядка. Требуют соответственно минимум 4, 6, 10 точек. Создается новый файл в формате TIF и файл привязки; Рекомендуем использовать для быстрой привязки Полиномиальное преобразование 1 порядка, для более точной Полиномиальное преобразование 2 порядка (подробнее).
- Thin plate spline - кусочно-линейное преобразование, аналогичное модели трансформации резинового листа (rubbersheet), используется в случае очень сильных локальных искажений исходного растра.
Для начала, рекомендуется пользоваться полиномиальной моделью соответствующей количеству созданных контрольных точек.

После получения нового растра, рекомендуется проверить точность привязки независимым или тем же набором точек и, если необходимо, вернуться к процессу привязки еще раз, удалив неудачно|неправильно поставленные опорные точки.
'Ссылки по теме