Переход от одной системы координат к другой - реализация в программах

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/cs2cs_implement.html


Цель статьи — показать, какие методы 7-параметрических преобразований реализованы в различных программах, и какие в них используются преобразования из систем координат, применяемых на территории России, в WGS 84.

Сравнительная таблица

В таблице представлена информация как о реализованных методах, так и о трансформациях «из коробки».

Программы Методы Наборы параметров
Coordinate
Frame
Position
Vector
Pulkovo
1942
СК-42
(2001)
СК-95
(2001)
СК-42
(2008)
СК-95
(2008)
ArcGIS Да Да Да Да Да Да Да
GeoCalculator
by PHOTOMOD
Да Да Да Да* Да* Да Да
Geographic Calculator
by Blue Marble Geo
Да Да Да Да Да Да Да
Global Mapper Да* Да Да* Нет Нет Нет Нет
GRASS Нет Да Да Нет Нет Нет Нет
MapInfo Да Нет Нет Нет Нет Нет Нет
PostGIS Нет Да Нет Да Нет Нет Да
PROJ.4 Нет Да Нет Да Нет Нет Да
QGIS Нет Да Нет Да Нет Нет Да
SAGA GIS Нет Да Нет Нет Нет Нет Нет
SNAP Desktop Да Нет Нет Нет Нет Нет Да
Topcon Tools Да Нет Да Да* Нет Нет Нет

В таблицу включены следующие преобразования:

Название Код
EPSG
Имя
EPSG
Метод Параметры Источник
Pulkovo
1942
1254 Pulkovo 1942
to WGS 84 (1)
Geocentric
translations
28, -130, -95 U.S. DMA
TR8350.2
СК-42
(2001)
1267 Pulkovo 1942
to WGS 84 (17)
Coordinate
Frame
23.92, -141.27, -80.9, 0.0, -0.35, -0.82, -0.12 ГОСТ Р
51794-2001
СК-95
(2001)
1281 Pulkovo 1995
to WGS 84 (1)
Coordinate
Frame
24.82, -131.21, -82.66, 0.0, 0.0, -0.16, -0.12 ГОСТ Р
51794-2001
СК-42
(2008)
5044 Pulkovo 1942
to WGS 84 (20)
Coordinate
Frame
23.57, -140.95, -79.8, 0.0, -0.35, -0.79, -0.22 ГОСТ Р
51794-2008
СК-95
(2008)
5043 Pulkovo 1995
to WGS 84 (2)
Coordinate
Frame
24.47, -130.89, -81.56, 0.0, 0.0, -0.13, -0.22 ГОСТ Р
51794-2008

ArcGIS и другие

Некоторые программы интегрируют базу данных EPSG. К ним относятся ArcGIS от ESRI и Geographic Calculator от Blue Marble Geographics. При выборе проекции для неё из множества трансформаций нужно выбрать подходящую.

GeoCalculator by PHOTOMOD

Список датумов:

Имя Параметры Идентификация
Pulkovo 1942 to WGS 84 (1) 28, -130, -95 EPSG:1254
Пулково 1942 в WGS 84 23.9, -141.3, -80.9, 0, -0.371277,-0.849811, -0.12 EPSG:1267*
Пулково 1942 в WGS 84 (ГОСТ Р 51794-2008) 23.57, -140.95, -79.8, 0, -0.349990, -0.789994, -0.22 EPSG:5044
Пулково 1995 в WGS 84 24.8, -131.24, -82.66, 0, 0, -0.169137, -0.12 EPSG:1281*
Пулково 1995 в WGS 84 (ГОСТ Р 51794-2008) 24.47, -130.89, -81.56, 0, 0, -0.129988, -0.22 EPSG:5043

Параметры "Пулково 1942 в WGS 84" и "Пулково 1995 в WGS 84" близки к значениям ГОСТ Р 51794-2001, но не совпадают с ними.

Параметры "Пулково 1942 в WGS 84 (ГОСТ Р 51794-2008)" и "Пулково 1995 в WGS 84 (ГОСТ Р 51794-2008)" практически совпадают с оригиналом, но параметры вращения всё же чуть-чуть отличаются. Дело в том, что для этих датумов значения параметров вращения заданы в микрорадианах. С округлением. И это при том, что среди единиц измерения этих величин «секунды дуги» присутствуют и используются в определениях иностранных датумов.

Global Mapper by Blue Marble Geographics

При вводе пользовательского преобразования можно выбирать метод. Однако датумы в файл custom_datums.txt записываются со знаками метода Position Vector transformation.

Имя Параметры Идентификация
S-42 (Pulkovo 1942) 28, -130, -95, 0, 0, 0, 0 EPSG:1254*
S-42 RUSSIA 25.0, -141.0, -78.5, 0.0, -0.35, -0.736, 0.0

