Привязка топографических карт в SAGA
Последовательность шагов по координатной привязке листа топокарты в географической системе координат (ГСК Pulkovo 42) и последующему переходу из нее – в спроецированную (ПСК UTM WGS 84)
Цель координатной привязки изображений – установление связи между локальной (файловой) и географической системами координат. Благодаря этому изображение получает пространственную привязку, а значит может быть переведено из географической в спроецированную систему координат, использоваться совместно с уже имеющими привязку данными, выступать основой для векторизации.
Инструменты координатной привязки изображений и перепроецирования в ГИС SAGA реализованы встроенными библиотеками Proj.4 и GeoTRANS. Традиционно процесс координатной привязки состоит из шести этапов, но в SAGA она происходит по несколько упрощенной схеме:
- Расстановка точек привязки
Проверка точности и правильности расстановки точек- Выбор метода передискретизации элементов изображения
Выбор модели трансформации- Выбор размера ячейки результирующего изображения
- Осуществление трансформации
Рассмотрим процедуру пошагово. Используемый в качестве примера лист топокарты М-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.
После появления в окне сообщений 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.
После активизации модуля в окне сообщений появится предложение Interactive module execution has been started, после чего можно приступить к непосредственному вводу точек привязки.
- Увеличьте необходимый фрагмент карты (например, верхний левый угол), используя инструмент панели меню – Zoom. Лист карты удобнее двигать инструментом – Pan, а для возвращения к первичному размеру используйте кнопку – Zoom To Full Extent;
- Используя инструмент – Action поставьте двойным кликом точку на карте, а в появившемся диалоговом окне Point Position введите координаты точки в десятичных градусах, используя в качестве разделителя знак . «точка», а не , «
запятая».
- Чтобы в дальнейшем видеть поставленные точки нужно открыть рабочий файл с точками привязки в компоновку-вид с топографической картой. Для этого на вкладке Data дважды кликните по элементу Reference points (Origin) и в диалоговом окне Add layer to selected map выберите уже имеющуюся 01. М-37-121 и нажмите Оkay.
Чтобы убедиться что все сделано верно, перейдите на вкладку Maps, которая должна иметь следующий вид:
Обратите внимание на то, что поставленная вами точка привязки теперь стала видимой.
- Аналогичным образом проставьте следующие точки по углам рамки и центру листа - 4-5 точек будет вполне достаточно. После этого остановите модуль расстановки точек привязки – в меню Modules уберите галочку рядом с Create Reference Points.
- Сохраните файл с расставленными точками привязки. Для этого на вкладке Data выберите элемент Reference Point (Origin) и в контекстном меню укажите Save As… . В окне диалога Save Shapes сохраните файл в рабочую папку (в нашем случае как - reference_points_pnt.shp).
Переход из локальной (файловой) в географическую систему координат
Используя файл с введенными точками привязки переведем карту из локальной в географическую систему координат на основании известных координат точек. Для этого активизируйте модуль привязки растров Projection – Georeferencing => Georeferencing Grids и установите в диалоговом окне следующие параметры:
- выберите в качестве файла точек привязки созданный ранее шейп-файл;
- проставьте координаты Х и У;
- укажите растр для которого будет проводится операция;
- в качестве метода передискретизации выберите Nearest Neighbor.
Назначение известной системы координат (ГСК Pulkovo 1942)
Для прописывания уже известной системы координат воспользуемся модулем Projection – Proj.4 => Set Coordinate Reference System, который позволяет сделать это несколькими альтернативными способами:
- записать в формате кода библиотеки Proj.4;
- установить вручную, воспользовавшись диалогом из 30 исходных параметров;
- импортировать из уже готового текстового .prj-файла;
- записать код EPSG;
- выбрать соответствующий код EPSG из имеющегося списка географических систем координат;
- выбрать соответствующий код EPSG из имеющегося списка спроецированных систем координат;
- импортировать данные о системе координат из растра;
- импортировать данные о системе координат из шейп-файла.
В данном случае нам известно, что исходная карта использует систему координат 1942 года, базирующуюся на эллипсоиде Красовского, т.е. мы имеем дело с ГСК Pulkovo 1942. Выбрав соответствующий код EPSG из имеющегося списка географических систем координат (опция 5), мы получим следующую запись в формате кода Proj.4:
+proj=longlat +ellps=krass +no_defs
Поскольку в дальнейшем планируется переход от датума Pulkovo 42 к 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
Аналогичным образом можно описать проекцию и через диалог из 30-ти параметров (опция 2), который по окончании будет иметь следующий вид
После того, как вы удобным для вас способом описали проекцию и в поле Data Objects => Grids указали соответствующий файл, можно присваивать проекцию. По окончании работы модуля появится соответствующее сообщение. Если теперь перейти на вкладку Description окна Object Properties, то можно увидеть, что информация о системе координат файла выглядит следующим образом:
Не забудьте сохранить изменения, нажав Save в контекстном меню файла.
Переход из географической системы координат (ГСК Pulkovo 1942) в спроецированную (ПСК UTM WGS 84)
Переходы между системами координат и проекциями в SAGA, реализуемые с помощью библиотеки Proj.4, возможно осуществить несколькими альтернативными способами:
- Projection - Proj.4 => Proj.4 (Command Line Arguments, Grid) - параметры перехода задаются в виде командной строки в формате Proj.4;
- 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. После этого появится окно с информацией об основных параметрах получаемого растра, согласившись с которыми вы запустите процесс трансформации.
По окончании во вкладке 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. В результате диалог должен выглядеть следующим образом:
При этом часть диалога General Settings остается без изменений, исходным файлом устанавливается растр в ГСК.
Переходим к диалогу описания целевой проекции Target Projection Parameters, который должен выглядеть следующим образом:
В этом случае в General Settings прописываются такие параметры проекции как центральный меридиан (в соответствии с зоной UTM), ложное смещение на восток, масштабный коэффициент. Разобравшись с целевой проекцией снова возвращаемся в главное окно диалога, устанавливаем Nearest Neighbor в качестве метода интерполяции и запускаем процесс трансформации.
После этого перед вами сначала появится окно где нужно будет вести номер зоны UTM, а затем - окно с параметрами создаваемого растра.
Последовательное нажатие Okay в каждом из них позволит завершить трансформацию.