Golang Go语言中搞了个各坐标系互相转换的工具

发布于 1周前 作者 caililin 来自 Go语言

大家好,抽时间搞了个 Go 版本的各坐标系互相转换的工具,感兴趣的可以看一下,欢迎 star。

如有问题欢迎回帖讨论或提 Issues。

已补充 benchmark。

https://github.com/qichengzx/coordtransform


Golang Go语言中搞了个各坐标系互相转换的工具
11 回复

请问存数据库的时候统一为那种坐标系比较好?或者说项目开发的时候选取那种坐标系来使用比较好?

更多关于Golang Go语言中搞了个各坐标系互相转换的工具的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


目前工作用到的直接存了高德的坐标,web 和 APP 端也用了高德地图来做。不知道大厂都是怎么用的。
应该还是看实际的各端用了哪家的方案吧。

isOutOFChina 这判定 中国版图瞬间大了一圈,=。=

存储的时候用什么都好,记得 export 的时候要转回 wgs84

我前几天也搞过,就网上查到的 python 版本的改成了 go,把包名的大写改成小写,函数名的小写改成大写,def 改成 func,=改成:=,参数加上类型,返回值也加上类型,冒号改成大括号。

国内的标准是 CGCS2000,和 wgs84 差不多,现在国内的在线地图已经不需要加密了,百度纯属蛋疼的

参考其他语言版本写的,没严格验证,我会改进下。

手机->微信->腾讯地图->百度地图…

版图判断可以稍微细一点,参考:
https://github.com/zcsoft/ZCChinaLocation

感谢提供建议。

在Golang中,实现各坐标系之间的互相转换确实是一个实用且常见的需求,特别是在地图开发、地理位置处理等领域。以下是对这一需求的简要说明和推荐做法:

Golang社区和开源项目已经提供了多种工具库来实现坐标系的转换。例如,github.com/suifengtec/gocoord这个库就支持WGS84、GCJ02等坐标系之间的转换。你可以通过导入这个库,并调用其提供的转换函数来实现坐标系转换。

具体实现时,你需要先定义一个表示坐标的结构体(如Position),然后调用相应的转换函数(如GCJ02ToWGS84)进行转换。这些函数通常接受一个坐标结构体作为输入,并返回一个转换后的坐标结构体。

此外,如果你需要处理GPS坐标数据,还可以考虑使用github.com/morbos/go-gps等库,这些库提供了将GPS坐标转换为其他形式(如UTM坐标、平面笛卡尔坐标等)的功能,以及在不同参考框架(如WGS84、NAD83等)之间进行转换的功能。

总之,在Golang中实现各坐标系之间的互相转换,可以借助社区和开源项目提供的工具库,这些库提供了丰富的功能和便捷的API,能够大大简化开发过程。

回到顶部