Список датумов СК-42 открывает "S-42 (Pulkovo 1942)", за которым следуют 12 датумов "S-42" с именами государств. Следует помнить, что датум "S-42 (Pulkovo 1942)" не является трансформацией. При его выборе для каждой точки в зависимости от географического положения будет использован один из датумов от "S-42 ALBANIA" до "S-42 RUSSIA". Если же точка не попадает в зону действия ни одного из них, будет применено преобразование EPSG:1254, которое недоступно пользователю для выбора.

На первый взгляд, "S-42 RUSSIA" идентично EPSG:15865 "Pulkovo 1942 to WGS 84 (16)". Однако здесь ошибка: знаки параметров вращения забыли поменять при копировании. Они соответствуют методу Coordinate Frame Rotation, а не Position Vector transformation.

GRASS

Использует библиотеку PROJ.4 в ряде модулей (r.proj, v.proj, m.proj). Файл datum.table содержит определения датумов с трансформацией по умолчанию. Метод Geocentric translation.

Короткое
имя
Название Параметры Идентификация
S-42 Pulkovo_1942 28, -130, -95 EPSG:1254

Файл datumtransform.table содержит альтернативные трансформации для датумов. Параметры задаются в формате PROJ.4: "towgs84=…". Там можно найти несколько наборов S-42 для стран Восточной Европы.

MapInfo Professional by Pitney Bowes

Программа использует метод Coordinate Frame Rotation.

Номер Имя Эллипсоид Параметры Идентификация
1001 Pulkovo 1942 Krassovsky 24, -123, -94, -0.02, 0.25, 0.13, 1.1 EPSG:1675
1013 Russia SK42 PZ90 23.92, -141.27, -80.9, 0, -0.35, -0.82, -0.12
1014 Russia SK95 PZ90 24.82, -131.21, -82.66, 0, 0, -0.16, -0.12

Датум EPSG:1675 "Pulkovo 1942(83) to WGS 84 (1)" предназначен для использования на территории бывшей Восточной Германии. Поэтому как "Longitude / Latitude (Pulkovo 1942)", так и проекции семейства "Gauss-Kruger (Pulkovo 1942)" непригодны для использования на территории России.

После появления ГОСТ Р 51794-2001 были добавлены датумы 1013 и 1014. По недоразумению они были привязаны к эллипсоиду ПЗ-90, что делает их совершенно бесполезными.

PostGIS

Координатные преобразования основаны на PROJ.4.

Информация о координатных системах хранится в таблице spatial_ref_sys. Пара записей для примера:

auth_name auth_srid srtext proj4text
EPSG 4284 GEOGCS["Pulkovo 1942", … ,TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12], … +proj=longlat +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +no_defs
EPSG 4200 GEOGCS["Pulkovo 1995", … ,TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22], … +proj=longlat +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22 +no_defs

PROJ.4

Библиотека PROJ.4 реализует метод Position Vector transformation.

Датумы в таблице epsg:

Имя Параметры Идентификация
Pulkovo 1942 23.92, -141.27, -80.9, 0, 0.35, 0.82, -0.12 EPSG:1267
Pulkovo 1995 24.47, -130.89, -81.56, 0, 0, 0.13, -0.22 EPSG:5043

QGIS

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

QGIS интегрирует базу данных EPSG и позволяет при задании проекции выбирать подходящую трансформацию.

SAGA GIS

Программа использует библиотеку PROJ.4.

Файл saga_prj.srs для проекций, используемых на территории России, не содержит параметров преобразований датумов.

SNAP Desktop by ESA

Программа опирается на EPSG. Судя по знакам параметров TOWGS84[…] в описаниях проекций, реализован метод Coordinate Frame Rotation. Впрочем, это требует проверки.

Имя Параметры Идентификация
Pulkovo 1942 -40.595, -18.55, -69.339, 2.508, -1.832, 2.611, -4.299 EPSG:1274, EPSG:1679
Pulkovo 1995 24.47, -130.89, -81.56, -0.0, 0.0, -0.13, -0.22 EPSG:5043

Датум EPSG:1274 "Pulkovo 1942 to LKS94 (1)", он же EPSG:1679 "Pulkovo 1942 to WGS 84 (2)", предназначен для использования на территории Литвы.

Topcon Tools by Topcon Positioning Systems

Программа использует метод Coordinate Frame Rotation.

Список датумов:

Имя Параметры Идентификация
PUK42 28, -130, -95, 0, 0, 0, 0 EPSG:1254
SK42 23.9, -141.3, -80.9, 0.0, -0.35, -0.82, -0.12 EPSG:1267*
SK95 24.653, -129.136, -83.057, -0.06696, 0.00391, -0.12902, -0.175

Для SK42 параметры сдвига ∆X, ∆Y по сравнению с определением EPSG:1267 округлены до дециметров.

Ссылки