在中国境内可以默认设置GCJ02基准么?

地图加加的使用经验、技巧以及问题处置等,和其它喜欢地图加加的朋友一起说说地图加加的酸甜苦辣咸。

在中国境内可以默认设置GCJ02基准么?

帖子julian910831 » 2019-03-12 6:36

使用场景为:相机拍照,手机使用地图加加记录(地图底图使用iOS默认地图)。使用LR写入地图加加的GPX数据到相机照片文件中。
现在的问题:国内每次拍照基准都是WGS84基准,后期需要一个个手动用第三方软件调整。
记录的轨迹后期切换基准时会发生偏移。
希望增加选项。
头像
julian910831
★★
 
帖子: 8
注册: 2019-03-12 6:32

Re: 在中国境内可以默认设置GCJ02基准么?

帖子Zax » 2019-03-12 7:55

julian910831 写道:使用场景为:相机拍照,手机使用地图加加记录(地图底图使用iOS默认地图)。使用LR写入地图加加的GPX数据到相机照片文件中。
现在的问题:国内每次拍照基准都是WGS84基准,后期需要一个个手动用第三方软件调整。
记录的轨迹后期切换基准时会发生偏移。
希望增加选项。


首先请明确两个概念:数据(照片或轨迹)存储时的基准,以及显示到某个地图时,这个地图的基准。他们没有必要相同,但必须正确。就像你有一个球坐标的点,要显示到直角坐标中,你没有必要提前转换,只要正确告诉地图加加,照片是球坐标,地图是直角坐标,地图加加显示的时候就能自动转换到正确位置显示的。

按照EXIF规范,照片中的经纬度必须使用 WGS84 基准。这样才能保证以后这个照片用于任何地图或软件,都能正确显示。显示某个地图软件查看照片时出现偏移,是这个软件的问题,因为他不支持中国加偏的地图,应该修改这个软件,而不是去修改照片中的坐标原始值。否则,当这个照片放到支持偏移地图的软件,或者放到无偏移的地图中(例如谷歌 Earth),或者放到其他投影的地图中,例如天地图、一些行业或专业地图等,就会无法匹配上位置。

所以,无论苹果官方相机软件、传统数码相机的GPS外设、还是绝大多数打点和拍照软件,存入照片EXIF中的经纬度都应该是标准的 WGS84 坐标,这样大家才能统一。

