Привязка топографических карт в SAGA: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
 
(не показано 65 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{Статья|Черновик}}
{{Статья|Опубликована|georef-saga}}
{{Аннотация|Последовательность шагов по привязке листа топокарты в географической системе координат (ГСК Pulkovo 42) и последующему переходу из нее – в спроецированную (ПСК UTM WGS 84)}}
{{Аннотация|Последовательность шагов по координатной привязке листа топокарты в географической системе координат (ГСК Pulkovo 42) и последующему переходу из нее – в спроецированную (ПСК UTM WGS 84)}}


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


Традиционно процесс координатной привязки состоит из следующих [http://gis-lab.info/docs/giscourse/18-rasterwork.html этапов]:
В статье рассмотрен вариант привязки листа топокарты для которого известны как исходная система координат, так и точные координаты нескольких точек (углы и центр рамки)<ref>Альтернативный вариант, когда в качестве источника координатной информации для некоторых точек выступает уже привязанное изображение (карта, снимок), рассмотрен в параграфе 1.1 [http://switch.dl.sourceforge.net/project/saga-gis/SAGA%20-%20Documentation/Tutorials/Noise_Tutorial/NoiseTutorial.pdf учебного пособия]</ref>.
 
Инструменты координатной привязки изображений и перепроецирования в ГИС SAGA реализованы встроенными библиотеками Proj.4 и GeoTRANS. Традиционно процесс координатной привязки состоит из [http://gis-lab.info/docs/giscourse/18-rasterwork.html шести этапов]:


# Расстановка точек привязки
# Расстановка точек привязки
Строка 13: Строка 15:
# Осуществление трансформации
# Осуществление трансформации


Как и большинство современных ГИС, SAGA предоставляет пользователю инструменты координатной привязки картографических материалов, а также инструменты перехода между проекциями, реализующиеся встроенными библиотеками Proj.4 и GeoTRANS. Однако важно отметить, что процесс координатной привязки в SAGA происходит по несколько упрощенной схеме:
Рассмотрим особенности реализации этих этапов пошагово. Используемый в качестве примера лист топокарты М-37-121 можно скачать [http://sunsite.berkeley.edu/EART/x-ussr/100k/M-37-121.jpg здесь].
 
# Расстановка точек привязки
# <s>Проверка точности и правильности расстановки точек</s>
# Выбор метода передискретизации элементов изображения
# <s>Выбор модели трансформации</s>
# Выбор размера ячейки результирующего изображения
# Осуществление трансформации
 
Такой «сокращенный» вариант не всегда способен обеспечить высокую точность привязки, однако при качественно отсканированных материалах он позволяет добиться хороших результатов. Рассмотрим процедуру пошагово.


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


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


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


Запустите GUI SAGA и загрузите файл отсканированной топографической карты (в нашем случае ''М-37-12.JPEG''). Для этого в библиотеке модулей (вкладка <tt>Modules</tt> рабочей области или аналогичный элемент панели меню) выберите <tt>Import/Export – Images => Import Image (bmp, jpeg, png…)</tt> двойным кликом.
[[Файл:saga_georef_01.png||750px|thumb|center]]
После этого в диалоговом окне модуля укажите путь к файлу и нажмите <tt>Okay</tt>.


[[Файл:первый.png||750px|thumb|center]]
После появления в окне сообщений <span style="color:green">''Module execution succeeded''</span> перейдите на вкладку рабочей области <tt>Data</tt> и дважды кликните по элементу ''М-37-121'', чтобы он отобразился в главном окне в виде карты. Сохраните импортированный файл – кликните на элементе ''М-37-121'' правой кнопкой мыши, в контекстном меню выберите <tt>Save As…</tt>, а в диалоге <tt>Save Grid</tt> укажите путь к папке проекта (например – ''\georeferencing''). Обратите внимание, что теперь файл по умолчанию сохраняется в собственном растровом формате SAGA Grid - *.sgrd.


После появления в окне сообщений <span style="color:green">Module execution succeeded</span> перейдите на вкладку рабочей области <tt>Data</tt> и дважды кликните по элементу ''М-37-121'', чтобы он отобразился в главном окне в виде карты.
Для удобства дальнейшей работы создайте файл проекта - он объединит все файлы, которыми вы будете оперировать. Последовательно выберите на панели меню <tt>File => Project => Save Project As…</tt> и сохраните файл проекта в рабочей папке ''\georeferencing''. Собственный формат файлов проектов SAGA Project - *.sprj предлагается по умолчанию.


[[Файл:второй.png|center]]
<span style="color:red">'''NB'''</span> При наименовании рабочих файлов и папок необходимо следить, чтобы в названиях и путях отсутствовала кириллица, хотя присутствие в них пробелов SAGA допускает. Однако, с учетом того, что вы скорее всего будете использовать эти же файлы и папки в работе с другими ГИС, которые могут оказаться чувствительными и к пробелам, лучше заменять пробел знаком нижнего подчеркивания "_".
 
Сохраните импортированный файл – кликните на элементе ''М-37-121'' правой кнопкой мыши, в контекстном меню выберите <tt>Save As…</tt>, а в диалоге <tt>Save Grid</tt> укажите путь к папке проекта (в нашем случае – ''\georeferencing'').
 
{|align="center"
|-valign="center"
|[[Файл:третий.png|center]]
|[[Файл:четвертый.png|350px|thumb|center]]
|}
 
Обратите внимание, что теперь файл по умолчанию сохраняется в собственном растровом формате SAGA Grid - *.SGRD.
 
Для удобства дальнейшей работы создайте файл проекта - он объединит все файлы, которыми вы будете оперировать. Последовательно выберите на панели меню <tt>File => Project => Save Project As…</tt> и сохраните файл проекта в рабочей папке (в нашем случае – ''topomap_georeferencing''. Собственный формат файлов проектов SAGA Project - *.SPRJ предлагается по умолчанию.
 
{|align="center"
|-valign="center"
|[[Файл:пятый.png|center]]
|[[Файл:шестой.png|350px|thumb|center]]
|}
 
<span style="color:red">'''NB'''</span> При наименовании рабочих файлов и папок необходимо следить, чтобы их названия не содержали кириллицы.
 
==Расстановка точек привязки==


== Расстановка точек привязки: этапы 1-2 ==


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


[[Файл:седьмой.png||700px|thumb|center]]
[[Файл:saga_georef_07.png||750px|thumb|center]]


После активизации модуля в окне сообщений появится предложение <span style="color:green">Interactive module execution has been started</span>, после чего можно приступить к непосредственному вводу точек привязки.
После активизации модуля в окне сообщений появится предложение <span style="color:green">''Interactive module execution has been started''</span>, после чего можно приступить к непосредственному вводу точек привязки.


* Увеличьте необходимый фрагмент карты (например, верхний левый угол), используя инструмент панели меню [[Файл:saga_georef_zoom.png]] – ''Zoom''. Лист карты удобнее двигать инструментом [[Файл:saga_georef_pan.png]] – ''Pan'', а для возвращения к первичному размеру используйте кнопку  [[Файл:saga_georef_fullext.png]] – ''Zoom To Full Extent'';
* Увеличьте необходимый фрагмент карты (например, верхний левый угол), используя инструмент панели меню [[Файл:saga_georef_zoom.png]] – ''Zoom''. Лист карты удобнее двигать инструментом [[Файл:saga_georef_pan.png]] – ''Pan'', а для возвращения к первичному размеру используйте кнопку  [[Файл:saga_georef_fullext.png]] – ''Zoom To Full Extent'';
Строка 71: Строка 43:
* Используя инструмент [[Файл:saga_georef_action.png]] – ''Action'' поставьте двойным кликом точку на карте, а в появившемся диалоговом окне <tt>Point Position</tt> введите координаты точки в [http://gis-lab.info/qa/dms2dd.html десятичных градусах], используя в качестве разделителя знак <span style="color:red">'''.'''</span> «точка», а не ''',''' «<s>запятая</s>».
* Используя инструмент [[Файл:saga_georef_action.png]] – ''Action'' поставьте двойным кликом точку на карте, а в появившемся диалоговом окне <tt>Point Position</tt> введите координаты точки в [http://gis-lab.info/qa/dms2dd.html десятичных градусах], используя в качестве разделителя знак <span style="color:red">'''.'''</span> «точка», а не ''',''' «<s>запятая</s>».


[[Файл:saga_georef_08.png|700px|thumb|center]]
[[Файл:saga_georef_08.png|750px|thumb|center]]


* Чтобы в дальнейшем видеть поставленные точки нужно открыть рабочий файл с точками привязки в компоновку-вид с топографической картой. Для этого на вкладке <tt>Data</tt> дважды кликните по ''Reference points (Origin)'' и в диалоговом окне <tt>Add layer to selected map</tt> выберите уже имеющуюся ''01. М-37-121'' и нажмите ОК.
* Чтобы в дальнейшем видеть поставленные точки нужно открыть рабочий файл с точками привязки в компоновку-вид с топографической картой. Для этого на вкладке <tt>Data</tt> дважды кликните по элементу ''Reference points (Origin)'' и в диалоговом окне <tt>Add layer to selected map</tt> выберите уже имеющуюся ''01. М-37-121'' и нажмите <tt>Оkay</tt>.


[[Файл:saga_georef_09.png|700px|thumb|center]]
[[Файл:saga_georef_09.png|750px|thumb|center]]


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


[[Файл:saga_georef_10.png|350px|thumb|center]]
[[Файл:saga_georef_10.png|400px|thumb|center]]


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


* Аналогичным образом проставьте следующие точки по углам рамки и центру листа - 4-5 точек будет вполне достаточно. После этого остановите модуль расстановки точек привязки – в меню <tt>Modules</tt> уберите галочку рядом с <tt>Create Reference Points</tt>.
* Аналогичным образом проставьте следующие точки по углам рамки и центру листа - 5 точек будет вполне достаточно. При расстановке последующих точек в окне будут автоматически прописываться расчетные координаты, которые следует корректировать в соответствии с значениями на карте. После этого остановите модуль расстановки точек привязки – в меню <tt>Modules</tt> уберите галочку рядом с <tt>Create Reference Points</tt>.


[[Файл:saga_georef_11.png|200px|thumb|center]]
[[Файл:saga_georef_11.png|400px|thumb|center]]


* Сохраните файл с расставленными точками привязки. Для этого на вкладке <tt>Data</tt> выберите элемент ''Reference Point (Origin)'' и в контекстном меню укажите <tt>Save As…</tt> . В окне диалога <tt>Save Shapes</tt> сохраните файл в рабочую папку (в нашем случае как - ''reference_points_pnt.SHP'').
SAGA позволяет рассчитать ошибку трансформации на основании [http://gis-lab.info/qa/rmse.html RMSE] и оценить качество расстановки точек, записывая результат в поле атрибутивной таблицы RESID.


== Переход из локальной (файловой) в географическую систему координат ==
[[Файл:saga_georef_111.png|400px|thumb|center]]


Используя файл с введенными точками привязки переведем карту из локальной в географическую систему координат на основании известных координат точек. Для этого активизируйте модуль привязки растров <tt>Projection – Georeferencing => Georeferencing Grids</tt> и установите в диалоговом окне следующие параметры:
* Сохраните файл с расставленными точками привязки. Для этого на вкладке <tt>Data</tt> выберите элемент ''Reference Point (Origin)'' и в контекстном меню укажите <tt>Save As…</tt> . В окне диалога <tt>Save Shapes</tt> сохраните файл в рабочую папку (в нашем случае как - ''reference_points_pnt.shp'').
 
== Переход из локальной (файловой) в географическую систему координат: этапы 4-6 ==
 
Используя файл с введенными точками привязки переведем карту из локальной в географическую систему координат на основании известных координат точек. Для этого активизируйте модуль привязки растров <tt>Projection – Georeferencing => Rectify Grid</tt> и установите в диалоговом окне следующие параметры:


* выберите в качестве файла точек привязки созданный ранее шейп-файл;
* выберите в качестве файла точек привязки созданный ранее шейп-файл;
* проставьте координаты Х и У;
* в качестве координат точек привязки укажите введенные с карты Х_MAP и Y_MAP;
* укажите растр для которого будет проводится операция;
* укажите растр для которого будет проводится операция;
* в качестве метода передискретизации выберите <tt>Nearest Neighbor</tt>.
* выберите метод трансформации, в данном случае - <tt>Spline</tt><ref>Обратите внимание, что начиная с версии 2.1.1 набор доступных методов существенно расширился: <tt>Automatic</tt>, <tt>Triangulation</tt>, <tt>Spline</tt>, <tt>Affine</tt>, <tt>1<sup>st</sup> Order Polynomial</tt>, <tt>2<sup>nd</sup> Order Polynomial</tt>, <tt>3<sup>rd</sup> Order Polynomial</tt>, <tt>Polynomial Order</tt></ref>;
* в качестве метода передискретизации выберите <tt>Nearest Neighbor</tt><ref>Кроме <tt>Nearest Neighbor</tt> доступны также <tt>Bilinear Interpolation</tt>, <tt>Inverse Distance Interpolation</tt>, <tt>Bicubic Spline Interpolation</tt>, <tt>B-Spline Interpolation</tt>. В данном случае мы устанавливаем <tt>Nearest Neighbor</tt>, т.к. этот метод не изменяет исходного значения ячейки растра, а значит может быть использован для категориальных данных, каковыми и  является сканированная карта</ref>.


[[Файл:saga_georef_12.png|750px|thumb|center]]
[[Файл:saga_georef_12.png|750px|thumb|center]]
После нажатия  <tt>Okay</tt> появится окно с расчетными параметрами нового растра (охват, размер ячейки, ряды и колонки). На данном этапе есть возможность установить необходимый размер ячейки результирующего изображения с последующим перерасчетом зависимых параметров.
[[Файл:saga_georef_121.png|750px|thumb|center]]
По окончании работы модуля будет выведено сообщение <span style="color:green">''Module execution succeeded''</span>, на вкладке <tt>Data</tt> появится новый элемент М-37-121  - в его системе координат значения ''х'' и ''у'' будут соответствовать значениям географических координат введенных ранее. Двойным кликом откройте его в новую карту - вы увидите, что изображение теперь имеет прямоугольную форму (в соответствии с неодинаковой протяженностью по широте и долготе). Для корректного цветового отображения на вкладке <tt>Settings</tt> (справа) в блоке <tt>Colors - Type</tt> выберите <tt>RGB</tt> и нажмите <tt>Apply</tt>.
[[Файл:saga_georef_24.png|750px|thumb|center]]
Для проверки качества привязки рекомендуется воспользоваться [http://gis-lab.info/qa/topogrids.html сетками разграфки] соответствующего масштаба.


== Назначение известной системы координат (ГСК Pulkovo 1942) ==
== Назначение известной системы координат (ГСК Pulkovo 1942) ==
Строка 106: Строка 93:
# записать в формате кода библиотеки Proj.4;
# записать в формате кода библиотеки Proj.4;
# установить вручную, воспользовавшись диалогом из 30 исходных параметров;
# установить вручную, воспользовавшись диалогом из 30 исходных параметров;
# импортировать из уже готового текстового .prj-файла;
# импортировать информацию о проекции из растрового файла;
# записать код EPSG;
# импортировать информацию о проекции из шейп-файла;
# выбрать соответствующий код EPSG из имеющегося списка географических систем координат;
# импортировать из текстового файла (например, *.prj);
# выбрать соответствующий код EPSG из имеющегося списка спроецированных систем координат;
# установить код EPSG:
# импортировать данные о системе координат из растра;
::''a.'' выбрать соответствующий код EPSG из имеющегося списка географических систем координат;
# импортировать данные о системе координат из шейп-файла.
::''b.'' выбрать соответствующий код EPSG из имеющегося списка спроецированных систем координат.
 


[[Файл:saga_georef_13.png|750px|thumb|center]]
[[Файл:saga_georef_13.png|750px|thumb|center]]
=== Способ 1 - строка аргументов Proj.4 ===


В данном случае нам известно, что исходная карта использует систему координат 1942 года, базирующуюся на эллипсоиде Красовского, т.е. мы имеем дело с ГСК Pulkovo 1942. Выбрав соответствующий код EPSG из имеющегося списка географических систем координат (опция 5), мы получим следующую запись в формате кода Proj.4:
В данном случае нам известно, что исходная карта использует систему координат 1942 года, базирующуюся на эллипсоиде Красовского, т.е. мы имеем дело с ГСК Pulkovo 1942. Выбрав соответствующий код EPSG из имеющегося списка географических систем координат (опция 5), мы получим следующую запись в формате кода Proj.4:
Строка 119: Строка 109:
<pre>+proj=longlat +ellps=krass +no_defs</pre>
<pre>+proj=longlat +ellps=krass +no_defs</pre>


Поскольку в дальнейшем планируется переход от датума Pulkovo 42 к WGS 84, для удобства сразу же зададим параметры этой трансформации на основании [http://gis-lab.info/docs/law/gost51794-2008.7z ГОСТ Р 51794-2008]. Для этого дополним код группой параметров towgs84:
Поскольку в дальнейшем планируется переход от Pulkovo 1942 к WGS 84, зададим параметры этой трансформации на основании [http://gis-lab.info/docs/law/gost51794-2008.7z ГОСТ Р 51794-2008], дополнив код группой значений towgs84:


<pre>+proj=longlat +ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 +no_defs</pre>
<pre>+proj=longlat +ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 +no_defs</pre>
Строка 125: Строка 115:
[[Файл:saga_georef_14.png|750px|thumb|center]]  
[[Файл:saga_georef_14.png|750px|thumb|center]]  


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


[[Файл:saga_georef_15.png|750px|thumb|center]]
[[Файл:saga_georef_15.png|750px|thumb|center]]


После того, как вы удобным для вас способом описали проекцию и в поле <tt>Data Objects => Grids</tt> указали соответствующий файл, можно присваивать проекцию. По окончании работы модуля появится соответствующее сообщение. Если теперь перейти на вкладку <tt>Description</tt> окна <tt>Object Properties</tt>, то можно увидеть, что информация о системе координат файла выглядит следующим образом:
После того, как вы удобным для вас способом описали проекцию и в поле <tt>Data Objects => Grids</tt> указали соответствующий файл, можно присваивать проекцию, нажав  <tt>Оkay</tt>. По окончании работы модуля появится сообщение <span style="color:green">''Module execution succeeded''</span>. Если теперь перейти на вкладку <tt>Description</tt> окна <tt>Object Properties</tt>, то можно увидеть, что информация о системе координат файла выглядит следующим образом:


[[Файл:saga_georef_16.png||350px|thumb|center]]
[[Файл:saga_georef_16.png||400px|thumb|center]]


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


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


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


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


Аналогичные модули реализованы для шейп-файлов (<tt>Proj.4 (Dialog, Shapes)</tt> или <tt>Proj.4 (Command Line Arguments, Shapes)</tt>), а также нескольких файлов (<tt>Proj.4 (Command Line Arguments, List of Shapes Layers)</tt>, <tt>Proj.4 (Dialog, List of Shapes Layers)</tt>, <tt>Proj.4 (Command Line Arguments, List of Grids)</tt>, <tt>Proj.4 (Dialog, List of Grids)</tt>).
Аналогичные модули реализованы для шейп-файлов (<tt>Proj.4 (Dialog, Shapes)</tt> или <tt>Proj.4 (Command Line Arguments, Shapes)</tt>), а также нескольких файлов (<tt>Proj.4 (Command Line Arguments, List of Shapes Layers)</tt>, <tt>Proj.4 (Dialog, List of Shapes Layers)</tt>, <tt>Proj.4 (Command Line Arguments, List of Grids)</tt>, <tt>Proj.4 (Dialog, List of Grids)</tt>).
Строка 146: Строка 138:
=== Способ 1 - строка аргументов Proj.4 ===
=== Способ 1 - строка аргументов Proj.4 ===


В диалоговом окне соответствующего модуля сначала выбираем файл, которому мы уже присвоили ранее СК Pulkovo 1942 - в таком случае информация о проекции в строке ее описания появится автоматически. Далее, описываем параметры новой проекции:
В диалоговом окне модуля <tt>Projection - Proj.4 =>  Proj.4 (Command Line Arguments, Grid)</tt> сначала выбираем файл, которому ранее мы уже присвоили ГСК Pulkovo 1942 - в таком случае информация о проекции в строке ее описания появится автоматически. Далее, описываем параметры новой проекции:


<pre>+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs</pre>
<pre>+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs</pre>


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


{|align="center"
{|align="center"
  |-valign="center"
  |-valign="center"
  |[[Файл:saga_georef_17.png|thumb|750px]]
  |[[Файл:saga_georef_17.png|thumb|575px]]
  |[[Файл:saga_georef_18.png|thumb|250px]]
  |[[Файл:saga_georef_18.png|thumb|175px]]
|}
|}
По окончании во вкладке <tt>Data</tt> появится новый элемент к названию которого будет добавлено  ''[Universal Transverse Mercator (UTM)]''. Воспользовавшись контекстным меню, сохраните новый файл под удобным для вас именем.
По окончании во вкладке <tt>Data</tt> появится новый элемент к названию которого будет добавлено  ''[Universal Transverse Mercator (UTM)]''. Воспользовавшись контекстным меню, сохраните новый файл под удобным для вас именем.


<span style="color:red">'''NB'''</span> К сожалению, SAGA не присваивает файлу информацию о проекции автоматически, поэтому чтобы ее добавить по завершении трансформации вновь воспользуйтесь модулем <tt>Projection - Proj.4 => Set Coordinate Reference System</tt>.
=== Способ 2 - выбор предустановленных параметров в диалоговом режиме ===


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


В диалоге <tt>Projection - Proj.4 =>  Proj.4 (Dialog, Grid)</tt> сначала описываем параметры исходной проекции <tt>Source Projection Parameters</tt> аналогично тому, как это делалось при назначении ГСК Pulkovo 1942. В результате диалог должен выглядеть следующим образом:
[[Файл:saga_georef_19.png|650px|thumb|center]]


[[Файл:saga_georef_19.png|750px|thumb|center]]
Блок <tt>General Settings</tt> остается без изменений. Исходным файлом устанавливается растр в ГСК Pulkovo 1942.


При этом часть диалога <tt>General Settings</tt> остается без изменений, исходным файлом устанавливается растр в ГСК.
Далее описываем целевую проекцию <tt>Target Projection Parameters</tt>:


Переходим к диалогу описания целевой проекции <tt>Target Projection Parameters</tt>, который должен выглядеть следующим образом:
[[Файл:saga_georef_20.png|650px|thumb|center]]


[[Файл:saga_georef_20.png|750px|thumb|center]]
В этом случае в <tt>General Settings</tt> в соответствии с зоной UTM задаются значения центрального меридиана, ложное смещение на восток, масштабный коэффициент. Разобравшись с целевой проекцией снова возвращаемся в главное окно диалога, устанавливаем <tt>Nearest Neighbor</tt> в качестве метода интерполяции и нажатием <tt>Okay</tt> запускаем процесс трансформации.


В этом случае в <tt>General Settings</tt> прописываются такие параметры проекции как центральный меридиан (в соответствии с зоной UTM), ложное смещение на восток, масштабный коэффициент. Разобравшись с целевой проекцией снова возвращаемся в главное окно диалога, устанавливаем <tt>Nearest Neighbor</tt> в качестве метода интерполяции и запускаем процесс трансформации.
[[Файл:saga_georef_21.png|650px|thumb|center]]


[[Файл:saga_georef_21.png|750px|thumb|center]]
После этого перед вами сначала появится окно для ввода  зоны UTM, а затем - окно с параметрами создаваемого растра.


После этого перед вами сначала появится окно где нужно будет вести номер зоны UTM, а затем - окно с параметрами создаваемого растра.
{|align="center"
{|align="center"
  |-valign="center"
  |-valign="center"
  |[[Файл:saga_georef_22.png|thumb|400px]]
  |[[Файл:saga_georef_22.png|thumb|350px]]
  |[[Файл:saga_georef_23.png|thumb|400px]]
  |[[Файл:saga_georef_23.png|thumb|290px]]
|}
|}
Последовательное нажатие <tt>Okay</tt> в каждом из них позволит завершить трансформацию.
 
Последовательное нажатие <tt>Okay</tt> в каждом из них позволит завершить трансформацию. По окончании во вкладке <tt>Data</tt> появится новый элемент к названию которого будет добавлено  ''[Universal Transverse Mercator (UTM)]''  - в его системе координат значения ''х'' и ''у'' будут соответствовать спроецированным координатам. Двойным кликом откройте его в новую карту - вы увидите, что изображение вновь изменило форму (в соответствии с параметрами заданной проекции). Для корректного цветового отображения на вкладке <tt>Settings</tt> (справа) в блоке <tt>Colors - Type</tt> выберите <tt>RGB</tt> и нажмите <tt>Apply</tt>.Воспользовавшись контекстным меню, сохраните новый файл под удобным для вас именем.
 
[[Файл:saga_georef_25.png|750px|thumb|center]]
 
<span style="color:red">'''NB'''</span> Помните, что совершая трансформацию, SAGA не присваивает файлу информацию о проекции автоматически, поэтому для ее добавления вновь воспользуйтесь модулем <tt>Projection - Proj.4 => Set Coordinate Reference System</tt>.
 
== Ссылки по теме ==
 
Общая информация:<br />
[http://saga-gis.org/ SAGA Home]<br />
[http://gis-lab.info/qa/saga-intro.html Открытая настольная ГИС SAGA - общая характеристика]<br />
[http://gis-lab.info/qa/datum-transform-sets.html Переход от одной системы координат к другой - наборы параметров]<br />
[http://gis-lab.info/qa/proj-sk-faq.html Часто задаваемые вопросы по координатам, проекциям, системам координат]<br />
[http://gis-lab.info/qa/topogrids.html Разграфка и номенклатура топографических карт 1км, 2км, 5км, 10км масштаба]<br />
[http://spatialreference.org/ Информация о привязке в различных форматах]<br />
[http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system Universal Transverse Mercator coordinate system]
 
Привязка в другом ПО ГИС:<br />
[http://gis-lab.info/qa/georef-qgis.html Географическая привязка данных в QGIS]<br />
[http://gis-lab.info/qa/georef-ag.html Координатная привязка карты в ArcMap]<br />
[http://gis-lab.info/qa/topogeoref.html Привязка топографических карт в ERDAS IMAGINE]<br />
[http://gis-lab.info/qa/imagewarp.html Географическая привязка растровых данных в ImageWarp (ArcView)]<br />
[http://gis-lab.info/qa/georef-gdal.html Использование GDAL для привязки растровых материалов]<br />
 
<references/>

Текущая версия от 08:41, 29 апреля 2014

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/georef-saga.html


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

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

В статье рассмотрен вариант привязки листа топокарты для которого известны как исходная система координат, так и точные координаты нескольких точек (углы и центр рамки)[1].

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

  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 При наименовании рабочих файлов и папок необходимо следить, чтобы в названиях и путях отсутствовала кириллица, хотя присутствие в них пробелов SAGA допускает. Однако, с учетом того, что вы скорее всего будете использовать эти же файлы и папки в работе с другими ГИС, которые могут оказаться чувствительными и к пробелам, лучше заменять пробел знаком нижнего подчеркивания "_".

Расстановка точек привязки: этапы 1-2

Для введения точек привязки из библиотеки модулей выберите 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

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

  • Аналогичным образом проставьте следующие точки по углам рамки и центру листа - 5 точек будет вполне достаточно. При расстановке последующих точек в окне будут автоматически прописываться расчетные координаты, которые следует корректировать в соответствии с значениями на карте. После этого остановите модуль расстановки точек привязки – в меню Modules уберите галочку рядом с Create Reference Points.
Saga georef 11.png

SAGA позволяет рассчитать ошибку трансформации на основании RMSE и оценить качество расстановки точек, записывая результат в поле атрибутивной таблицы RESID.

Saga georef 111.png
  • Сохраните файл с расставленными точками привязки. Для этого на вкладке Data выберите элемент Reference Point (Origin) и в контекстном меню укажите Save As… . В окне диалога Save Shapes сохраните файл в рабочую папку (в нашем случае как - reference_points_pnt.shp).

Переход из локальной (файловой) в географическую систему координат: этапы 4-6

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

  • выберите в качестве файла точек привязки созданный ранее шейп-файл;
  • в качестве координат точек привязки укажите введенные с карты Х_MAP и Y_MAP;
  • укажите растр для которого будет проводится операция;
  • выберите метод трансформации, в данном случае - Spline[2];
  • в качестве метода передискретизации выберите Nearest Neighbor[3].
Saga georef 12.png

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

Saga georef 121.png

По окончании работы модуля будет выведено сообщение Module execution succeeded, на вкладке Data появится новый элемент М-37-121 - в его системе координат значения х и у будут соответствовать значениям географических координат введенных ранее. Двойным кликом откройте его в новую карту - вы увидите, что изображение теперь имеет прямоугольную форму (в соответствии с неодинаковой протяженностью по широте и долготе). Для корректного цветового отображения на вкладке Settings (справа) в блоке Colors - Type выберите RGB и нажмите Apply.

Saga georef 24.png

Для проверки качества привязки рекомендуется воспользоваться сетками разграфки соответствующего масштаба.

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

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

  1. записать в формате кода библиотеки Proj.4;
  2. установить вручную, воспользовавшись диалогом из 30 исходных параметров;
  3. импортировать информацию о проекции из растрового файла;
  4. импортировать информацию о проекции из шейп-файла;
  5. импортировать из текстового файла (например, *.prj);
  6. установить код EPSG:
a. выбрать соответствующий код EPSG из имеющегося списка географических систем координат;
b. выбрать соответствующий код EPSG из имеющегося списка спроецированных систем координат.


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 указали соответствующий файл, можно присваивать проекцию, нажав Оkay. По окончании работы модуля появится сообщение Module execution succeeded. Если теперь перейти на вкладку 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) - параметры перехода задаются в диалоговом режиме на основании предустановленных показателей.

Аналогичные модули реализованы для шейп-файлов (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

В диалоговом окне модуля Projection - Proj.4 => Proj.4 (Command Line Arguments, Grid) сначала выбираем файл, которому ранее мы уже присвоили ГСК 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)]. Воспользовавшись контекстным меню, сохраните новый файл под удобным для вас именем.

Способ 2 - выбор предустановленных параметров в диалоговом режиме

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

Saga georef 19.png

Блок General Settings остается без изменений. Исходным файлом устанавливается растр в ГСК Pulkovo 1942.

Далее описываем целевую проекцию Target Projection Parameters:

Saga georef 20.png

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

Saga georef 21.png

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

Saga georef 22.png
Saga georef 23.png

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

Saga georef 25.png

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

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

Общая информация:
SAGA Home
Открытая настольная ГИС SAGA - общая характеристика
Переход от одной системы координат к другой - наборы параметров
Часто задаваемые вопросы по координатам, проекциям, системам координат
Разграфка и номенклатура топографических карт 1км, 2км, 5км, 10км масштаба
Информация о привязке в различных форматах
Universal Transverse Mercator coordinate system

Привязка в другом ПО ГИС:
Географическая привязка данных в QGIS
Координатная привязка карты в ArcMap
Привязка топографических карт в ERDAS IMAGINE
Географическая привязка растровых данных в ImageWarp (ArcView)
Использование GDAL для привязки растровых материалов

  1. Альтернативный вариант, когда в качестве источника координатной информации для некоторых точек выступает уже привязанное изображение (карта, снимок), рассмотрен в параграфе 1.1 учебного пособия
  2. Обратите внимание, что начиная с версии 2.1.1 набор доступных методов существенно расширился: Automatic, Triangulation, Spline, Affine, 1st Order Polynomial, 2nd Order Polynomial, 3rd Order Polynomial, Polynomial Order
  3. Кроме Nearest Neighbor доступны также Bilinear Interpolation, Inverse Distance Interpolation, Bicubic Spline Interpolation, B-Spline Interpolation. В данном случае мы устанавливаем Nearest Neighbor, т.к. этот метод не изменяет исходного значения ячейки растра, а значит может быть использован для категориальных данных, каковыми и является сканированная карта