GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Трансформация MapInfo.prj в WKT и proj

Обсуждение материалов сайта: вопросы, замечания, предложения

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение dab » 30 мар 2015, 16:59

Для данных в формате Mapinfo (TAB) с системой координат
Код: Выделить всё
"МСК-31 зона 2", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 38.48333333333, 0, 1, 2250000, -5212900.56

утилита gdalsrsinfo предлагает
Код: Выделить всё
PROJCS["unnamed",
    GEOGCS["unnamed",
        DATUM["MIF 9999,3,23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22,0",
            SPHEROID["Krassovsky",6378245,298.3]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",38.48333333333],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",2250000],
    PARAMETER["false_northing",-5212900.56],
    UNIT["Meter",1.0]]


А как на самом деле должны выглядеть эти параметры в формате OGC WKT?
  • 0

Аватара пользователя
dab
Гуру
 
Зарегистрирован: 16 дек 2011
Откуда: Москва (на карте)
 
Сообщения: 658
Репутация: 163
Статьи: 2
Проекты: 1

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение SergeyRyzhkov » 30 мар 2015, 17:30

В смысле?
Датум по идее должен быть нормально описан

DATUM["МСК-31 зона 2",
SPHEROID["Krassowsky 1940",6378245,298.3,
AUTHORITY["EPSG","7024"]],
TOWGS84[23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22]
],
  • 0

Аватара пользователя
SergeyRyzhkov
GP-экотеррористы
 
Зарегистрирован: 02 июл 2014
Откуда: Санкт-Петербург (на карте)
 
Сообщения: 904
Репутация: 200

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение dab » 30 мар 2015, 17:51

SergeyRyzhkov писал(а):В смысле?
Датум по идее должен быть нормально описан ...

В том смысле, что после прочтения статьи непонятно как в формате OGC WKT представить систему с пользовательским датумом из Mapinfo (с 9999).
А утилита gdalsrsinfo выдаёт некорректный результат.
Вот я и хочу просто увидеть корректное описание в формате OGC WKT для
Код: Выделить всё
"МСК-31 зона 2", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 38.48333333333, 0, 1, 2250000, -5212900.56
  • 0

Аватара пользователя
dab
Гуру
 
Зарегистрирован: 16 дек 2011
Откуда: Москва (на карте)
 
Сообщения: 658
Репутация: 163
Статьи: 2
Проекты: 1

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение SergeyRyzhkov » 30 мар 2015, 17:56

В статье же написано вроде, цитирую:
" ... Вам может встретиться описание СК, где в качестве номера датума будет стоять "9999" или подобный номер, которого нет в таблице ..."
Вопрос к статье? Или как представить датум в WKT? Или к gdalsrsinfo ?
Выше я привел как должно быть в WKT корректно описан датум, на основании записи СК в формате MapInfo
  • 0

Аватара пользователя
SergeyRyzhkov
GP-экотеррористы
 
Зарегистрирован: 02 июл 2014
Откуда: Санкт-Петербург (на карте)
 
Сообщения: 904
Репутация: 200

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение dab » 30 мар 2015, 18:13

SergeyRyzhkov писал(а):... Вопрос к статье? Или как представить датум в WKT? Или к gdalsrsinfo ?

Вопрос: как представить в формате OGC WKT систему координат, имеющуюся в указанном ниже формате Mapinfo
Код: Выделить всё
"МСК-31 зона 2", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 38.48333333333, 0, 1, 2250000, -5212900.56
  • 0

Аватара пользователя
dab
Гуру
 
Зарегистрирован: 16 дек 2011
Откуда: Москва (на карте)
 
Сообщения: 658
Репутация: 163
Статьи: 2
Проекты: 1

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение SergeyRyzhkov » 30 мар 2015, 18:18

Код: Выделить всё
PROJCS["МСК-31 зона 2",
    GEOGCS["MI Custum",
        DATUM["MI Custum",
                      SPHEROID["Krassowsky 1940",6378245,298.3,AUTHORITY["EPSG","7024"]],
                      TOWGS84[23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22]
        ],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",38.48333333333],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",2250000],
    PARAMETER["false_northing",-5212900.56],
    UNIT["Meter",1.0]]
  • 2

Аватара пользователя
SergeyRyzhkov
GP-экотеррористы
 
Зарегистрирован: 02 июл 2014
Откуда: Санкт-Петербург (на карте)
 
Сообщения: 904
Репутация: 200

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение dab » 30 мар 2015, 19:03

Сергей, спасибо за ответы.
После некоторых манипуляций в QGIS, я остановился всё-таки на другом описании
Код: Выделить всё
PROJCS["unnamed",
    GEOGCS["Krassovsky, 1942",
        DATUM["unknown",
                SPHEROID["krass",6378245,298.3],
                TOWGS84[23.57,-140.95,-79.8,0,0.35,0.79,-0.22]
            ],
            PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",38.48333333333],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",2250000],
    PARAMETER["false_northing",-5212900.56],
    UNIT["Meter",1]]

Такое описание обеспечивает одинаковый результат по сравнению с пересчётом и в Mapinfo и в QGIS с использованием PROJ
  • 1

Аватара пользователя
dab
Гуру
 
Зарегистрирован: 16 дек 2011
Откуда: Москва (на карте)
 
Сообщения: 658
Репутация: 163
Статьи: 2
Проекты: 1

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение SergeyRyzhkov » 30 мар 2015, 20:28

Вы правы, для QGIS надо так описать
TOWGS84[23.57,-140.95,-79.8,0,0.35,0.79,-0.22]

А для MapInfo, если бы она понимала WKT
TOWGS84[23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22]

И дело не в правильности параметров или записи, а в том какой метод использует ПО для трансформации датумов (при 7-и параметрах ессно):

Position Vector или Coordinate Frame Rotation (пишу по памяти могу ошибиться)
  • 0

Аватара пользователя
SergeyRyzhkov
GP-экотеррористы
 
Зарегистрирован: 02 июл 2014
Откуда: Санкт-Петербург (на карте)
 
Сообщения: 904
Репутация: 200

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение ericsson » 31 мар 2015, 05:36

См. http://proj.maptools.org/gen_parms.html секцию "Datum transformation to WGS84".
Собственно, на сколько я понимаю, в QGIS используется http://epsg.io/9606-method а в Mapinfo http://epsg.io/9607-method
  • 0

ericsson
Вредитель полей
 
Зарегистрирован: 27 июл 2009
 
Сообщения: 2991
Репутация: 612

Re: Трансформация MapInfo.prj в WKT и proj - [ОПУБЛИКОВАНО]

Сообщение Boris » 31 мар 2015, 20:04

А давайте посмотрим, что думает Mapinfo по этому поводу:
Код: Выделить всё
Print CoordSysStringToWKT$("CoordSys Earth Projection 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 38.48333333333, 0, 1, 2250000, -5212900.56")

выдает:
Код: Выделить всё
PPROJCS["_MI_0",
    GEOGCS["unnamed",
        DATUM["unnamed",
            SPHEROID["World Geodetic System of 1984, GEM 10C",6378137,298.257223563]],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",38.48333333333],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",2250000],
    PARAMETER["false_northing",-5212900.56],
    UNIT["METER",1]
]

а для стандартной проекции 1001 эллипсоид указан верно, но +TOWGS=, все равно не осилил:
Код: Выделить всё
Print CoordSysStringToWKT$("CoordSys Earth Projection 8, 1001, 7, 38.48333333333, 0, 1, 2250000, -5212900.56")

получаем:
Код: Выделить всё
PROJCS["_MI_1",
    GEOGCS["Pulkovo 1942",
        DATUM["Pulkovo_1942",
            SPHEROID["Krassovsky - 1940/1948",6378245,298.300000000038,
                AUTHORITY["EPSG","7024"]],
            AUTHORITY["EPSG","6284"]
        ],
        PRIMEM["Greenwich",0],
        UNIT["degree",0.0174532925199433],
        AUTHORITY["EPSG","4284"]
    ],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",38.48333333333],
    PARAMETER["scale_factor",1],
    PARAMETER["false_easting",2250000],
    PARAMETER["false_northing",-5212900.56],
    UNIT["METER",1]
]
  • 1

Boris
Гуру
 
Зарегистрирован: 10 апр 2006
Откуда: Париж (на карте)
 
Сообщения: 3819
Репутация: 317
Статьи: 3
Проекты: 1

Re: Трансформация MapInfo.prj в WKT и proj

Сообщение Донецков » 21 апр 2015, 16:35

Вы правы, для QGIS надо так описать
TOWGS84[23.57,-140.95,-79.8,0,0.35,0.79,-0.22]
А для MapInfo, если бы она понимала WKT
TOWGS84[23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22]

тогда вопрос, что нужно указывать при работе непосредственно с библиотекой proj.dll? (модуль который работает с этой библиотекой)
по моему должно быть: TOWGS84[23.57,-140.95,-79.8,0,0.35,0.79,-0.22]
проверял на известных данных, если добавить "-", то ошибки увеличиваются...
хотя встречается и такое:
Код: Выделить всё
+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 +units=m +no_defs

например тут
  • 0

Последний раз редактировалось Донецков 21 апр 2015, 16:45, всего редактировалось 1 раз.
Донецков
Гуру
 
Зарегистрирован: 19 май 2010
 
Сообщения: 3051
Репутация: 187

Re: Трансформация MapInfo.prj в WKT и proj

Сообщение SergeyRyzhkov » 21 апр 2015, 16:44

PROJ.4 для трансформации датумов использует метод Position Vector (EPSG 9606)

MapInfo для трансформации датумов использует метод Coordinate frame rotation (EPSG 9607)

По ссылке выше явно указан метод http://epsg.io/9607-method , поэтому знаки с минусом
  • 0

Аватара пользователя
SergeyRyzhkov
GP-экотеррористы
 
Зарегистрирован: 02 июл 2014
Откуда: Санкт-Петербург (на карте)
 
Сообщения: 904
Репутация: 200

Re: Трансформация MapInfo.prj в WKT и proj

Сообщение Донецков » 21 апр 2015, 16:52

Точно... указано, что
Method: Coordinate Frame Rotation (geog2D domain)
, и странно, что для всех приведенных параметров для РФ используется только он..., а например для Азербайджана есть и
Код: Выделить всё
Method: Position Vector transformation (geog2D domain)
:(
  • 0

Донецков
Гуру
 
Зарегистрирован: 19 май 2010
 
Сообщения: 3051
Репутация: 187

Пред.

Вернуться в Материалы сайта

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).