В процессе столкнулся с такой бякой на стыке двух тайлов (вложение).
Есть подозрение что не совсем точно считаются 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;