Привязка топографических карт в SAGA

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Последовательность шагов по координатной привязке листа топокарты в географической системе координат (ГСК Pulkovo 42) и последующему переходу из нее – в спроецированную (ПСК UTM WGS 84)

Цель координатной привязки изображений – установление связи между локальной (файловой) и географической системами координат. Благодаря этому изображение получает пространственную привязку, а значит может быть переведено из географической в спроецированную систему координат, использоваться совместно с уже имеющими привязку данными, выступать основой для векторизации.

Инструменты координатной привязки изображений и перепроецирования в ГИС SAGA реализованы встроенными библиотеками Proj.4 и GeoTRANS. Традиционно процесс координатной привязки состоит из шести этапов, но в SAGA она происходит по несколько упрощенной схеме:

  1. Расстановка точек привязки
  2. Проверка точности и правильности расстановки точек
  3. Выбор метода передискретизации элементов изображения
  4. Выбор модели трансформации
  5. Выбор размера ячейки результирующего изображения
  6. Осуществление трансформации

Рассмотрим процедуру пошагово. Используемый в качестве примера лист топокарты М-37-121 можно скачать здесь.

Импорт отсканированных материалов

Для начала импортируем в рабочую среду SAGA отсканированные материалы, которые могут предоставляться в таких форматах как *.jpeg, *.tif, *.bmp и других, т.е. переведем их в собственный растровый формат данной ГИС.

Запустите GUI SAGA и загрузите файл отсканированной топографической карты (в нашем случае М-37-12.jpeg). Для этого в библиотеке модулей (вкладка Modules рабочей области или элемент Modules панели меню) выберите Import/Export – Images => Import Image (bmp, jpeg, png, tif, gif, pnm, xpm) двойным кликом. После этого в диалоговом окне модуля укажите путь к файлу и нажмите Okay.

Saga georef 01.png

После появления в окне сообщений Module execution succeeded перейдите на вкладку рабочей области Data и дважды кликните по элементу М-37-121, чтобы он отобразился в главном окне в виде карты. Сохраните импортированный файл – кликните на элементе М-37-121 правой кнопкой мыши, в контекстном меню выберите Save As…, а в диалоге Save Grid укажите путь к папке проекта (например – \georeferencing). Обратите внимание, что теперь файл по умолчанию сохраняется в собственном растровом формате SAGA Grid - *.sgrd.

Для удобства дальнейшей работы создайте файл проекта - он объединит все файлы, которыми вы будете оперировать. Последовательно выберите на панели меню File => Project => Save Project As… и сохраните файл проекта в рабочей папке \georeferencing. Собственный формат файлов проектов SAGA Project - *.sprj предлагается по умолчанию.

NB При наименовании рабочих файлов и папок необходимо следить, чтобы в названиях и путях отсутствовала кириллица.

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

Для введения точек привязки из библиотеки модулей выберите Projection – Georeferencing => Create reference points [interactive], двойным кликом активизируйте модуль и не меняя параметров диалогового окна нажмите Оkay.

Saga georef 07.png

После активизации модуля в окне сообщений появится предложение Interactive module execution has been started, после чего можно приступить к непосредственному вводу точек привязки.

  • Увеличьте необходимый фрагмент карты (например, верхний левый угол), используя инструмент панели меню Saga georef zoom.pngZoom. Лист карты удобнее двигать инструментом Saga georef pan.pngPan, а для возвращения к первичному размеру используйте кнопку Saga georef fullext.pngZoom To Full Extent;
  • Используя инструмент Saga georef action.pngAction поставьте двойным кликом точку на карте, а в появившемся диалоговом окне Point Position введите координаты точки в десятичных градусах, используя в качестве разделителя знак . «точка», а не , «запятая».
Saga georef 08.png
  • Чтобы в дальнейшем видеть поставленные точки нужно открыть рабочий файл с точками привязки в компоновку-вид с топографической картой. Для этого на вкладке Data дважды кликните по элементу Reference points (Origin) и в диалоговом окне Add layer to selected map выберите уже имеющуюся 01. М-37-121 и нажмите Оkay.
Saga georef 09.png

Чтобы убедиться что все сделано верно, перейдите на вкладку Maps, которая должна иметь следующий вид:

Saga georef 10.png

Обратите внимание на то, что поставленная вами точка привязки теперь стала видимой.

  • Аналогичным образом проставьте следующие точки по углам рамки и центру листа - 4-5 точек будет вполне достаточно. После этого остановите модуль расстановки точек привязки – в меню Modules уберите галочку рядом с Create Reference Points.
Saga georef 11.png
  • Сохраните файл с расставленными точками привязки. Для этого на вкладке Data выберите элемент Reference Point (Origin) и в контекстном меню укажите Save As… . В окне диалога Save Shapes сохраните файл в рабочую папку (в нашем случае как - reference_points_pnt.shp).

Переход из локальной (файловой) в географическую систему координат

Используя файл с введенными точками привязки переведем карту из локальной в географическую систему координат на основании известных координат точек. Для этого активизируйте модуль привязки растров Projection – Georeferencing => Georeferencing Grids и установите в диалоговом окне следующие параметры:

  • выберите в качестве файла точек привязки созданный ранее шейп-файл;
  • проставьте координаты Х и У;
  • укажите растр для которого будет проводится операция;
  • в качестве метода передискретизации выберите Nearest Neighbor.
