【小记】坐标测算直线距离与坐标转换

直线距离测算

测算2个坐标系的直线距离,目前有2种常见的公式:

半正矢公式
https://zh.wikipedia.org/wiki/%E5%8D%8A%E6%AD%A3%E7%9F%A2%E5%85%AC%E5%BC%8F

文森特公式
https://en.wikipedia.org/wiki/Vincenty%27s_formulae

半正矢公式简单来说是根据球体模型,求取直线距离;但是由于地球并不是标准的球体,考虑到地球的离心率等,更为精确的公式即文森特公式。文森特公式比半正矢公式算法复杂度要高,偏差相对更小。2个公式都是近似解。

理论上,坐标间直线距离对于大部分GIS服务并没有太大的业务价值,不论运费计算还是其他距离测算相关业务都应采用步行、骑行、驾车规划路径距离这种更友好的方式。

GoogleMap也不提供直线距离测算:
https://developers.google.cn/maps/documentation/distance-matrix/overview#travel_modes
在这里插入图片描述
但是我们的业务方非要用…[无奈]

推荐一个github上的直线距离测算公式的实现:
https://github.com/grumlimited/geocalc

坐标转换

在地图使用上,出于我国国家安全考虑,目前的商业地图(高德、腾讯)是在地球坐标系(WGS84)上的二次加密(国家测绘总局发布),即我们经常说的火星坐标系(GCJ02),百度地图会有基于火星坐标系的二次加密,形成新的百度坐标系(BD09)。

商业地图都会提供将其他坐标系,转换为该地图自己的坐标系的API,但不会提供反向的坐标系转换。

推荐一个github上的坐标系转换的实现(转WGS84也是近似解):
https://github.com/wandergis/coordtransform

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值