2012-02-04 15 views
7

Estoy buscando una explicación sobre por qué hay 2 fórmulas mercator diferentes discutidas en estos sitios.conflicto de lógica de proyección de mapa de Mercator

entiendo que este es el correcto algoritmo de proyección de Mercator:

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

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

Sin embargo, este sitio se refiere a algo completamente diferente: 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)); } 

¿Alguna idea?

Respuesta

7

Ambas fórmulas son iguales.

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

    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

La última fórmula es más conveniente para los cálculos numéricos, ya que implica el cálculo de la función trigonométrica solo una vez.

+0

esto parece ser correcto después de más pruebas. – glutz

+1

+1 Gracias por la derivación, me ayudó mucho. A cambio he embellecido tu respuesta un poco. Espero que no te importe. – aefxx

Cuestiones relacionadas