门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精品文章(Qter团队原创教程)
›
基础教程
›
Qt/C++地图坐标纠偏/地球坐标系/火星坐标系/百度坐标系/ ...
发布主题
返回列表
Qt/C++地图坐标纠偏/地球坐标系/火星坐标系/百度坐标系/互...
0
回复
248
查看
[复制链接]
liudianwu
当前离线
积分
2659
liudianwu
累计签到:7 天
连续签到:1 天
来源:
2024-8-15 08:53:04
显示全部楼层
|
阅读模式
## 一、前言说明
为什么需要地球坐标纠偏这个功能,因为国家安全需要,不允许使用国际标准的地球坐标系,也并不是咱们这边这样,很多国家都是这样处理的,就是本国的地图经纬度坐标都是按照国家标准来的,所以就需要一个转换。国内主要有三种坐标系,国际标准用的地球坐标系WGS-84,国家标准用的火星坐标系GCJ-02,百度地图用的百度坐标系BD-09,高德地图和腾讯地图用的都是国家标准坐标系,天地图用的大地坐标系,和国际标准坐标系几乎无偏差。所以如果你的应用场景是传入的标准的GPS数据则建议使用天地图,传入的国家标准的GPS坐标则使用高德地图。
除了天地图外,其他地图都提供了在线坐标转换的函数,比如百度地图就提供了地球坐标转百度坐标、火星坐标转百度坐标等,高德提供了地球坐标转高德坐标、百度坐标转高德坐标等。为啥天地图不提供?因为人家用的本身就是和地球坐标系几乎一样的大地坐标系,无需转换。
光有在线转换的功能肯定是不够的,网上很多离线的转换算法,经过大量的测验,离线的基本无偏差,据说偏差在5米,可以忽略。网上都是js函数的转换,其实都通用,直接换成纯Qt实现也是分分钟的事情,毕竟一些常规的函数哪一种编程语言库都会带,直接用就行。
## 二、功能特点
1. 支持多种地图内核,默认采用百度地图,可选高德地图、天地图、腾讯地图等。
2. 同时支持在线地图和离线地图两种模式,离线地图方便在不联网的场景中使用。
3. 支持各种地图控件的启用,比如地图导航、地图类型、缩略图、比例尺、全景导航、实时路况、绘图工具、结果面板等。
4. 支持多种地图功能的动态启用禁用,比如地图拖曳、键盘操作、滚轮缩放、双击放大、连续缩放、地图测距等。
5. 提供众多js函数接口用于交互,参数极其丰富,能够想到的应用场景需求都有。
6. 统一的信号槽机制,地图中的结果统一信号发送出去,收到后根据type类型区分。
7. 支持地图交互,比如鼠标按下获取对应位置的经纬度。单击标注点弹出对应点的信息。
8. 支持添加标注、删除标注、移动标注、清空标注。
9. 标注点可以指定图标图片和尺寸,支持gif动图,支持指定以图片中心对齐还是底部中心对齐。可以设置旋转角度,带富文本提示信息。
10. 标注点事件支持单击发信号通知和自己弹框显示信息。
11. 提供地址转坐标和坐标转地址接口。
12. 支持各种图形绘制,包括折线图、多边形、矩形、圆形、弧线等。
13. 可显示悬浮的绘图工具栏,直接在地图上划线、标注点、矩形、圆形等。
14. 支持各种区域搜索,比如矩形区域、圆形区域,可以按照关键字匹配将搜索结果显示在地图中。
15. 可动态添加离线的行政区边界点数据。可以搜索行政区划并获取该区域的边界点数据。数据可以保存到文件以便离线使用。
16. 支持点聚合功能,多个小标注点合并到一个大标注点,防止点密集导致交互不友好。
17. 可以添加海量点,每个点都可以单击获取对应坐标和信息。
18. 所有的覆盖物信息比如标注点、矩形、多边形、折线图等,都可以主动获取对应的信息比如坐标点和路径等。
19. 支持路径规划,支持公交路线、自驾路线、步行路线、骑行路线,不同查询支持不同策略,可选最少时间、最少换乘、不走高架等。
20. 路径规划结果可以显示在地图中,也可以获取到路径点坐标集合。这个数据可以保存到文件,以便发给机器人或者无人机做导航用来轨迹移动。
21. 可以设置不同的地图视图比如街道图、卫星图、混合图。
22. 可以设置不同的样式,比如午夜蓝、青草绿等样式风格。
23. 可以设置地图的旋转角度和倾斜角度。
24. 提供经纬度坐标纠偏转换功能,比如传入的GPS坐标需要转换到百度地图坐标或者高德地图坐标。各种坐标系转换全部离线函数,支持地球坐标系WGS-84、火星坐标系GCJ-02、百度坐标系BD-09之间的互相转换,涵盖了各种地图的坐标系。
25. 提供动态轨迹点移动功能,按照给定的经纬度坐标集合平滑移动。
26. 同时支持qwidget和qml,支持编译到安卓系统运行。
## 三、使用说明
1. 本示例演示一键生成指定数量的标注点、点聚合、海量点,用于对比性能,比如在10000个数量下,明显海量点优于其他。项目中可以根据实际情况选择何种方式,点数量越多,性能排序依次是海量点、点聚合、标注点。但是海量点能够表示的信息比较少,就是一个绘制的图形,默认是圆形。
2. 本示例另一个主要功能是演示GPS坐标转换,由于政策原因,国内所有地图不能使用GPS坐标表示,理论上各个地图厂家提供的坐标系统都不是GPS的,要做转换。转换多少都有点误差,据说误差控制在5米。
3. 不同地图内核有不同的转换类型,比如百度地图本示例中支持GPS转百度、GPS转其他、百度转其他、其他转百度,四种方式的坐标转换。高德地图支持GPS转高德、图吧转高德、百度转高德三种方式。
4. 左侧地图鼠标按下选点后,单击一键转换,会显示对应结果,同时将两种结果以标注的形式显示在地图中,以便查看位置区别。一个是原来的位置,一个是计算后的位置。
## 四、相关链接
1. 体验地址:[
https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A
](
https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A
) 提取码:o05q 名称:bin_map.zip
2. 国内站点:[
https://gitee.com/feiyangqingyun
](
https://gitee.com/feiyangqingyun
)
3. 国际站点:[
https://github.com/feiyangqingyun
](
https://github.com/feiyangqingyun
)
## 五、效果图
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了