地图加加中,如果你导入一张带 GPS 坐标的照片,它会按 WGS84 理解EXIF中的坐标值,然后根据当前地图的投影(什么都可能,可能偏移,也可能没偏移(如谷歌海外卫星图、Open Street 地图,Open Cycle 地图),正确转换到准确的位置去显示这个照片。不需要你做任何转换,只需要你正确设置,当前地图的投影即可。

对于GPX 或者 KML 导出的轨迹,也是一样的。GPX 或 KML 文件规范严格要求,所有坐标必须以 WGS84 存储,所有能够处理这两个格式的软件都会按照这个规范处理,这样才能保证你在 Google Earth 或者其他第三方软件中导入这个 GPX 的时候,有正确的显示。如果某个软件中显示偏移,则是这个软件的问题,它没有能察觉到当前地图,应该这个软件进行优化,而不应该改原始存储在文件中的坐标。否则其他软件就不对了。

地图加加如果正确设置了系统地图的投影(对苹果地图,请选择自动;或者当中国使用时选Web磨卡托中国,国外使用时选Web魔卡托),无论查看什么来源的 GPX 或照片,都不会出现偏移问题的。

最后,你提到的切换基准会偏移,这个是肯定的。一个轨迹的坐标基准,只是一个静态的描述信息,表示这个轨迹记录的时候,他的数据源(也就是GPS卫星)使用的是何种基准,这个设置只有一个正确值,不会变化。修改这个设置的时候,不是对存储了的坐标有任何影响,只是重新告诉app这些坐标值是何种基准,并不会修改坐标本身。所以,如果是我们记录的轨迹,必然设置为 WGS 84,否则肯定是错误的。之所以提供修改,是为了从第三方文件(GPX、KML)导入某个轨迹时,如果那个轨迹是由一些不标准的软件记录的,例如一些国产软件为了简单,直接存储为偏移坐标,则我们也能支持正确查看。

自定义地图的投影(模型)设置也是描述信息,也是静态的,地图确定,投影就确定了,它描述了这个地图使用什么投影。无论当前地图投影和要显示的数据投影是否相同,app 都会自动转换到正确的显示位置,不需要任何第三方转换的,前提是数据和地图的投影(描述)都正确设置了。
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1208
注册: 2011-07-27 0:54

Re: 在中国境内可以默认设置GCJ02基准么?

帖子julian910831 » 2019-03-18 3:27

Zax 写道:
julian910831 写道:使用场景为:相机拍照,手机使用地图加加记录(地图底图使用iOS默认地图)。使用LR写入地图加加的GPX数据到相机照片文件中。
现在的问题:国内每次拍照基准都是WGS84基准,后期需要一个个手动用第三方软件调整。
记录的轨迹后期切换基准时会发生偏移。
希望增加选项。


首先请明确两个概念:数据(照片或轨迹)存储时的基准,以及显示到某个地图时,这个地图的基准。他们没有必要相同,但必须正确。就像你有一个球坐标的点,要显示到直角坐标中,你没有必要提前转换,只要正确告诉地图加加,照片是球坐标,地图是直角坐标,地图加加显示的时候就能自动转换到正确位置显示的。

按照EXIF规范,照片中的经纬度必须使用 WGS84 基准。这样才能保证以后这个照片用于任何地图或软件,都能正确显示。显示某个地图软件查看照片时出现偏移,是这个软件的问题,因为他不支持中国加偏的地图,应该修改这个软件,而不是去修改照片中的坐标原始值。否则,当这个照片放到支持偏移地图的软件,或者放到无偏移的地图中(例如谷歌 Earth),或者放到其他投影的地图中,例如天地图、一些行业或专业地图等,就会无法匹配上位置。

所以,无论苹果官方相机软件、传统数码相机的GPS外设、还是绝大多数打点和拍照软件,存入照片EXIF中的经纬度都应该是标准的 WGS84 坐标,这样大家才能统一。

地图加加中,如果你导入一张带 GPS 坐标的照片,它会按 WGS84 理解EXIF中的坐标值,然后根据当前地图的投影(什么都可能,可能偏移,也可能没偏移(如谷歌海外卫星图、Open Street 地图,Open Cycle 地图),正确转换到准确的位置去显示这个照片。不需要你做任何转换,只需要你正确设置,当前地图的投影即可。

对于GPX 或者 KML 导出的轨迹,也是一样的。GPX 或 KML 文件规范严格要求,所有坐标必须以 WGS84 存储,所有能够处理这两个格式的软件都会按照这个规范处理,这样才能保证你在 Google Earth 或者其他第三方软件中导入这个 GPX 的时候,有正确的显示。如果某个软件中显示偏移,则是这个软件的问题,它没有能察觉到当前地图,应该这个软件进行优化,而不应该改原始存储在文件中的坐标。否则其他软件就不对了。

地图加加如果正确设置了系统地图的投影(对苹果地图,请选择自动;或者当中国使用时选Web磨卡托中国,国外使用时选Web魔卡托),无论查看什么来源的 GPX 或照片,都不会出现偏移问题的。

最后,你提到的切换基准会偏移,这个是肯定的。一个轨迹的坐标基准,只是一个静态的描述信息,表示这个轨迹记录的时候,他的数据源(也就是GPS卫星)使用的是何种基准,这个设置只有一个正确值,不会变化。修改这个设置的时候,不是对存储了的坐标有任何影响,只是重新告诉app这些坐标值是何种基准,并不会修改坐标本身。所以,如果是我们记录的轨迹,必然设置为 WGS 84,否则肯定是错误的。之所以提供修改,是为了从第三方文件(GPX、KML)导入某个轨迹时,如果那个轨迹是由一些不标准的软件记录的,例如一些国产软件为了简单,直接存储为偏移坐标,则我们也能支持正确查看。

自定义地图的投影(模型)设置也是描述信息,也是静态的,地图确定,投影就确定了,它描述了这个地图使用什么投影。无论当前地图投影和要显示的数据投影是否相同,app 都会自动转换到正确的显示位置,不需要任何第三方转换的,前提是数据和地图的投影(描述)都正确设置了。



仔细再确认了下,只有MacOS的系统地图不纠偏。iOS和LR都纠偏了
头像
julian910831
★★
 
帖子: 8
注册: 2019-03-12 6:32

Re: 在中国境内可以默认设置GCJ02基准么?

帖子Zax » 2019-03-18 3:55

julian910831 写道:仔细再确认了下,只有MacOS的系统地图不纠偏。iOS和LR都纠偏了


1、地图加加判断是否需要纠偏,只有一个规则:当前要显示的对象(当前位置、图钉、各种点线面)使用的坐标基准和当前地图的坐标基准是否相同?如果相同就不纠偏。例如:你可以将某个收藏点的经纬度编辑为 GCJ02 基准的坐标值,然后将其基准设置为 GCJ02,则这个地点如果显示在 GCJ02 的偏移地图上,就不需要纠偏的,如果显示到无偏移(WGS84)地图上,就需要纠偏。

对于当前位置和已经记录的轨迹,他们的基准必然是 WGS 84,所以显示到所有 GCJ02 的地图,都会加偏。

2、Mac 的系统地图的基准默认是自动,你可以手动强制指定。在“自动”设置的情况下,会根据当前位置(最后一次使用定位的位置)是否在中国采用不同的策略,以匹配苹果的地图规则。如果你在中国使用(手机联网是中国的运行商和IP),则对于中国大陆和港澳台,使用 GCJ02 基准;对于海外,使用 WGS 84基准。换句话说,如果你导入一条国内的轨迹,它就会加偏移后显示,导入海外的轨迹,就会不加偏移显示。如果在国外使用,则全球都是WGS 84 基准,也就是这时候导入GPX轨迹都不会加偏移。

3、其实,你完全没有必要去研究什么时候纠偏,什么时候不纠偏,这个我们介绍起来也很难说清楚,你记忆起来也困难。
只需要明白:
i) 你只要正确设置每个地图的正确基准(只需设置一次,不需要修改),就能正确显示位置和轨迹。
ii) 对于位置和轨迹以外的各种点线面,您还需要正确设置他们坐标的基准(或者说他们坐标值所对应的基准)即可。
iii) 对于下面的几种地图上对象,地图加加默认其坐标的基准是WGS 84:
    当前位置
    记录的轨迹
    从GPX导入的数据
    从KML导入的数据
    照片EXIF信息中包含的坐标值(GPS)

