координаты точки в тайле

Обсуждение различной информации связанной с картографией, а так же сторонние программные продукты

Модераторы: Tolik, zed

координаты точки в тайле

Сообщение wowka777 » 03 авг 2010, 20:19

Здравствуйте, я начинающий в этом деле, прошу сильно меня не ругать, если вопрос глупый:)
Имеются географические координаты(широта и долгота) какого-то объекта как определить координаты этого объекта в тайле?
тоесть как можно перевести широту и долготу в пиксели тайла?
Читал на каком то форуме что нужно перевести географические к-ты в к-ты пиксела, затем результат делить на 256, целая часть результата - это номер тайла, остаток - точка пиксела на тайле.
делаю так:
Код: Выделить всё
double longitude = ((Math.PI / 180) * xx); //переводим в радианы
            double latitude = ((Math.PI / 180) * yy);
            float Rn = 6378137f; // Экваториальный радиус
            float ee = 0.0818191908426f; // Эксцентриситет
            double esinLat = (ee * Math.Sin(latitude));
            double tan_temp = Math.Tan(Math.PI / 4.0 + latitude / 2.0);
            double pow_temp = Math.Pow(Math.Tan(Math.PI / 4.0 + Math.Asin(esinLat) / 2), ee);
            double U = tan_temp / pow_temp;

            //Преобразование меркаторовых координат в тайловые (пиксели на поседнем масштабе)
            double x = Rn * longitude, y = Rn * Math.Log(U);
            float equatorLength = 40075016.685578488f; //Длина экватора
            double worldSize = Math.Pow(2, 31); // Размер мира в пикселях
            double a = worldSize / equatorLength;
            double b = equatorLength / 2;
            X = Convert.ToInt32(Math.Round((b + x) * a)); //округляем
            Y = Convert.ToInt32(Math.Round((b - y) * a));
            X_tile=X % 256;
            X_tile=Y % 256;

В результате получается какой-то бред:(
Помогите пожалуйста, может быть в формулах ошибка? или они вообще не верные?
wowka777
Новичок
 
Сообщения: 1
Зарегистрирован: 03 авг 2010, 19:55
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: координаты точки в тайле

Сообщение Parasite » 04 авг 2010, 07:11

wowka777 писал(а):тоесть как можно перевести широту и долготу в пиксели тайла?
В результате получается какой-то бред:(
Помогите пожалуйста, может быть в формулах ошибка? или они вообще не верные?

К собственно программе САС.Planet это все каким боком? Оффтоп.
[!] Правила, 2.1
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.


Вернуться в Другие

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

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

cron