Географическая привязка данных в QGIS

Материал из GIS-Lab
Версия от 04:49, 17 января 2016; Максим Дубинин (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу 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:

привязываемы файл

Расстановка точек привязки

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

Точки создаются инструментом добавить точку (Add Point) добавить точку. При этом исходные координаты привязываемого изображения получаются автоматически, а опорные (те, к которым осуществляется привязка, нужно откуда-то получить).

Источники координат

Источник координат может быть любой набор данных, сервис или что-то иное, где можно получить координаты в явном виде. Например, координаты можно получить:

  • С данных, которые уже загружены в область карты
  • Из третьего источника
  • С самого изображения

Координаты с уже загруженных привязанных данных

Дописать

Координаты из внешнего источника

Внешним источником может выступать что угодно, коль скоро вы можете получить от него координаты. Например:

  • Координаты собранные в поле с помощью GPS
  • Координаты из интернет-карт: osm.org, maps.google.com и т.д.
  • Координаты из документов

Если координаты находятся в формате отличном от dd.dddddd (десятичные градусы), их нужно будет к нему привести, прежде чем использовать для привязки. Этому посвящена отдельная статья.

Координаты с самого изображения

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

Создание точек

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

добавить точку

В случае привязки растра к другим слоям (векторным или растровым), необходимо сначала загрузить нужные слои в основное окно QGIS. Затем, вместо ввода координат с клавиатуры, для задания координат опорных точек нужно выбрать кнопку С карты (From map canvas) и щелкнуть в нужном месте основной карты. В этом случае координаты опорных точек берутся с карты, которая может содержать любые другие слои, открытые в основном окне программы.

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

После расстановки необходимого количества точек, окно сбора точек должно выглядеть примерно так:

добавить точку

Трансформация

После сбора необходимого количества точек, можно приступить к трансформации растра (пересчету) его в новую систему координат. Для этого необходимо выбрать настройки трансформации Параметры/Параметры трансформации.

В QGIS доступно несколько методов трансформации растров, в том числе:

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

Для начала, рекомендуется пользоваться полиномиальной моделью соответствующей количеству созданных контрольных точек.

добавить точку

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


'Ссылки по теме