Страница 1 из 1

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

Добавлено: 28 фев 2011, 12:55
imagovrn
Доброго времени суток, уважаемые форумчане.

Есть задачка, для решения которой хочется попросить вашего совета, так как все мыслимые и немыслимые способы ее решить привели к неправильному результату. Опишу подробно проблему.
Имеется карта с 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
Заранее благодарю за Ваши ответы,
Алексей

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

Добавлено: 28 фев 2011, 13:58
ericsson
Ну начнем с того, что
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/ и далее.

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

Добавлено: 01 мар 2011, 10:22
Mavka
Гугло-СК имеет номер 3857

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

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

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

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

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

Добавлено: 02 мар 2011, 18:07
ericsson
масштаб неравномерен в картах одного и того же масштаба.
"...одного и того же слоя или значения zoom" только, а не "масштаба", если быть технически точным.

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

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

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