经纬度转换

本文详细介绍了经纬度如何转换为墨卡托坐标,以及墨卡托坐标回转为经纬度的方法。涉及到的关键数学函数包括Mathf.PI(圆周率)、Mathf.Atan(反正切)和Mathf.Exp(指数),在进行地理坐标转换时起到重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经纬度转换成墨卡托

public Vector2D LonLat2Mercator(Vector2D LonLat)
    {
        Vector2D mercator = new Vector2D();
        double x = LonLat.X * 20037508.34 / 180;
        double y = Math.Log(Math.Tan((90 + LonLat.Y) * Math.PI / 360)) / (Math.PI / 180);
        y = y * 20037508.34 / 180;
        mercator.X = x;
        mercator.Y = y;
        return mercator;
    }

墨卡托转经纬度

public Vector2D Mercator2LonLat(Vector2D mercator)
    {
        Vector2D LonLat = new Vector2D();
        double x = mercator.X /20037508.34 * 180;
        double y = mercator.Y / 20037508.34 * 180;
        y = 180 / Math.PI * (2 * Math.Atan(Math.Exp(y * Math.PI / 180)) - Math.PI / 2);
        LonLat.X = x;
        LonLat.Y = y;
        return LonLat;
    }

Mathf.PI圆周率

static var PI : float

PI(读pai)的值,也就是圆周率(π)的值3.14159265358979323846…(只读)

Mathf.Atan反正切

static function Atan (f : float) :float

计算并返回参数 f 中指定的数字的反正切值。返回值介于负二分之 pi 与正二分之 pi 之间。

一般情况下用ATan即可,当对所求出角度的取值范围有特殊要求时,应使用ATan2。

Mathf.Exp指数

static function Exp (power : float) : float

返回 e 的 power 次方的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值