private const double EarthRadius = 6378137;
public static (double latitude, double longitude) ConvertTo4326(double x, double y)
double longitude = (x / EarthRadius) * (180 / Math.PI);
double latitude = (Math.Atan(Math.Sinh(y / EarthRadius))) * (180 / Math.PI);
return (latitude, longitude);
public static (double x, double y) ConvertTo3857(double latitude, double longitude)
double x = longitude * EarthRadius * Math.PI / 180;
double y = Math.Log(Math.Tan((90 + latitude) * Math.PI / 360)) * EarthRadius;
public static void Main()
(double lat, double lon) = ConvertTo4326(x: -13632107.6, y: 4547289.9);
Console.WriteLine($"EPSG:4326 - Latitude: {lat}, Longitude: {lon}");
Console.WriteLine($"{lat},{lon}");
Console.WriteLine("asd");