|
发表于 2019-5-28 13:19:16
本帖最后由 AmovlabPony 于 2019-5-28 13:20 编辑
GCJ02坐标系 即火星坐标系,WGS84坐标系经加密后的坐标系。 出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标。
纠偏和加偏跟对的是经纬度点,谷歌的卫星地图的直接采用的WSG84坐标,街道地图采用的是GCJ02坐标系
这个博客有相关的转化实现,可以参考一下:
各坐标系简介与转换 |
扫一扫浏览分享
|
|
|
|
|
|
|
发表于 2019-5-28 13:25:11
GCJ02坐标系 即火星坐标系,WGS84坐标系经加密后的坐标系。 出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标。
谷歌的街道地图在中国区域内处于保护的目的在WGS84坐标系上加偏形成了GCJ02坐标系,所以原WGS84的数据如果要在街道地图上显示需要进行加偏,如果是在街道地图上去航点发送给飞机需要纠偏转化为GGS84坐标发送给飞机。
纠偏和加偏针对的是一个经纬度点
各坐标系简介与转换,包括WGS84(地球坐标系)、GCJ02(火星坐标系)和BD09 |
|
|
|
|
|
|
|
发表于 2019-5-29 10:01:10
有没有办法只需要选择对应的地图瓦片服务器地址就行了,而不需要自己手动去转换?我看网友给的地址好像是很多年前的,都失效了 |
|
|
|
|
|
|
|
发表于 2019-5-30 09:27:26
|
|
|
|
|
|
|
发表于 2019-6-12 20:33:35
QGC的源码二次开发关于visualItems的问题
本帖最后由 weifeng727 于 2019-6-13 09:07 编辑
想请教QGC的源码二次开发问题,难度可能有点大,大概的意思就是利用下图这个visualItems实现了commandListEditor的UI实现,那么我的需求是想参考前面说的UI实现做一个很类似的功能需求,但是始终在C++里修改model时无法在qml写的view上进行更新,我不知道是不是漏了什么重要的细节,所以似乎导致了我的visualItems2是有问题的(涉及到的代码和文件较多,我就简单点描述这个问题吧,可以私聊我进行有偿服务):
|
|
|
|
|
|
|
|
发表于 2019-6-13 09:18:36
根据我的经验,建议按照下面的步骤进行问题的排查:
1、首先在C++代码中,将你的数据打印出来,确保你的后端将要显示的数据是如你期待的,进而确定是前端显示的问题
2、接下来,再确定qml显示的问题。需要注意的是你再C++端的修改需要emit信号。如你提到的:
- Q_PROPERTY(QmlObjectListModel* visualItems READ visualItems NOTIFY visualItemsChanged)
复制代码
更改属性时,emit visualItemsChanged()。 |
|
|
|
|
|
|
|
发表于 2019-6-13 10:28:39
感谢这位大牛,我每次C++修改完model后,emit下信号就可以了,但是我还是疑问,QGC原有的那个visualItems似乎在c++修改model后并没有emit visualItemsChanged(),为什么qml那头知道要更新UI呢 |
|
|
|
|
|
|
|
发表于 2019-6-13 11:27:24
建议自己开发在修改时候发射信号进行一下更新,可以避免踏一些不必要的坑
关于QGC这块儿的问题,我刚才也进一步跟进了一下代码,没有看到在每次更新visualItems时便发射信号,只是申请visualItems的空间时发射了信号。暂时我还无法给出很好的解释。
对这块儿有更深的理解,可以一块儿讨论分享。 |
|
|
|
|
|
|
|
发表于 2019-6-13 11:31:52
这确实值得探讨 |
|
|
|
|
|
|
|
发表于 2019-6-13 14:05:08
请问ubuntu下面采用qcreator编译qgroundcontrol,显示failure to find:src/GPS/Drivers/src/gps_helper.h
其它几个GPS头文件和cpp文件也无法找到?
这是怎么回事? |
|
|
|
|
|
|
|