更多关于地图加加中各个基准的详细介绍参见2在线文档:
http://duweis.com/support/viewdoc.html? ... =021_ctype
http://duweis.com/support/viewdoc.html? ... k=022_proj

.
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1208
注册: 2011-07-27 0:54

Re: 在中国境内可以默认设置GCJ02基准么?

帖子julian910831 » 2019-03-26 3:29

Zax 写道:
julian910831 写道:仔细再确认了下,只有MacOS的系统地图不纠偏。iOS和LR都纠偏了


1、地图加加判断是否需要纠偏,只有一个规则:当前要显示的对象(当前位置、图钉、各种点线面)使用的坐标基准和当前地图的坐标基准是否相同?如果相同就不纠偏。例如:你可以将某个收藏点的经纬度编辑为 GCJ02 基准的坐标值,然后将其基准设置为 GCJ02,则这个地点如果显示在 GCJ02 的偏移地图上,就不需要纠偏的,如果显示到无偏移(WGS84)地图上,就需要纠偏。

对于当前位置和已经记录的轨迹,他们的基准必然是 WGS 84,所以显示到所有 GCJ02 的地图,都会加偏。

2、Mac 的系统地图的基准默认是自动,你可以手动强制指定。在“自动”设置的情况下,会根据当前位置(最后一次使用定位的位置)是否在中国采用不同的策略,以匹配苹果的地图规则。如果你在中国使用(手机联网是中国的运行商和IP),则对于中国大陆和港澳台,使用 GCJ02 基准;对于海外,使用 WGS 84基准。换句话说,如果你导入一条国内的轨迹,它就会加偏移后显示,导入海外的轨迹,就会不加偏移显示。如果在国外使用,则全球都是WGS 84 基准,也就是这时候导入GPX轨迹都不会加偏移。

3、其实,你完全没有必要去研究什么时候纠偏,什么时候不纠偏,这个我们介绍起来也很难说清楚,你记忆起来也困难。
只需要明白:
i) 你只要正确设置每个地图的正确基准(只需设置一次,不需要修改),就能正确显示位置和轨迹。
ii) 对于位置和轨迹以外的各种点线面,您还需要正确设置他们坐标的基准(或者说他们坐标值所对应的基准)即可。
iii) 对于下面的几种地图上对象,地图加加默认其坐标的基准是WGS 84:
    当前位置
    记录的轨迹
    从GPX导入的数据
    从KML导入的数据
    照片EXIF信息中包含的坐标值(GPS)

更多关于地图加加中各个基准的详细介绍参见2在线文档:
http://duweis.com/support/viewdoc.html? ... =021_ctype
http://duweis.com/support/viewdoc.html? ... k=022_proj

.

问题在于现在系统不自动纠偏啊。。。
iOS也看了,只有相机app自己拍的GPS位置显示正确,要是地图加加记录的WGS84用LR写入到照片里,传到手机里位置就偏移了。
这个感觉开发可以当高级选项开放出来也好的啊
去日本记录的就不存在这类问题。。
头像
julian910831
★★
 
帖子: 8
注册: 2019-03-12 6:32

Re: 在中国境内可以默认设置GCJ02基准么?

帖子Zax » 2019-03-26 5:05

应该不会的。首先你的地图加加记录的wgs84是什么东西?是打点功能打的点吗?还是轨迹记录的轨迹?怎么导出的?什么格式?导出的时候有确认其详细信息中的坐标基准是:wgs84?

其次,没用过你说的LR是什么软件?它有没有给坐标加偏移的开关,如果有的话,请关闭。

