Растр, полученный в результате космической съемки или с помощью сканера
находится в так называемой **файловой системе координат**
(номера строк и столбцов). Чтобы использовать его совместно с другими
данными, растр и эти данные должны быть в общей системе координат.
**Географическая привязка** растра – это установление соотношения между
системой координат растра и системой координат реального мира.
Чтобы привязать растр к реальным координатам, необходимо задать
некоторое преобразование растра, в результате которого он окажется в
том же самом пространстве координат, что и другие пространственные данные.
Географическая привязка растра выполняется посредством задания опорных
точек, координаты которых известны как в системе координат растра,
так и в системе координат реального мира. После набора необходимого
количества точек, рассчитывается преобразование,
определяющее масштабирование, поворот и сдвиг между этими двумя
системами координат.
Информация о географической привязке сохраняется либо внутри
растровых форматов, либо в отдельных файлах. Благодаря этой информации,
растр может преобразовываться в другую систему координат и отображаться
вместе с другими данными.
### Привязка отсканированной карты (практика)
![][georeferencing-01]
1. Определяем систему координат исходного растра. Данный растр находится
в спроецированной системе координат. Поэтому пиксельные координаты нужно
сопоставлять с метрами (единицами измерения проекции). Анализ показывает,
что в данной карте использована **Азимутальная равнопромежуточная проекция**.
Наиболее близкая из стандартных проекций - это EPSG:102016 со следующим кодом:
+proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
При создании рассматриваемой карты использовался датум **Пулково-1942**,
использующий **эллипсоид Красовского**. Основной (по распространенности)
датум в СССР и постсоветском пространстве. Поэтому немного модифицируем
систему координат (ГОСТ 51794-2001):
+proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs
**Замечание:** в некоторых случаях можно игнорировать проекцию
карты и привязываються к градусам. Либо, если проекцию
определить не удалось, привязываться к спроецированным координатам
в другой проекции (например, ГК).
2. Создадим в QGIS пользовательскую проекцию с теми параметрами, что мы определили.
Назовём её *North Pole* (*Settings* → *Custom CRS* → *+*).
3. Подготовим csv-файл с точками, к которым мы будем привязываться.
id,lon,lat
0,40,60
1,-40,60
2,140,60
3,-140,60
4. Откроем этот слой в QGIS, указав систему координат EPSG:4284 (Pulkovo 1942).
5. Включим перепроецирование координат для нашего проекта и выберем созданную
нами проекцию *North Pole*.
6. Открываем привязчик (Raster → Georeferencer → Georeferencer).
Если такого пункта нет в меню, то нужно включить привязчик в плагинах и
добавляем в него нашу отсканированную карту.
7. В нaстройках указываем тип трансформации - *Helmert*, имя выходного
файла и нашу систему координат *North Pole*.
8. Выбираем инструмент *Add point*, находим точки, соответствующие
точкам из csv-файла и кликаем на них. В открывшемся окне нажимаем
*From map canvas*. В основном окне QGIS находим соответствующую точку
и прилипаем к ней. Повторяем для остальных. В таблице появляются невязки,
а на картинке соответствующие им красные векторы. Невязки будут в
пределах двух-трёх пикселей. Обратите внимание, что в таблице
пиксельные координаты сопоставляются с координатами проекции
(не градусами).
9. Когда все точки привязки заданы, поменяем параметры трансформации.
В данном случае подойдёт тип *Polynomial 1*.
10. Запускаем процесс *Start Georeferencing*. Создасться новый
геопривязанный растр.
11. Обратите внимание, что если нажать на *Generate GDAL Script*,
то вы увидите скрипт GDAL, который и выполняет привязку.
12. Как мы видим, выбор параметров проекции был не очень удачным и
растр оказался на боку. Можно либо перепроецировать его в новую
проекцию, либо изменить проекцию проекта. Создадим новую проекцию
*North Pole Rotated* со следующими параметрами и установим её
в качестве проекции проекта:
+proj=aeqd +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs
13. Наложите на полученный растр слой *ne_110m_land.shp*. Должно получиться
что-то подобное:
![][georeferencing-02]
14. Самостоятельно привяжите растр 050k--n37-003-1.gif. Предположим, что
мы не знаем СК данного растра, для это вначале определим в какой зоне
проекции ГК он находится - в 7 (EPSG:28407), вот в этой проекции и
будем его привязывать. Координаты точек привязки:
id,lon,lat
0,37,56
1,37,55.8333333333333334
2,37.25,56
3,37.25,55.8333333333333334
Реультат:
![][georeferencing-03]
15. Аналогичным образом привязываются и космоснимки. В приложении
ДДЗ Corona DS1007-1056DF103_b.tif от 1964 года, без привязки.
**Важно:** для привязки векторных данных используется плагин
[VectorBender](https://plugins.qgis.org/plugins/VectorBender/)
[georeferencing-01]: assets/georeferencing-01.jpg
[georeferencing-02]: assets/georeferencing-02.png
[georeferencing-03]: assets/georeferencing-03.png