Преобразование карты Google Maps в проекцию Гаусса Крюгера

Ответить
imagovrn
Новоприбывший
Сообщения: 12
Зарегистрирован: 23 авг 2010, 11:03
Репутация: 0

Преобразование карты Google Maps в проекцию Гаусса Крюгера

Сообщение imagovrn » 28 фев 2011, 12:55

Доброго времени суток, уважаемые форумчане.

Есть задачка, для решения которой хочется попросить вашего совета, так как все мыслимые и немыслимые способы ее решить привели к неправильному результату. Опишу подробно проблему.
Имеется карта с GoogleMaps, в виде JPEG файла, а также файла привязки в формате MapInfo TAB. В файле привязка осуществляется к координатам в системе WGS84.
Необходимо преобразовать эту карту (трансформировать растр) в проекцию Гаусса-Крюгера на эллипсоиде Крассовского соответствующей зоны.
Проекции определяю строкой в формате PROJ.4.
Так как исходно растр находится в проекции Popular Visualization Mercator / Google Mercator (или как там его еще называют), то исходную систему координат задаю так:

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

+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
Этот PROJstring соответствует EPSG:3395. Отсюда первый вопрос: можно ли говорить, что Google Mercator = EPSG:900913 это то же самое, что EPSG:3395?
Конечную систему координат задаю также PROJstring-ом вида:

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

+proj=tmerc +lat_0=0 +lon_0=NN +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs
где NN - долгота осевого мередиана зоны в градусах.
Итоговая строка запуска gdalwarp выглядит так:

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

gdalwarp.exe -of BMP -s_srs "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs" -t_srs "+proj=tmerc +lat_0=0 +lon_0=NN +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs" sourceRaster.jpg destRaster.tif -overwrite
К сожалению, что-то точно идет не так в дальнейшем. Об этом говорит тот факт, что при получении параметров привязки растра (уже из программного кода) получаются неверные координаты (погрешность в долготе в секундах, WGS84).
Прошу вас подсказать, в чем может заключаться проблема, так как сам я с картографией знаком очень плохо - сам являюсь математиком по образованию.

Также есть несколько дополнительных вопросов, на которые хотел попросить у Вас ответа:
  1. Можно ли пользоваться таким преобразованием по всему земному шару? (полагаю что нет, ведь это референсная СК для РФ)
  2. Можно ли преобразовывать координаты таким образом в UTM? Если да, можно ли пользоваться для этого диапазонами EPSG:32601-32660, EPSG:32701-32760
Заранее благодарю за Ваши ответы,
Алексей

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Преобразование карты Google Maps в проекцию Гаусса Крюге

Сообщение ericsson » 28 фев 2011, 13:58

Ну начнем с того, что
EPSG:3395 это

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

+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs 
а
EPSG:900013 это

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

+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs
(про +nadgrids=@null можно почитать тут http://proj.maptools.org/faq.html )

А, еще: +x_0=500000 писать низзя, тогда уж +x_0=NN500000, где N - номер зоны.
Параметры смотреть тут http://spatialreference.org/ref/epsg/28402/ и далее.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Преобразование карты Google Maps в проекцию Гаусса Крюге

Сообщение Mavka » 01 мар 2011, 10:22

Гугло-СК имеет номер 3857
лангольеры под окном жрали время ом-ном-ном

imagovrn
Новоприбывший
Сообщения: 12
Зарегистрирован: 23 авг 2010, 11:03
Репутация: 0

Re: Преобразование карты Google Maps в проекцию Гаусса Крюге

Сообщение imagovrn » 02 мар 2011, 17:59

Большое спасибо всем за ответы. Проблема, похоже, решилась так:
1) Использовал EPSG:3857.
2) Использовал при привязке в рассчетах масштаб м/пикс, возвращаемый GDAL, а не тот, что был исходно у растра Google Maps. Последний использовать нельзя потому, что этот масштаб неравномерен в картах одного и того же масштаба.

imagovrn
Новоприбывший
Сообщения: 12
Зарегистрирован: 23 авг 2010, 11:03
Репутация: 0

Re: Преобразование карты Google Maps в проекцию Гаусса Крюге

Сообщение imagovrn » 02 мар 2011, 18:00

Большое спасибо всем за ответы. Проблема, похоже, решилась так:
1) Использовал EPSG:3857.
2) Использовал при привязке в рассчетах масштаб м/пикс, возвращаемый GDAL, а не тот, что был исходно у растра Google Maps. Последний использовать нельзя потому, что этот масштаб неравномерен в картах одного и того же масштаба.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Преобразование карты Google Maps в проекцию Гаусса Крюге

Сообщение ericsson » 02 мар 2011, 18:07

масштаб неравномерен в картах одного и того же масштаба.
"...одного и того же слоя или значения zoom" только, а не "масштаба", если быть технически точным.

А, если не секрет, какова была цель манипуляций?

imagovrn
Новоприбывший
Сообщения: 12
Зарегистрирован: 23 авг 2010, 11:03
Репутация: 0

Re: Преобразование карты Google Maps в проекцию Гаусса Крюге

Сообщение imagovrn » 04 мар 2011, 12:25

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

Ответить

Вернуться в «GDAL/OGR»

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

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