Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

MapInfo, MapBasic
Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 08 апр 2020, 11:46

Здравствуйте!
Помогите, пожалуйста, решить проблемму со сдвигом координат.
У меня есть два TAB файла, с системами координат - одна в метрах, другая в градусах.
GDAL говорит, что они такие:
файл A:

Код: Выделить всё

LOCAL_CS["Nonearth",UNIT["Meter",1.0]] 
файл Б:

Код: Выделить всё

GEOGCS["unnamed",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]
Онлайн сервис для конвертации говорит, что такие:
файл А:

Код: Выделить всё

WGS 84 / Pseudo-Mercator (EPSG:3857) 
файл Б:

Код: Выделить всё

WGS 84 (EPSG:4326) 
В файле A у меня полигон, в файле Б точка с координатами в градусах:

Код: Выделить всё

13.685983, 6.276257
я хочу ее сконвертировать в систему координат файла А (в метрах).
При конвертации во всех онлайн сервисах и с помощью GDAL и с помощью openlayers она переводится в точку:

Код: Выделить всё

1523516.658565399004146, 700071.198322909418494
Что не правильно относительно файла A (точка не попадает в полигон)
И только в MapInfo она переводится в точку:

Код: Выделить всё

1521811.2, 697887.6
что правильно, относительно полигона.
Вопрос: Почему возникают такие отличия? Может ли это быть из-за того, что
"degree" в GDAL 0.0174532925199433, а не 0.017453292519943295 ?
Или из-за того что фактически LOCAL_CS это не указанная система координат и между ней и EPSG:3857 может быть какой то сдвиг?

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 08 апр 2020, 12:06

Snef писал(а):
08 апр 2020, 11:46
У меня есть два TAB файла, с системами координат - одна в метрах, другая в градусах.
Выкладывайте оба TAB файла или их фрагменты.

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 08 апр 2020, 12:26

Выкладываю файлы.
Так отображается в MapInfo:
Изображение
А так после конвертации другими способами (онлайн сервисы, GDAL, openlayers):
Изображение
Вложения
файлы.rar
(1.71 КБ) 352 скачивания

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 08 апр 2020, 13:44

Snef писал(а):
08 апр 2020, 11:46
LOCAL_CS["Nonearth",UNIT["Meter",1.0]]
Должна быть описана LOCAL_CS, скорее всего - это МСК. В таком виде как у Вас не пойдет.

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 08 апр 2020, 14:36

Спасибо большое! А почему Map Info может правильно преобразовать WGS 84 (которая в градусах) к этой самой LOCAL_CS, если открыть сначала файл с полигонами, а потом с точками? Можно ли как то узнать что это за LOCAL_CS? В .wor файле есть такая информация:

Код: Выделить всё

Set Map
  CoordSys Earth Projection 1, 104

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 08 апр 2020, 14:44

Snef писал(а):
08 апр 2020, 14:36
А почему Map Info может правильно преобразовать WGS 84
Вы уверены в правильности? Скорее всего, наложение произошло случайным образом.

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 08 апр 2020, 15:03

lam писал(а):
08 апр 2020, 14:44
Вы уверены в правильности?
Да, именно в map info точки там где должны быть. Это очень странно и похоже на какую-то погрешность.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 08 апр 2020, 15:33

Snef писал(а):
08 апр 2020, 11:46
В файле A у меня полигон, в файле Б точка с координатами в градусах:
КОД: ВЫДЕЛИТЬ ВСЁ

13.685983, 6.276257
Ваши координаты в градусах попадают в Африку, так и должно быть?

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 08 апр 2020, 16:18

lam писал(а):
08 апр 2020, 15:33
Ваши координаты в градусах попадают в Африку, так и должно быть?
Да, с этим все правильно (должно быть где-то в Камеруне :) ) Важно только взаимное расположение объектов слоев.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 08 апр 2020, 19:44

Snef писал(а):
08 апр 2020, 16:18
Важно только взаимное расположение объектов слоев.
Необходимо знать или попытаться определить параметры системы координат в LOCAL_CS. Только после этого можно производить трансформацию.
Почему у Вас не совпадают результаты трансформаций между онлайн сервисами и мапинфо?
Да потому, что Вы для онлайн сервисов обозначаете LOCAL_CS как:
Snef писал(а):
08 апр 2020, 11:46
WGS 84 / Pseudo-Mercator (EPSG:3857)
В мапинфо же трансформация вообще не происходит по всем правилам, потому что LOCAL_CS указана как "Non-Earth (meters)", а для этой системы координат трансформация вообще не предусмотрена.
Укажите для мапинфо что LOCAL_CS:
Snef писал(а):
08 апр 2020, 11:46
WGS 84 / Pseudo-Mercator (EPSG:3857)
и получите одинаковые результаты с онлайн сервисами.

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 09 апр 2020, 09:06

Спасибо, стало яснее! Скажите, пожалуйста, каким образом Map Info переводит:

Код: Выделить всё

13.685983, 6.276257
в

Код: Выделить всё

1521811.2, 697887.6
или где об этом можно прочитать? Я думаю это распространенный случай?
По LOCAL_CS - в настройках map info стоит "План-схема (метры)".

Данные на самом деле кривые, и скорее всего, два слоя наложены в предположении, что LOCAL_CS это EPSG:3857 (отсюда попадание в Африку) - просто не стали разбираться с системой координат. Затем уже в системе WGS 84 нарисовали в Африке слой с точками, так, чтобы они визуально совпадали со слоем полигонов.
Т.е например была точка полигона в LOCAL_CS 1518467.7, 696453.07 и просто сказали, что это не LOCAL_CS-план схема, а EPSG:3857 и точка в Африке.

Было бы очень нужно узнать как MapInfo переводит 13.685983, 6.276257 в свои 1521811.2, 697887.6, чтобы просто отобразить ее (на другой карте) так же как в MapInfo.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 10 апр 2020, 21:06

Запутали Вы нас со своей Африкой :)
Как я и предположил ранее, у Вас МСК-10 зона 1(https://mapbasic.ru/msk10)
С помощью мапинфо сохраняете обратно точки, которые у Вас в WGS 84, в "План-схема (метры)".
Потом присваиваете и полигонам и точкам параметры МСК-10 зона 1 и пересчитываете в WGS84 во всех онлайн сервисах и с помощью GDAL и с помощью openlayers.
Вложения
Кемь.jpg
Кемь.jpg (524.45 КБ) 9274 просмотра

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение gamm » 11 апр 2020, 11:13

Snef писал(а):
09 апр 2020, 09:06
нужно
Разработчики Мапинфы сделали глупость, и вместо того, чтобы ругаться на попытки трансформировать такие системы координат, их трансформируют, почти наверняка считая, что это градусы, и скорее всего на WGS84. Гадать не нужно, нужно писать нормальную СК.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение lam » 11 апр 2020, 11:21

gamm писал(а):
11 апр 2020, 11:13
Разработчики Мапинфы сделали глупость, и вместо того, чтобы ругаться на попытки трансформировать такие системы координат, их трансформируют, почти наверняка считая, что это градусы, и скорее всего на WGS84. Гадать не нужно, нужно писать нормальную СК.
Полностью с Вами согласен, "План-схему (метры)" надо закрывать для возможности координатных трансформаций, это уже не первые слои TAB которые мне попадались с такими градусами на WGS84.

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Разница при конвертации WGS84 в EPSG:3857 в MapInfo и GDAL

Сообщение Snef » 13 апр 2020, 10:09

gamm, lam огромное вам спасибо за помощь! :D

Ответить

Вернуться в «MapInfo»

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

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