坐标转换:GCJ

您所在的位置:网站首页 wgs84坐标转换2000坐标 坐标转换:GCJ

坐标转换:GCJ

2023-12-30 09:37| 来源: 网络整理| 查看: 265

上一篇介绍了BD-09转GCJ-02,这次需要进一步在GCI-02基础上转化为CGCS-2000坐标系。

简介

CGCS-2000坐标系:国家大地坐标系。CGCS-2000坐标系于2008年7月经国务院批准使用,目前在测绘和地理信息以及工程各工程建设领域主推的坐标系。GCJ-02坐标系:火星坐标系。WGS-84坐标系:地球坐标系。

WGS-84与CGCS-2000区别

两种坐标的详细定义略去不表,只谈谈其相互转换问题。在84坐标时代,其与wgs84坐标的差别还是较大的。

到了cgs2000时代,查阅相关文献可知,两者之间的差别微乎其微。鉴于在坐标系定义和实现上的比较,我们可以认为,CGCS2000和WGS84(G1150)是相容的;在坐标系的实现精度范围内,CGCS2000坐标和WGS84(G1150)坐标是一致的。

两者差异粒度:GPS的精密定位成果属于WGS84坐标系,与我国法定坐标系CGCS2000之间存在分米级差异.

GCJ-02 转WGS-84≈CGCS-2000

核心代码

1234567891011121314151617181920def gcj02_to_wgs84(lng, lat): """ GCJ02(火星坐标系)转WGS84 :param lng:火星坐标系的经度 :param lat:火星坐标系纬度 :return: """ if out_of_china(lng, lat): return [lng, lat] dlat = _transformlat(lng - 105.0, lat - 35.0) dlng = _transformlng(lng - 105.0, lat - 35.0) radlat = lat / 180.0 * pi magic = math.sin(radlat) magic = 1 - ee * magic * magic sqrtmagic = math.sqrt(magic) dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi) dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi) mglat = lat + dlat mglng = lng + dlngreturn [lng * 2 - mglng, lat * 2 - mglat] 小结

由于CGCS2000几乎等同于WGS-84,GCJ-02转换为CGCS2000坐标系可以看作是:GCJ-02转化WGS-84,即火星坐标系=>地球坐标系。

参考cgcs2000与wgs84坐标系互转-python版各种国内地图坐标系总结CGCS2000坐标转换问题的思考GIS相关博客



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3