中国地图中的坐标系偏移
在中国地图中,存在偏移,这意味着你导航中的地图有偏移问题。
官方要求中国所有的地图使用GCJ-02坐标系(被广泛称为火星坐标),而从其他坐标系到GCJ-02坐标系的转换算法是保密的。
把卫星地图和官方的GCJ-02地图进行重合可以发现,两者的偏差是非线性的。这就导致我们平时使用的地图(如高德)往往和真实地图有些许偏差。
街景图与卫星图差异
把卫星地图和官方的GCJ-02地图进行重合
我们可以看到,龙潭公园与它应该在的位置相差甚远(篮框是龙潭公园真实地点)
但请注意,天坛的位置大致正确
因此,这个坐标系偏移是一种非线性的关系
这是怎么回事?这个映射系统有可预测性吗?
要回答这个问题,我们必须退一步,谈谈地球是如何绘制的。一般采用大地测量参考系,该系统使用全球各地的各种基点来固定位置测量值。GPS 使用世界大地测量标准 1984(或 WGS-84)作为参考标准。美国国家地理空间情报局 (NGA) 维护 WGS-84。
有几个国家已经建立了自己的测地线数据,包括俄罗斯和中国。中国的测地线被称为 GCJ-02,意为“地形图非线性保密算法”(“GCJ”来自中文“国家测量”)。
有趣的是,GCJ-02 基于 WGS-84,但采用了一种故意混淆的算法。这种算法的效果是,经度和纬度都会被随机添加偏移,范围从 50 米到 500 米不等。
回到我们的地图示例,这解释了为什么有时街景和卫星视图看起来对齐,而有时它们完全不同;为什么有时偏移看起来像是应用在西北方向,有时是南方,有时是东南方等等。
现在我们知道地图发生了什么——这是因为混淆算法应用了随机偏移(随机方向和随机量)。这回答了“发生了什么”的问题,但接下来我们要回答的是中国为什么采取这种方法。
测绘法
2002 年,中国政府颁布了《测绘法》。该法的制定目的如下:
- 推动测绘事业发展,服务国民经济建设。
- 推进国防建设测绘工作。
- 推动地图绘制以促进社会发展。
有趣的是,该法的进一步条款规定,只有经中国政府批准的授权实体才允许从事测绘活动,截止目前只有十几家公司具有这样的资质。
坐标系转换
简而言之,中国以外的公司需要有中国地图合作伙伴才能提供有关中国位置的数据。实际情况是,高德地图将把 GCJ-02 信息提供给谷歌用于地图绘制,但某些敏感信息将被遮挡或保留。
在中国,将 GCJ-02(模糊坐标)转换为 WGS-84 是违法的。一些中国地图提供商(如百度)为开发人员提供将 WGS-84 转换为GCJ-02 的 API,但没有提供反向转换的 API。
本文由mdnice多平台发布