TrandGPS WGS84转GCJ-02坐标转换工具
真实 GPS 坐标的火星坐标转换工具,专门 Google 地图在中国大陆用不上真坐标的老问题。
真实 GPS 定位用的是全球通用的WGS84,但你在国内地图上看到的位置,其实已经被“”过,变成了GCJ-02,也就是常说的“火星坐标”。嗯,这中间的差值有时候能差好几百米,做定位服务或者轨迹,误差大了肯定不行。
压缩包里的项目叫TrandGPS
,是个 C#写的小工具,挺适合拿来直接用或者做二次封装的。基本上,你传入一组 WGS84 坐标,它就能吐出 GCJ-02 坐标。你可以用在后台预,也可以在用户提交坐标时即时转换。
核心算法应该是基于王水兴的方法(你听说过),逻辑比较清晰。输入输出都直白,函数也容易接入。项目里还带了个小型数据库,能查已有坐标的对应关系,批量数据效率还不错。
如果你在做地图展示,可以配合像GMap.NET这种 GIS 控件,或者直接把转换后的坐标扔进Google Maps API用。注意一下精度问题,尤其是绘制路线的时候,误差大了看着就飘了。
建议加个缓存层,比如经纬度精度到小数点后六位存一次,命中率其实挺高的,能省不少重复计算。你也可以参考一些其他语言版本的转换工具,比如Python 的 GCJ02 转换或者JavaScript 实现的算法版本,互通一下思路。
如果你常常对接 GPS 设备,或者要在地图上标注坐标点,那这类转换工具可以说是刚需了。拿来直接用,省事不少。
1.68MB
文件大小:
评论区