V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
013231
V2EX  ›  问与答

中国大陆的地图使用的是独特的偏移坐标, 在与境外的连接处是如何解决错位问题的?

  •  
  •   013231 · 2014-08-10 11:09:00 +08:00 · 27317 次点击
    这是一个创建于 3793 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在Google Map观察大陆与境外连接处时并没有看到错位现象.
    20 条回复    2014-08-14 16:37:58 +08:00
    ovear
        1
    ovear  
       2014-08-10 11:24:16 +08:00   ❤️ 1
    =。= lz你误解了
    所谓的偏移,体现在卫星地图(实际卫星拍出来的),和数字地图(勘测出来的)之间有一个offset算法,也就是会导致数字地图和卫星地图不匹配,差个几公里是很正常的。而且这个偏移算法很奇葩。。不同地区偏移不同。。比如说深圳偏个几公里很正常。。然后广东某些比较小的地方,基本上只偏个几十米。。甚至不偏。。
    Google.com的地图是会偏移的,(参考ingress的偏移)
    而cn的地图是经过修正过的(据说高德的数据),所以cn不会出现问题。
    vicalloy
        2
    vicalloy  
       2014-08-10 11:30:10 +08:00
    @ovear 在中国GPS数据是国家机密,都有加密过的。你直接使用会有少量的偏移。对精度不高的时候可以不考虑。
    百度地图有坐标转换的API,谷歌也有的。
    ovear
        3
    ovear  
       2014-08-10 11:33:17 +08:00
    @vicalloy 恩。。所以我就觉得这个东西很神奇。。这种东西当国家机密真的是防君子不防小人。。
    不过其实offset主要的问题还是体现在,卫星地图-数字地图的耦合上面,卫星地图一定是正确的(未经偏移的)。。爸爸国一堆商业卫星 拍你你也没办法。。
    所以其实主要问题还是。。定位的时候偏移。。电脑上倒是没多大问题
    xiaop
        4
    xiaop  
       2014-08-10 13:09:54 +08:00 via iPhone
    奇葩机密,害得我上次去爬山走错路差点死在山上。
    shiny
        5
    shiny  
       2014-08-10 13:15:14 +08:00   ❤️ 3
    做政府项目的时候地图出现偏移,搞得很紧张。然后领导一句话:偏移好,美国人导弹打过来就打不中了。
    我们都在「哈哈哈」只有领导严肃脸。
    shangjiyu
        6
    shangjiyu  
       2014-08-10 13:20:42 +08:00
    真实的GPS数据要经过 国家测绘局 的加密算法 之后成为所谓的火星坐标 有些地图服务 提供者 (某度)在此基础上还有加密算法 其实这些 坐标系之间度转换 网上早有 精度可接受的破解算法 流出
    DreaMQ
        7
    DreaMQ  
       2014-08-10 13:23:52 +08:00 via Android
    你去港澳看看,错位相当严重
    tossking
        8
    tossking  
       2014-08-10 13:32:08 +08:00 via Android   ❤️ 1
    这是一门生意
    catcn
        9
    catcn  
       2014-08-10 13:39:04 +08:00
    我不会告诉你有火星坐标纠偏算法,直接走代码的
    Gymgle
        10
    Gymgle  
       2014-08-10 14:49:12 +08:00
    jerryjhou
        11
    jerryjhou  
       2014-08-10 15:32:24 +08:00
    @ovear 但是国内外的地图服务都是根据数字地图标注的,所以卫星地图才会错位
    ovear
        12
    ovear  
       2014-08-10 16:00:25 +08:00
    @jerryjhou 不知道你这说法是哪里来的。。你看看ingress偏移的解决方案吧。
    我觉得你这说法应该是错的,加密过后的算法不是标准的 经纬度坐标算法,所以事先一定会有一个标准的经纬度坐标网,然后再耦合贴上去,卫星图是没加密的,所以卫星图一定是准确的。
    之前说的ingress偏移解决方案,可以证明google至少是这么做的,你的说法在google map上不准确。。。
    jerryjhou
        13
    jerryjhou  
       2014-08-10 16:12:11 +08:00
    @ovear 卫星图是准确的,但是道路建筑物却是按加密过的数字地图标注的,最后造成卫星地图上的跑到住宅区里头去了
    xierch
        14
    xierch  
       2014-08-10 18:13:29 +08:00
    Google Maps 中的衔接处是有错开的..
    乃看一下 澳门——珠海 交界处,很奇葩的。
    可以和卫星地图对比一下,珠海整体往东南方偏移了一段距离。

    首先最明显的是 关闸/拱北口岸,完全错开了;
    然后广珠轻轨直接插进了澳门;
    昌盛路看起来是被澳门拦腰截断,但放大了看,会发现昌盛路的路名和箭号却横穿了澳门..
    ”昌平路“字样也出现在了 紀念孫中山市政公園。

    https://www.google.com/maps/@22.2131927,113.5435524,16z
    ohhe
        15
    ohhe  
       2014-08-10 18:36:14 +08:00
    算法早就是公开的了。
    013231
        16
    013231  
    OP
       2014-08-10 20:15:54 +08:00   ❤️ 1
    @ovear 我可能没表达清楚. 首先, 如果我没弄错, 大陆地图各地图绘制时使用的坐标系如下:
    google.com 地图: 偏移坐标
    google.com 卫星图: 真坐标
    google.cn 地图: 偏移坐标
    google.cn 卫星图: 偏移坐标

    那么使用了偏移坐标系绘制的大陆地图和使用真坐标绘制的境外地图道路是如何衔接的? 先前我观察了几条公路与國境線的交点, 错误的认为没有出现错位, 事实并非如此.
    对于大部分公路, 境内/境外分界点上是有错位的, 但这个分界点通常并不精准的落在國境線上, 因此我一开始没有看到错位点.
    对于另一些公路, 例如@Gymgle 提到的深圳湾公路大桥, 在靠近衔接处道路的形状会被扭曲, 把境内外的道路强行接在一起. 地图上的深圳湾公路大桥北部上有个较明显的转弯, 从卫星照片可以看出那个转弯并不存在.
    013231
        17
    013231  
    OP
       2014-08-10 20:23:54 +08:00
    @catcn 真坐标到偏移坐标的算法早就被公开了, 偏移坐标到真坐标有直接的算法吗? 反推逼近or查表等不算.
    catcn
        18
    catcn  
       2014-08-11 10:40:51 +08:00
    @013231 x=>y的算法有了,为什么不能反推出y=>x的算法?
    我现在还是查表,没有去弄算法的,前些日子看到Github上一坨坨的各种语言的纠偏算法代码。
    catcn
        19
    catcn  
       2014-08-11 10:48:28 +08:00
    @013231 重新看了一下收藏夹子:search github with ‘eviltransform’, you will get the code
    013231
        20
    013231  
    OP
       2014-08-14 16:37:58 +08:00
    @catcn WGS-84到GCJ-02的算法极端复杂. 不知你能不能反推出GCJ-02到WGS-84的算法, 反正我是不能.
    eviltransform用的是反推逼近的方法, 不是直接计算.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1312 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:53 · PVG 01:53 · LAX 09:53 · JFK 12:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.