Получение широты и долготы по проекции Меркатора
Как получить координаты широты и долготы, имея при этом квадратную карту определенного размера по проекции Меркатора?
Источник: Stack Overflow на русском
Как получить координаты широты и долготы, имея при этом квадратную карту определенного размера по проекции Меркатора?
Пара часов усилий, и результат получен
function lat2y($latitude,$size){
$latRad = $latitude*M_PI/180;
$mercN = log(tan((M_PI/4)+($latRad/2)));
$y=($size/2)-($size*$mercN/(2*M_PI));
return $y;
}
function lon2x($longitude,$size){
return ($longitude+180)*($size/360);
}
function y2lat($y,$size){
$mercN=2*M_PI/$size*(($size/2)-$y);
$latRad = 2*atan(exp($mercN))-0.5*M_PI;
$latitude=$latRad/M_PI*180;
return $latitude;
}
function x2lon($x,$size){
return $x/($size/360)-180;
}