Как я могу получить широту, долготу от x, y на карте Меркатора (JPEG)?

У меня есть карта проекции Меркатора в формате JPEG, и я хотел бы знать, как связать данную координату x, y с ее широтой и долготой. Я посмотрел на функцию Гудермана, но, честно говоря, не понимаю, как взять эту функцию и применить ее. А именно, какой вклад он ожидает? Реализация, которую я нашел (JavaScript), кажется, принимает диапазон между -PI и PI, но какова корреляция между моим значением y в пикселях и этим диапазоном?

Также я нашел эту функцию, которая принимает широту и возвращает плитку для Google Maps, которая также использует Mercator. Казалось бы, если бы я знал, как инвертировать эту функцию, я был бы довольно близок к тому, чтобы получить мой ответ.

/*<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);
    }

Ответы на вопрос(5)

Ваш ответ на вопрос