最后,你可以提供一个例子吗?例如:地图加加导出坐标多少?打入照片后,通过exif软件(或者地图加加全屏图片预览也可以查看)看的的坐标是多少?
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1208
注册: 2011-07-27 0:54

Re: 在中国境内可以默认设置GCJ02基准么?

帖子julian910831 » 2019-03-26 7:07

Zax 写道:应该不会的。首先你的地图加加记录的wgs84是什么东西?是打点功能打的点吗?还是轨迹记录的轨迹?怎么导出的?什么格式?导出的时候有确认其详细信息中的坐标基准是:wgs84?

其次,没用过你说的LR是什么软件?它有没有给坐标加偏移的开关,如果有的话,请关闭。

最后,你可以提供一个例子吗?例如:地图加加导出坐标多少?打入照片后,通过exif软件(或者地图加加全屏图片预览也可以查看)看的的坐标是多少?


地图加加导出时候的坐标与Lightroom写入照片的数值一致

地图加加我使用的是轨迹记录功能,不可能一个个点记录。所以记录的是轨迹。简单说就是相机和手机时间一致,回头根据时间,Lightroom自己将手机记录的GPS轨迹智能的推算时间写入照片中。
基准为自动,底图为为自带地图。(实际查看记录好的轨迹文件为WGS84基准,切轨迹与iOS地图重合)

图一:未手工纠偏(未处理)GPX的文件用Lightroom写入到照片中:Google卫星图位置正确、文字图层偏移;系统自带底图卫星图、文字图偏移。
图片
图片挂的话地址:http://wx1.sinaimg.cn/large/47434b9dgy1g1g7ax9yitj22yo1cuqva.jpg

图二、三:手工纠偏GPX文件用Lightroom写入到照片中:Google卫星图位置偏移、文字图层正确;系统自带底图卫星图、文字图正确。
手工纠偏采用高德地图WGS84转换GCJ02的api转换。
图片
图片

图片挂的话地址:http://wx4.sinaimg.cn/large/47434b9dly1g1g7b3ga7vj22yo1lwe88.jpg
http://wx4.sinaimg.cn/large/47434b9dgy1 ... 1he1l2.jpg
头像
julian910831
★★
 
帖子: 8
注册: 2019-03-12 6:32

Re: 在中国境内可以默认设置GCJ02基准么?

帖子Zax » 2019-03-26 7:42

您所谓的:系统自带底图卫星图、文字图偏移,是指哪里的地图?哪个软件的?
如果是地图加加,你是通过“相册地图”方式显示?还是将照片文件直接导入到地图加加显示?
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1208
注册: 2011-07-27 0:54

Re: 在中国境内可以默认设置GCJ02基准么?

帖子julian910831 » 2019-04-01 6:49

Zax 写道:您所谓的:系统自带底图卫星图、文字图偏移,是指哪里的地图?哪个软件的?
如果是地图加加,你是通过“相册地图”方式显示?还是将照片文件直接导入到地图加加显示?


地图加加本身ok。iOS、macOS系统地图软件啊。。。
头像
julian910831
★★
 
帖子: 8
注册: 2019-03-12 6:32

Re: 在中国境内可以默认设置GCJ02基准么?

帖子Zax » 2019-04-01 23:42

julian910831 写道:地图加加本身ok。iOS、macOS系统地图软件啊。。。


1, 照片中应该存储标准GPS(WGS84),这样这个照片才是规范的。至于某个软件中无法准确显示其位置,是这个软件需要优化,以支持中国加偏移地图,而不应该修改照片来适配软件,否则,如果哪天中国的偏移规则变了(例如像天地图一样不再加偏移了),或者偏移比以前不同了,你的照片还是无法正确显示。修改照片来适配软件的方法是在为了解决问题而引入新问题。

2、iOS 的系统照片应用是支持加偏移地图的,如果照片导入到 iOS 的相册,无论地图加加拍摄,还是通过单反的 GPS 附件拍摄,都能正确显示到加偏的中国地图上。

3、至于 MacOS 上的系统或第三方软件,你应该给苹果或开发者反馈这个问题,相信他们也是能解决的,毕竟解决方法只需给照片加偏,这个不仅不违法,还是法律(法规)所要求的。

4、短期内如果你希望在MacOS上查看照片精确位置,建议先将带位置的照片导入地图加加,然后批量导出为一个KMZ文件,然后电脑上使用 Google Earth 查看。
地图加加支持KMZ中集成照片,还可以附带上拍摄地的坐标等表格信息,只是注意导出的时候选择好是否压缩等选项。
Zax Zeng
Duwei Technology
头像
Zax
★★★★★
 
帖子: 1208
注册: 2011-07-27 0:54

下一页

回到 地图加加 - 官方论坛

cron