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

国行 iPhone 拍照,写入图片 Exif 中的 GPS 坐标是 GCJ-02,有没有办法使用 WGS84

  •  
  •   vonsy · 10 天前 · 1059 次点击

    国行 iPhone 拍照,写入图片 Exif 中的 GPS 坐标是 GCJ-02,有没有办法使用 WGS84.

    验证方法,拍张照片,找个 online exif data viewer(例如:https://jimpl.com/),拍照位置与网站中差个几百米.

    图片中的坐标,在手机苹果地图, Google Maps 中和拍照位置一致(那就系统层面是 GCJ-02 ?)

    修改手机地区,语言无效.

    有解吗?

    11 条回复    2024-09-12 10:56:00 +08:00
    aphorism
        1
    aphorism  
       10 天前
    应该是没有办法,除非使用非中国地区发售的 iPhone 。
    LaoChen
        2
    LaoChen  
       10 天前   ❤️ 1
    又多了一个不买国行的理由
    aphorism
        3
    aphorism  
       10 天前   ❤️ 3
    有几个细节需要进一步澄清:
    1 、“拍照位置与网站中差个几百米”。这个网站的地图使用的是哪个数据源,是 Google Maps ,Bing Maps / Azure Maps 还是 OpenStreetMap ?上述地图服务对外提供的数据使用的都是非 GCJ - 02 坐标,因此会有个几百米的偏差。

    2 、“图片中的坐标,在手机苹果地图, Google Maps 中和拍照位置一致”,这是因为 EXIF 中的数据确实是 GCJ-02 的,同时手机苹果地图、手机谷歌地图中的矢量图层都是 GCJ-02 坐标的,所以看起来跟正确位置是对的。特别需要注意的是手机版 Google Maps 应用对中国的矢量数据和影像数据进行了配准,因此 GCJ - 02 坐标也可以正常显示。而在 Web 版本的 Google Maps 中,影像数据的坐标系统是 EPSG:900913 或者 EPSG:4326 的,因此与 GCJ-02 系统的矢量数据会存在偏差。

    3 、如果你需要在苹果手机上记录或导出真实的经纬度坐标,可以使用 MapMyRide 等记录轨迹的 App 来记录轨迹并转存下来,这些数据是真实地理坐标。
    LaoChen
        4
    LaoChen  
       10 天前
    @aphorism 大佬专业!
    问几个问题,如何判断一张照片的 EXIF 是 GCJ-02 坐标,还是 WGS84 坐标?

    国行 iPhone 手机拿到海外用了,拍了当地的照片,还会有这个问题吗?
    aphorism
        5
    aphorism  
       10 天前
    @LaoChen

    1 、问:如何判断一张照片的 EXIF 是 GCJ-02 坐标,还是 WGS84 坐标?

    答:准确地回答是比较难判断,因为都是地理坐标,没有其他的元数据的话是分辨不出来的。但是有一个较简单的法则,将这个数据输入到 Web 版本的 Google Maps 中在影像图层中查看,如果显示的位置与拍摄的位置一致,则是 GPS/WGS84 坐标系统的,否则就是 GCJ-02 坐标系统的。其实 GCJ 模块是在应用层面的,而不是系统层面的。GPS 芯片所解算出来的数据是 GPS 坐标的,只有需要在中国的矢量地图上叠加显示的时候才变换到 GCJ-02 坐标系。一般而言,如果一个 App 没有为中国做特别处理,那么其记录的数据应当就是真实的 GPS 坐标。例如苹果手表即使是中国发售的版本,其记录的轨迹数据也是 GPS 坐标的。


    2 、问:国行 iPhone 手机拿到海外用了,拍了当地的照片,还会有这个问题吗?

    答:没有实际地试验过,不能完全确定答案。但从常理来讲应该不存在这个问题,如上所述。该 EXIF 信息应当是由苹果的相册应用写入照片文件的,而 GCJ-02 的规则应当只在中国生效,其目的是为了解决 GeoTag 信息在中国的地图数据上匹配失准问题的。从逻辑上说,在中国以外的地区,这个额外的规则应当是不生效的,否则 GeoTag 信息同样会与该地的地理数据匹配失准。其实可以谨慎地怀疑,即使在中国拍摄的照片,其 EXIF 信息中可能也存在真实的 GPS 数据,只是不是按照 GeoTag 的标准来存储的,这就只有苹果自己的开发人员才能知道了。
    wushan
        6
    wushan  
       10 天前   ❤️ 2
    @aphorism @vonsy 我是国行 iPhone ,区域美国,语言英语。国内拍摄照片 Exif 中的坐标似乎就是 WGS-84 坐标。复制坐标到 iOS 端谷歌地球、Web 端谷歌地图、Web 端谷歌地图里,卫星图定位正确,矢量图偏移。放到 iOS 端苹果地图、谷歌地图中卫星图和矢量图均有偏移,但从相册直接上滑显示的矢量图定位是正确的。海外拍摄的照片一切正常。
    10RR
        7
    10RR  
       10 天前   ❤️ 1
    赞同楼上 @aphorism 的回答.

    OP 图片挂了. 我去 https://jimpl.com/ 这个网站传了一张照片.
    显示卫星地图时的定位是对的, 显示街道地图就偏差了大约 500 米.
    这应该就是 WGS84 和 GCJ-02 坐标系偏移的距离 ? 不知道哪个是哪个.
    感觉应该是卫星图使用 WGS84, 而普通街道地图使用 GCJ-02.

    此前, 我用国行和外版的 iPhone 在同一地点分别拍了照片, 发现 Exif 里的坐标数值几乎是一样的, 偏差可能在 10 米之内.
    10RR
        8
    10RR  
       10 天前
    也同意楼上 @wushan 说的.
    aphorism
        9
    aphorism  
       9 天前   ❤️ 2
    结合 @wushan @10RR 的回答,作一点更正说明:


    1 、iPhone 无论是中国发售的版本还是美、日等地发售版本,其照片文件的 EXIF 信息中附带的 Geotag 数据均为 GPS 坐标,并非 GCJ-02 坐标。

    2 、https://jimpl.com 网站使用的地图服务是 Google Maps ,而 Google Maps 的中国的矢量数据是 GCJ-02 坐标系统的,因此显示 GPS 坐标会出现匹配失准,切换到卫星影像就与实际位置没有偏差。

    3 、以下列举了几个常见的地图网站与其中国区域数据所用坐标系统
    (1) Google Maps Web 版,https://maps.google.com 中国区域的矢量数据为 GCJ-02 坐标,在中国区域的矢量地图上显示 GPS 坐标时会匹配失准,切换到卫星影像地图则匹配正确。显示世界其他地区地图时无此问题。
    (2)Bing Maps Web 版,https://bing.com/maps 中国区域的矢量数据为 GCJ-02 坐标,在中国区域的矢量地图上显示 GPS 坐标时会匹配失准,切换到卫星影像地图则匹配正确。显示世界其他地区地图时无此问题。
    (3)Apple Maps Web 版,https://beta.maps.apple.com 中国区域的矢量数据为 EPSG-3857 坐标,显示 GPS 坐标时匹配正确。
    (4)OpenStreetMap Web 版 https://www.openstreetmap.org 中国区域的矢量数据为 EPSG-3857 坐标,显示 GPS 坐标时匹配正确。
    (5)ArGIS Map Web 版 https://www.arcgis.com/home/webmap/viewer.html 中国区域的矢量数据为 EPSG-3857 坐标,显示 GPS 坐标时匹配正确。

    4 、该问题的根源在于中国主管部门允许商用的地理导航数据集必须是 GCJ-02 坐标系统的,因此所有采用该数据集的服务商都会存在与 GPS 坐标叠加显示时匹配失准的问题。GCJ-02 坐标系统说白了就是在真实地理坐标上加入噪声,而该噪声就是你看到的所谓”偏差“。目前最好的解决方案就是使用 OpenStreetMap 数据集,该数据集在中国区域内的详尽程度可能不如来自于百度、高德、四维图新等商业数据集,但其坐标系统是未经过加噪处理的,显示 GPS 坐标不会有失准的问题。
    LaoChen
        10
    LaoChen  
       8 天前
    那如果 @aphorism 的最新回复信息是准确的,那可以推断 Apple 在 iOS 上街道数据说不定用的也是 EPSG-3857 坐标?那这个帖子的立论就不存在了。没任何问题了。

    我刚刚试了,把我国行 iPhone 在国内拍的照片,AirDrop 到我的纯血美国 iPhone 上,上滑看位置,除了城市名变成了拼音,没有一点毛病啊!

    Apple:你看我多牛逼,可以找到提供 EPSG-3857 的供应商,来解决东方大国的特色问题!
    LaoChen
        11
    LaoChen  
       8 天前
    回到楼主 @vonsy 观察到的现象,合理解释是 https://jimpl.com/在街道层面使用了 GCJ-02 数据源?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:44 · PVG 08:44 · LAX 17:44 · JFK 20:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.