Saga georef 12.png

Назначение известной системы координат (ГСК Pulkovo 1942)

Для прописывания уже известной системы координат воспользуемся модулем Projection – Proj.4 => Set Coordinate Reference System, который позволяет сделать это несколькими альтернативными способами:

  1. записать в формате кода библиотеки Proj.4;
  2. установить вручную, воспользовавшись диалогом из 30 исходных параметров;
  3. импортировать из уже готового текстового .prj-файла;
  4. записать код EPSG;
  5. выбрать соответствующий код EPSG из имеющегося списка географических систем координат;
  6. выбрать соответствующий код EPSG из имеющегося списка спроецированных систем координат;
  7. импортировать данные о системе координат из растра;
  8. импортировать данные о системе координат из шейп-файла.
Saga georef 13.png

Способ 1 - запись в формате кода Proj.4

В данном случае нам известно, что исходная карта использует систему координат 1942 года, базирующуюся на эллипсоиде Красовского, т.е. мы имеем дело с ГСК Pulkovo 1942. Выбрав соответствующий код EPSG из имеющегося списка географических систем координат (опция 5), мы получим следующую запись в формате кода Proj.4:

+proj=longlat +ellps=krass +no_defs

Поскольку в дальнейшем планируется переход от Pulkovo 1942 к WGS 84, зададим параметры этой трансформации на основании ГОСТ Р 51794-2008, дополнив код группой параметров towgs84:

+proj=longlat +ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 +no_defs
Saga georef 14.png

Способ 2 - выбор параметров через диалог

Аналогичным образом можно описать проекцию и через диалог из 30-ти параметров (опция 2), который будет иметь следующий вид

Saga georef 15.png

После того, как вы удобным для вас способом описали проекцию и в поле Data Objects => Grids указали соответствующий файл, можно присваивать проекцию. По окончании работы модуля появится соответствующее сообщение. Если теперь перейти на вкладку Description окна Object Properties, то можно увидеть, что информация о системе координат файла выглядит следующим образом:

Saga georef 16.png

Не забудьте сохранить изменения, нажав Save в контекстном меню файла.

Переход из географической системы координат (ГСК Pulkovo 1942) в спроецированную (ПСК UTM WGS 84)

Переходы между системами координат и проекциями в SAGA, реализуемые с помощью библиотеки Proj.4, возможно осуществить несколькими альтернативными способами:

  1. Projection - Proj.4 => Proj.4 (Command Line Arguments, Grid) - параметры перехода задаются в виде командной строки в формате Proj.4;
  2. Projection - Proj.4 => Proj.4 (Dialog, Grid) - параметры перехода задаются в диалоговом режиме на основании 28 предустановленных показателей.

Аналогичные модули реализованы для шейп-файлов (Proj.4 (Dialog, Shapes) или Proj.4 (Command Line Arguments, Shapes)), а также нескольких файлов (Proj.4 (Command Line Arguments, List of Shapes Layers), Proj.4 (Dialog, List of Shapes Layers), Proj.4 (Command Line Arguments, List of Grids), Proj.4 (Dialog, List of Grids)).

Способ 1 - строка аргументов Proj.4

В диалоговом окне соответствующего модуля сначала выбираем файл, которому мы уже присвоили ранее СК Pulkovo 1942 - в таком случае информация о проекции в строке ее описания появится автоматически. Далее, описываем параметры новой проекции:

+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

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

Saga georef 17.png
Saga georef 18.png

По окончании во вкладке Data появится новый элемент к названию которого будет добавлено [Universal Transverse Mercator (UTM)]. Воспользовавшись контекстным меню, сохраните новый файл под удобным для вас именем.

NB К сожалению, SAGA не присваивает файлу информацию о проекции автоматически, поэтому чтобы ее добавить по завершении трансформации вновь воспользуйтесь модулем Projection - Proj.4 => Set Coordinate Reference System.

Способ 2 - установка параметров через диалог

В диалоге Projection - Proj.4 => Proj.4 (Dialog, Grid) сначала описываем параметры исходной проекции Source Projection Parameters аналогично тому, как это делалось при назначении ГСК Pulkovo 1942. В результате диалог должен выглядеть следующим образом:

Saga georef 19.png

При этом часть диалога General Settings остается без изменений, исходным файлом устанавливается растр в ГСК.

Переходим к диалогу описания целевой проекции Target Projection Parameters, который должен выглядеть следующим образом:

Saga georef 20.png

В этом случае в General Settings прописываются такие параметры проекции как центральный меридиан (в соответствии с зоной UTM), ложное смещение на восток, масштабный коэффициент. Разобравшись с целевой проекцией снова возвращаемся в главное окно диалога, устанавливаем Nearest Neighbor в качестве метода интерполяции и запускаем процесс трансформации.

Saga georef 21.png

После этого перед вами сначала появится окно где нужно будет вести номер зоны UTM, а затем - окно с параметрами создаваемого растра.

Saga georef 22.png
Saga georef 23.png

Последовательное нажатие Okay в каждом из них позволит завершить трансформацию.