Преобразование координат - яндекс

Системы координат, проекции, преобразования, привязка
Ответить
Namolem
Интересующийся
Сообщения: 17
Зарегистрирован: 04 сен 2011, 18:45
Репутация: 0

Преобразование координат - яндекс

Сообщение Namolem » 03 май 2012, 10:45

Накладываю свои данные на яндекс карту.

В процессе столкнулся с такой бякой на стыке двух тайлов (вложение).

Есть подозрение что не совсем точно считаются WGS координаты из XY тайла.

Вот код, который этой делает - как работает без понятия

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

var worldSize = Math.Pow(2.0, Zoom);
var equatorLength = 40075016.685578488;
var Rn = 6378137.0;
var a = worldSize / equatorLength;
var b = equatorLength / 2.0;

var MercatorX = X / a - b;
var MercatorY = b - Y / a;

var ab = 0.00335655146887969400;
var bb = 0.00000657187271079536;
var cb = 0.00000001764564338702;
var db = 0.00000000005328478445;

var xphi = Math.PI / 2 - 2 * Math.Atan(1 / Math.Exp(MercatorY / Rn));
var latitude = xphi + ab * Math.Sin(2 * xphi) + bb * Math.Sin(4 * xphi) + cb * Math.Sin(6 * xphi) + db * Math.Sin(8 * xphi);
latitude = latitude * 180 / Math.PI;

var longitude = MercatorX * 180 / Math.PI / Rn;
Вложения
Безымянный.JPG
Безымянный.JPG (19.8 КБ) 3757 просмотров

Ответить

Вернуться в «Координаты и привязка»

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

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