Como posso obter latitude e longitude de x, y em um mapa Mercator (JPEG)?
Eu tenho um mapa de projeção Mercator como um JPEG e gostaria de saber como relacionar uma dada coordenada x, y com sua latitude e longitude. Eu olhei para a função Gudermaniana, mas sinceramente não entendo como pegar essa função e aplicá-la. Ou seja, qual entrada está esperando? A implementação que encontrei (JavaScript) parece ter um intervalo entre -PI e PI, mas qual é a correlação entre meu valor y em pixels e esse intervalo?
Além disso, encontrei essa função que usa uma latitude e retorna o bloco do Google Maps, que também usa o Mercator. Parece que, se soubesse como inverter essa função, estaria bem perto de receber minha resposta.
/*<summary>Get the vertical tile number from a latitude
using Mercator projection formula</summary>*/
private int getMercatorLatitude(double lati)
{
double maxlat = Math.PI;
double lat = lati;
if (lat > 90) lat = lat - 180;
if (lat < -90) lat = lat + 180;
// conversion degre=>radians
double phi = Math.PI * lat / 180;
double res;
//double temp = Math.Tan(Math.PI / 4 - phi / 2);
//res = Math.Log(temp);
res = 0.5 * Math.Log((1 + Math.Sin(phi)) / (1 - Math.Sin(phi)));
double maxTileY = Math.Pow(2, zoom);
int result = (int)(((1 - res / maxlat) / 2) * (maxTileY));
return (result);
}