2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Преобразования по проекции Меркатора
Сообщение22.03.2010, 01:50 
Здравствуте!
Долблюсь уже который день над такой задачкой. Кто-нибудь сталкивался? Необходимо преобразовать координаты тайлов(текстур, фотографий поверхности Земли) в широту долготу. Обратная формула есть но она какая-то не очень точная....по-моему...
Код:
procedure LonLatToXY( Lon,Lat:Extended; zoom:integer; var projected_x,projected_y:Extended );
  var z : Extended;
begin
  z := 1 shl (zoom-1);
  projected_x := (LON+180)/(360.0/z );// с X всё просто - пропорционально
  projected_y := z*(1 - Ln(Tan(LAT * pi_div_180) + 1 / Cos (LAT * pi_div_180 )) / PI) * 0.5; // а Y - ( ! )
end;

Мне нужно координатную сетку на сфере(Земли) наложить на вертикальный цилиндр, который разрезается по 180 мередиане, разворачивается в плоскость. Собственно на котороую наклеиваются тайлы. Причём земля не идеальный шар, а сплюснутый, эллепсоидальной формы, где по стандарту WGS84 длина бОльшей оси(горизонтальной, экваториальный) = 6 378 137 м, мАлой(веритмкальной, полярной) = 6 356 752 м.

Я вот ума не дам, почему во всех найденных мной формулах перевода нигде нет этих цифр(6378137, 6356752)? Или хотябы соотношение их. Разве они никак не влияют на преобразование? Зато почти везде используют натуральный лагорифм(Ln). Откуда он появился? Помогите, пожалуйста, разобраться. Очень надо.

 
 
 
 Re: Преобразования по проекции Меркатора
Сообщение22.03.2010, 03:08 
Посмотрите в Википедиях:
http://en.wikipedia.org/wiki/Mercator_projection - здесь дан вывод формул для сферической Земли, из которого понятно, откуда возникает логарифм
http://ru.wikipedia.org/wiki/%D0%9F%D1% ... 1%80%D0%B0 - ну а здесь дана формула с поправкой на эллипсоидальность, в которую входит эксцентриситет земного эллипсоида

 
 
 
 Re: Преобразования по проекции Меркатора
Сообщение28.03.2010, 19:34 
Почти получилось. Вот только не могу никак обратно перевести.
Проблема следующая есть формула
Код:
d := arctanh( n ) - extr*arctanh( extr * n ) ;

где extr - константа
arctanh( n ) - гиперболический арктангенс от n

Как из формулы выразить n через d?

 
 
 
 Re: Преобразования по проекции Меркатора
Сообщение12.04.2010, 14:31 
Аватара пользователя
Будем иметь $$n=-th\frac{2d}{c-1},$$ где $c$ - ваша константа.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group