Координаты для Google Maps

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
OldMarine
Новоприбывший
Сообщения: 4
Зарегистрирован: 04 апр 2010, 13:34
Репутация: 0

Координаты для Google Maps

Сообщение OldMarine » 04 апр 2010, 13:57

Здравствуйте, уважаемые картографы!
Прошу помощи в следущем вопросе - при работе с картами Google Maps (не Google Earth) при попыте расчета центра карты относительно координат углов и некоторой точки (она должна быть приближена или удалена при изменении масштаба карты), также определенной геокоординатами, возникает смещение карты на сервер вследствие заложенной для нее сферической проекции Меркатора (по которой идет искажение по географической широте и тем более, чем исследуемый участок ближе к полюсам Земли). Т. е., имеем, например, для широты, Smin - минимальная широта видимого участка, Smax - максимальная. Но при задании центра (Smin+Smax)/2 карта смещается севернее. Как правильно рассчитать поправочный коэффициент для широты? Формулы известны (например, из Wikipedia), но как их сопоставить с уровнями масштаба Google, не могу понять. Известно, что соседние масштабы отличаются в два раза (на этом и основан подсчет центра)

Аватара пользователя
Komяpa
Интересующийся
Сообщения: 16
Зарегистрирован: 13 сен 2009, 11:24
Репутация: 0
Откуда: Minsk
Контактная информация:

Re: Координаты для Google Maps

Сообщение Komяpa » 04 апр 2010, 14:37

1. Перевести координаты точек в метры Меркатора:

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

 wget http://twms.googlecode.com/hg/projections.py;  python -c "import projections; print projections.from4326((53.11,54.12),'EPSG:900913')"
2. Посчитать среднее в метрах;

3. Перевести обратно в 4326:

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

python -c "import projections; print projections.to4326((5912178.1560307592, 7192915.6941129742),'EPSG:900913')"
[OSM BY Team]
[http://latlon.org/] [jabber: me@komzpa.net] [mobile: +375257407159]

OldMarine
Новоприбывший
Сообщения: 4
Зарегистрирован: 04 апр 2010, 13:34
Репутация: 0

Re: Координаты для Google Maps

Сообщение OldMarine » 04 апр 2010, 17:14

Спасибо! А можно математически, в формулах. Там всего один поправочный коэффициент - по широте,
y = C*ln(tan(Pi/4+F/2)), где C - текущий коэффициент масштаба, а F - значение широты в радианах (до корректировки), результат, как я понимаю, Lat = y*Fg (Fg - широта до корректировки в градусах). Но как ни пробовал, не могу C подобрать, как его подсчитать для этой формулы, исходя из линейки масштабов Google Maps
(формула взята здесь - http://ru.wikipedia.org/wiki/%D0%9F%D1% ... 1%80%D0%B0)

OldMarine
Новоприбывший
Сообщения: 4
Зарегистрирован: 04 апр 2010, 13:34
Репутация: 0

Re: Координаты для Google Maps

Сообщение OldMarine » 06 апр 2010, 13:57

2 Котяра
Подскажите пожалуйста, как возможно вызвать указанные Вами методы в JavaScript и получить результаты в переменную в скрипте

OldMarine
Новоприбывший
Сообщения: 4
Зарегистрирован: 04 апр 2010, 13:34
Репутация: 0

Re: Координаты для Google Maps

Сообщение OldMarine » 06 апр 2010, 14:33

2 Котяра
Известна широта в градусах, необходимо ее пересчитать в тех же градусах для Google Maps с учетом масштаба. В Вашем случае не могу найти зависимость от масштабов Гугла

Ответить

Вернуться в «Веб-картография»

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

Сейчас этот форум просматривают: Semrush [Bot] и 1 гость