V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiangyuecn
V2EX  ›  程序员

非专业解释 Google、高德卫星地图上同一坐标为何会偏差这么大,附 130MB 采集省市区边界坐标数据

  •  
  •   xiangyuecn ·
    xiangyuecn · 2020-08-20 13:18:45 +08:00 · 3531 次点击
    这是一个创建于 1559 天前的主题,其中的信息可能已经有所发展或是发生改变。

    GPS 坐标转 GCJ02 坐标(似乎被调侃成火星坐标,发明人赚了不少钱吧),对应坐标在 Google 、高德卫星地图上显示时,发现一个规律,海拔越高卫星地图上显示的偏差越大。

    比如:青藏高原上,GPS 坐标在你家,转成 GCJ02 后标注在高德卫星地图上跑到邻居家里了,偏差大概在 10 米内;海拔不高的地方偏差比较小大约 1 米内。

    然后我想了一下,画了一幅小鸡啄米图:

    给两组测试数据吧(百度卫星地图的就不放了,和高德对比一样有偏差,只不过比较小):

    [拉萨某地卫星地图] 高德:29.656359, 91.159730 || Google:29.659070, 91.158185 || 两个卫星地图上偏差 7.77 米

    [青岛某地卫星地图] 高德:36.104124, 120.449043 || Google:36.103870, 120.443980 || 两个卫星地图上偏差 1.54 米


    昨天采集更新了一下全国省市区数据和边界范围坐标数据,边界范围数据用的高德地图的数据,今天一琢磨又想到了这个偏差的问题,就画了一幅图来瞎猜。

    数据仓库地址: https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov

    数据支持转成 sql 、导入数据库,转成 shp 、geojson,省市区乡镇有 4 级数据有在线测试页面(支持多级联动)。

    15 条回复    2020-08-23 13:17:45 +08:00
    uuiitwp
        1
    uuiitwp  
       2020-08-20 13:41:50 +08:00 via Android   ❤️ 1
    个人认为理论上的 dom 根据 dem 消除了这种误差。在沿海省份,同名点叠加在不同地图显示,卫片几乎看不出区别。
    shyrock
        2
    shyrock  
       2020-08-20 15:09:27 +08:00   ❤️ 1
    你发现的这个规律能不能用数据验证一下,看看误差随海拔变化的趋势。
    Rivers7
        3
    Rivers7  
       2020-08-20 17:08:24 +08:00   ❤️ 1
    百度地图卫星影像也是国外的商业卫星 数据源和更新频率比谷歌地图差远了 初始坐标也是 WGS84 为了保密要求 主动加了误差
    xiangyuecn
        4
    xiangyuecn  
    OP
       2020-08-20 18:10:32 +08:00
    @Rivers7 #3 并非加密的问题,加密后偏移大部分是百米起步,只要计算次数足够多是可以脱密纠偏的。测试数据是纠偏后的坐标,应该可以认定是地图之间的自己固有误差。


    @shyrock #2 可以想象一下,一颗南边微信 拍出来的图片 和 靠北的卫星拍出来的照片,一栋高楼就会出现南边拍摄的和北边拍摄的倾斜角度不一样。同理放到青藏高原上,就会出现上图这种现象。大量数据验证没有,少量的点人工对比还是可以的,海拔高的地方,高德和百度之间、高德和 Google 之间都会偏差很大。
    azh7138m
        5
    azh7138m  
       2020-08-20 20:02:37 +08:00   ❤️ 1
    确实非专业,相关分析工作主要是 10 年前的这篇文章
    https://wuyongzheng.wordpress.com/2010/01/22/china-map-deviation-as-a-regression-problem/
    你在网上看到的迭代做转换坐标是来自于这里。

    扩展阅读: https://wuyongzheng.github.io/china-map-deviation/paper.html


    以上内容均在维基百科中有列出。
    aleung
        6
    aleung  
       2020-08-20 20:19:38 +08:00 via Android   ❤️ 1
    看起来我当年的研究更早,不过没敢把细节全写出来,也没有解决频率较低的扰动,但抽样测试过全国大部分区域都可以做到误差几米以内了。 不过后来没有继续深究下去。https://aleung.github.io/blog/2009/12/27/Google-China-Map-offset-2/
    sampeng
        7
    sampeng  
       2020-08-21 08:25:00 +08:00 via iPhone   ❤️ 1
    上次看到有个说法是国外公司是压根没有海拔数据的…全靠算法补…海拔数据在中国是机密数据…
    sampeng
        8
    sampeng  
       2020-08-21 08:30:02 +08:00 via iPhone   ❤️ 1
    参考 google 卫星地图,可以看到很多地方的畸变很严重,比如说每年都会被拉出来的长江三峡大坝已经跟蚯蚓一样弯曲不规则了…没有海拔数据就没办法正确映射坐标点。我觉得这个说法是比较靠谱的。在海拔变化不大的平原地区城市因该就相对误差较小…没实际使用过…海拔数据在测绘局手上呢。摆明了不可能给详细数据给国外公司
    tankren
        9
    tankren  
       2020-08-21 08:41:57 +08:00 via Android   ❤️ 1
    国防需要 当然不能给
    zlowly
        10
    zlowly  
       2020-08-21 10:41:26 +08:00   ❤️ 1
    个人觉得不大可能,遥感卫星可以带雷达高度计,而国际条约没有对卫星遥感对象等具体方面的限制,商业公司只要遵循自己国家的政策规范,应该是可以获取到海拔数据的,成不了什么机密。
    toou123
        11
    toou123  
       2020-08-21 10:57:36 +08:00   ❤️ 1
    这种活不应该是美国 cia 之类去做的么,楼主这样不怕被喝茶么?
    xiangyuecn
        12
    xiangyuecn  
    OP
       2020-08-21 11:13:53 +08:00
    @toou123 #11 不要吓我 我怕😂
    PhxNirvana
        13
    PhxNirvana  
       2020-08-21 21:26:55 +08:00   ❤️ 1
    FYI

    测绘法

    第二条
    在中华人民共和国领域和中华人民共和国管辖的其他海域从事测绘活动,应当遵守本法。 本法所称测绘,是指对自然地理要素或者地表人工设施的形状、大小、空间位置及其属性等进行测定、采集、表述,以及对获取的数据、信息、成果进行处理和提供的活动。
    第五十五条
    违反本法规定,未取得测绘资质证书,擅自从事测绘活动的,责令停止违法行为,没收违法所得和测绘成果,并处测绘约定报酬一倍以上二倍以下的罚款;情节严重的,没收测绘工具。 以欺骗手段取得测绘资质证书从事测绘活动的,吊销测绘资质证书,没收违法所得和测绘成果,并处测绘约定报酬一倍以上二倍以下的罚款;情节严重的,没收测绘工具。
    Rivers7
        14
    Rivers7  
       2020-08-23 13:07:58 +08:00   ❤️ 1
    @xiangyuecn 我本科就是学遥感的,我们看到的卫星影像都已经进行几何校正,去除了部分因为地形起伏造成的投影差,国外的卫星数据平面精度基本上达到 5 米以内,国内卫星影像精度差一些 ,城市地区卫星影像由于高楼起伏也会有很大的畸变,结合高精度数字表面模型生产数字正射影像可以改善很多,平面和高程精度可以达到 1 米以内,不过这些数据主要是测绘部门在做,民用应用很少,百度高德地图数据源其实差不多的,偏差个人觉得还是在坐标系转换这里出现问题
    xiangyuecn
        15
    xiangyuecn  
    OP
       2020-08-23 13:17:45 +08:00
    @Rivers7 #14 感谢分享
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1054 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.