Логический конфликт проекции карты Меркатора - PullRequest
7 голосов
/ 04 февраля 2012

Я ищу объяснение, почему на этих сайтах обсуждаются 2 разные формулы Меркатора.

Я понимаю, что это правильный алгоритм проекции Меркатора:

http://en.wikipedia.org/wiki/Mercator_projection

y = ln|sec(lat) + tan(lat)| 

Однако этот сайт относится к чему-то совершенно другому: http://wiki.openstreetmap.org/wiki/Mercator

#include <math.h>
double lat2y(double a) { return 180/M_PI * log(tan(M_PI/4+a*(M_PI/180)/2)); }

Есть идеи?

1 Ответ

7 голосов
/ 04 февраля 2012

Обе формулы равны.

  • сек (х) + загар (х) = [1 + грех (х)] / соз (х)

    sec(x) + tan(x) = [ 1 + sin(x) ] / cos(x)

  • tan (pi / 4 + x / 2) = sin (pi / 4 + x / 2)/ cos (pi / 4 + x / 2) =

    = [cos (x / 2) + sin (x / 2)] / [cos (x / 2) - sin (x / 2)]=

    = [cos (x / 2) + sin (x / 2)] ^ 2 / [cos (x / 2) - sin (x / 2)] / [cos (x / 2) +sin (x / 2)] =

    = [1 + 2 * cos (x / 2) * sin (x / 2)] / [cos ^ 2 (x / 2) - sin ^ 2 (x/ 2)] =

    = [1 + sin (x)] / cos (x)

    enter image description here

Последняя формула более удобна для численных расчетов, поскольку она включает вычисление тригонометрической функции только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...