【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)
🍺三维数字地球系列相关文章如下🍺: | |
---|---|
1 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第一期 |
2 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut、GIS)第二期 |
3 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut、GIS)第三期 |
4 | 【小沐学GIS】基于C++绘制三维数字地球Earth(QT、OpenGL、GIS)第四期 |
5 | 【小沐学GIS】基于C++绘制三维数字地球Earth(QT、OpenGL、GIS、卫星轨迹)第五期 |
6 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、GIS、SolarSystem,太阳系模拟)第六期 |
7 | 【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS) |
8 | 【小沐学GIS】基于C++OpenSceneGraph(OSG)绘制三维数字地球Earth(7:OpenGL) |
9 | 【小沐学GIS】基于C#绘制三维数字地球Earth(10:OpenGL) |
10 | 【小沐学GIS】基于Python绘制三维数字地球Earth(11:OpenGL) |
11 | 【小沐学GIS】基于Android绘制三维数字地球Earth(12:OpenGL) |
12 | 【小沐学GIS】基于WebGL绘制三维数字地球Earth(13:OpenGL) |
13 | 【小沐杂货铺】基于Three.JS绘制三维数字地球Earth(GIS 、three.js、WebGL) |
14 | 【小沐杂货铺】基于Three.JS绘制三维太阳系Solar System(GIS 、three.js、WebGL) |
15 | 【小沐杂货铺】基于Three.JS绘制卫星轨迹Satellite(GIS 、three.js、vue、react) |
16 | 【小沐杂货铺】基于Cesium.JS绘制卫星轨迹Satellite(GIS 、Cesium、vue、react) |
文章目录
- 1、瓦片地图
- 6、运行结果(2d瓦片地图)
- 6.1 opengl / sdl / boost::asio / c++ (2d,瓦片贴图)
- 6.2 opengl / curl / glad / glfw / stb / c++ (2d,瓦片贴图)
- 6.3 opengl / sdl2 / sdl2_image / boost::asio / curl/ c++ (2d,瓦片贴图)
- 6.4 opengl / sdl2 / sdl2_image / curl / c++ (2d,瓦片贴图)
- 6.5 opengl / qt5 / glm / cpprest / c++ / 必应影像地图 (2d,瓦片贴图)
- 6.6 qt5 / c++ / 影像地图 (2d,瓦片贴图)
- 6.7 qt5 / c++ / OSM / 谷歌 / 必应 (2d,瓦片贴图)
- 6.8 qt5 / c++ / OSM / 高德 / 天地图 (2d,瓦片贴图)
- 6.9 qt5 / c++ / 多种地图源切换 (2d,瓦片贴图)
- 6.10 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
- 6.11 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
- 6.12 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
- 6.13 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
- 结语
1、瓦片地图
使用 OpenGL 和 QT5 绘制 2D 瓦片地图:主要思路是通过 OpenGL 进行图形渲染,利用 QT5 提供的网络请求功能获取在线瓦片地图数据,并将其绘制到屏幕上。在代码中,需要创建一个 OpenGL 上下文,设置视口和投影矩阵,然后使用 OpenGL 的绘图函数来绘制地图瓦片。
6、运行结果(2d瓦片地图)
6.1 opengl / sdl / boost::asio / c++ (2d,瓦片贴图)
6.2 opengl / curl / glad / glfw / stb / c++ (2d,瓦片贴图)
6.3 opengl / sdl2 / sdl2_image / boost::asio / curl/ c++ (2d,瓦片贴图)
6.4 opengl / sdl2 / sdl2_image / curl / c++ (2d,瓦片贴图)
6.5 opengl / qt5 / glm / cpprest / c++ / 必应影像地图 (2d,瓦片贴图)
-
qt vs tool插件下载地址
https://download.qt.io/archive/vsaddin/2.3.2/ -
必应地图瓦片原理介绍
https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system
-
必应地图瓦片key简介
https://www.microsoft.com/en-us/maps/bing-maps/create-a-bing-maps-key- 第一步:若没有Microsoft帐号,要先注册一个Microsoft帐号;
- 注册完成后,打开这个链接:www.bingmapsportal.com并选“sign in”登录Microsoft帐号;
- 在 “My account” 选项中选择 “My Keys”;
- 在 “My Keys” 中 “Create Key” ,同时填写您应用程序的相关信息。注意密钥类别选择 “Basic”,应用程序类型填写“Website”,然后点击“Create”;
- 生成密钥后,点击“Show key”即可显示密钥,复制下来添加到网站后台的bing地图组件里即可。
-
cpprest库地址
https://github.com/microsoft/cpprestsdk
6.6 qt5 / c++ / 影像地图 (2d,瓦片贴图)
QT += network sql widgets
6.7 qt5 / c++ / OSM / 谷歌 / 必应 (2d,瓦片贴图)
6.8 qt5 / c++ / OSM / 高德 / 天地图 (2d,瓦片贴图)
6.9 qt5 / c++ / 多种地图源切换 (2d,瓦片贴图)
6.10 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
6.11 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
6.12 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
6.13 qt5 / c++ / QtNetwork / QtWidgets(2d,瓦片贴图)
以上章节所有地球代码,均在VS2017或QT5开发环境编译通过。
结语
如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;
╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地
//(ㄒoㄒ)//,就在评论处留言,作者继续改进;
o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!
相关文章:
【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)
🍺三维数字地球系列相关文章如下🍺:1【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第一期2【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut、GIS)第二期3【小沐学…...
Windows 系统 - Trae 内 终端 无法使用 node (重新配置 nodejs 路径)
想在 Trae 中尝试一下 mcp, 所以 Windows 系统下安装了 node.js. 安装成功后, 在 Windows 的 powershell 下可以 node -v, 但是在 Trae 的终端下输入 node -v 时, 识别提示不能识别 node 命令. 参考了 vscode 下的一种解决方式 VS Code 内终端无法使用 node 解决方案是相似的…...
AI编程: 使用Trae1小时做成的音视频工具,提取音频并识别文本
背景 在上个月,有网页咨询我怎么才能获取视频中的音频并识别成文本,我当时给他的回答是去问一下AI,让AI来给你答案。 他觉得我在敷衍他,大骂了我一顿,大家觉得我的回答对吗? 小编心里委屈,我…...
springCloud/Alibaba常用中间件之Nacos服务注册与发现
文章目录 SpringCloud Alibaba:依赖版本补充六、Nacos:服务注册与发现1、下载安装Nacos2、服务注册1. 导入依赖(这里以服务提供者为例)2. 修改配置文件和主启动类3. 创建业务类4. 测试 3.服务映射1. 导入依赖2. 修改配置文件和主启动类3. 创建业务类和RestTemplate配置类用来提…...
鸿蒙 所有API缩略图鉴
从HarmonyOS NEXT Developer Preview1(API 11)版本开始,HarmonyOS SDK以 Kit 维度提供丰富、完备的开放能力,涵盖应用框架、应用服务、系统、媒体、AI、图形在内的六大领域,共计30000个API...
互联网大厂Java求职面试:AI集成场景下的技术挑战与架构设计
标题:互联网大厂Java求职面试:AI集成场景下的技术挑战与架构设计 第一幕:向量数据库选型与性能调优 技术总监(严肃脸): 郑薪苦,我们最近在做一个基于大语言模型的企业级AI应用,需要…...
搜索与图论
文章目录 搜索与图论深度优先搜索 DFS[843. n-皇后问题 - AcWing题库](https://www.acwing.com/problem/content/845/) 宽度优先搜索 BFS[844. 走迷宫 - AcWing题库](https://www.acwing.com/problem/content/description/846/) 树与图的存储[846. 树的重心 - AcWing题库](http…...
【递归、搜索和回溯】二叉树中的深搜
个人主页 : zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 前言1 2331. 计算布尔二叉树的值1.1 分析1.2 代码 2 129. 求根节点到叶节点数字之和2.1 分析2.2 代码 3 814. 二叉树剪枝3.1 分析3.2 代码 4 98. 验证…...
通俗的理解MFC消息机制
1. 消息是什么? 想象你家的门铃响了(比如有人按门铃、敲门、或者有快递),这些都是“消息”。 在 MFC 中,消息就是系统或用户触发的各种事件,比如鼠标点击(WM_LBUTTONDOWN)、键盘输入…...
Windows CMD通过adb检查触摸屏Linux驱动是否被编译
检查 CONFIG_TOUCHSCREEN_GT9XX 是否启用,检查内核是否编译了Goodix GT9XX系列触摸屏的驱动支持 Windows CMD.exe输入: adb shell “zcat /proc/config.gz | grep CONFIG_TOUCHSCREEN_GT9XX” 如果返回CONFIG_TOUCHSCREEN_GT9XXy,表示驱动已编…...
Java并发编程-锁(八)
文章目录 Condition的使用和实现使用add(T t) 实现等待队列await()signal()signalAll() 总结 Condition的使用和实现 我们知道,任意一个Java Object,都拥有一组监视器方法,主要包括wait()、 wait(long timeout)、notify()以及notifyAll()方法…...
idea如何快速生成测试类
点击 code -> generate -> Test...
FPGA笔试题review
今天翻网盘上的旧资料,找到了一套20年9月份在武汉某芯片公司食堂做的笔试题(我在做笔试题,旁边的人在嗦酸辣粉,也算是记忆犹新),借着这套题目,正好也可以捡一捡关于FPGA的基础知识点,算是温故而知新。答案更新中 1、名词解释 (1)FPGA、ASIC (2)CLB、LUT (3)时…...
[C++类和对象]构造函数和析构函数
类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗? 并不是,任何类在什么都不写时,编译器会自动生成以下6 个默认成员函数。 默认成员函数:用户没有显式实现,编译器会…...
Java【网络原理】(5)深入浅出HTTPS:状态码与SSL/TLS加密全解析
目录 1.前言 2.正文 2.1状态码 2.2HTTP与HTTPS的关系 2.3SSL协议 2.3.1对称加密 2.3.2非对称加密 2.3.3中间人攻击 2.3.4校验机制 2.3.4.1证书 2.3.4.2数字签名 1. 数字签名的生成过程 2. 数字签名的验证过程 2.4TLS协议(握手过程) 3.小结…...
《全球短剧正版授权通道,助力平台出海与流量变现》
正版短剧片源授权,全方位赋能您的内容运营 短剧作为短视频领域的一种重要形式,凭借其紧凑的剧情、鲜明的角色和引人入胜的叙事方式,赢得了广大观众的喜爱。 然而,在短剧市场蓬勃发展的同时,版权问题也日益凸显。为了保…...
17.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--ELK
在微服务中,日志是非常重要的组成部分。它不仅可以帮助我们排查问题,还可以帮助我们分析系统的性能和使用情况。ELK(Elasticsearch、Logstash、Kibana)是一个强大的日志分析工具,可以帮助我们收集、存储和分析日志数据…...
Linux系统管理与编程16:PXE自动化安装部署centos7.9操作系统
兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 0.准备 1)防火墙和SELinux systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i s/^SELINUX.*/SELINUXdisabled/ /etc/selinux/config (很不好的…...
DAMA第10章深度解析:参考数据与主数据管理的核心要义与实践指南
引言 在数字化转型的浪潮中,数据已成为企业的核心资产。然而,数据孤岛、冗余和不一致问题严重制约了数据价值的释放。DAMA(数据管理协会)提出的参考数据(Reference Data)与主数据(Master Data&…...
Python+OpenCV打造AR/VR基础框架:从原理到实战的全链路解析
引言:重新定义数字与现实的边界 在元宇宙概念持续升温的当下,AR(增强现实)与VR(虚拟现实)技术正成为连接物理世界与数字世界的桥梁。Python凭借其丰富的计算机视觉生态(尤其是OpenCV库…...
PaddleOCR本地部署
构建TestPaddle目录: TestPaddle/ └── PaddleOCR ├── ocr_server.py ├── ch_PP-OCRv4_det_infer.tar ├── ch_PP-OCRv4_rec_infer.tar └── 001.jpg1、安装PaddleOCR 安装 PaddleOCR git clone https://github.com/PaddlePaddle/PaddleOCR.git cd …...
Spring事务融入(REQUIRED)具体实现步骤解析
Spring事务融入(REQUIRED传播行为)是Spring事务管理中最核心的机制,下面我将深入剖析其具体实现步骤和关键代码逻辑。 1. 整体流程概览 事务融入(REQUIRED)的核心逻辑是: 检查当前线程是否存在事务 存在则融入(加入)该事务 不存在则创建新事务 2. …...
Java 开发者 Linux 学习指南
目录 一、引言:为什么 Java 开发者必须掌握 Linux 二、Linux 基础:核心概念与常用命令 (一)文件系统与目录结构 (二)权限体系与用户管理 (三)进程管理与监控 三、在 Linux 上安…...
2025年PMP 学习七 -第5章 项目范围管理 (5.4,5.5,5.6 )
2025年PMP 学习七 -第5章 项目范围管理 5.4 创建 WBS 1.定义与作用 定义把项目可交付成果和项目工作分解成较小的,更易于管理的组件作用对所要交付的内容提供一个结构化的视图 2.输入,输出,工具与技术 3. 创建WBS的依据(输入&…...
【LangChain全景指南】构建下一代AI应用的开发框架
目录 🌟 前言🏗️ 技术背景与价值🚧 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🔍 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🧩 关键技术模块说明⚖️ 技术选…...
Linux系统:虚拟文件系统与文件缓冲区(语言级内核级)
本节重点 初步理解一切皆文件理解文件缓冲区的分类用户级文件缓冲区与内核级文件缓冲区用户级文件缓冲区的刷新机制两级缓冲区的分层协作 一、虚拟文件系统 1.1 理解“一切皆文件” 我们都知道操作系统访问不同的外部设备(显示器、磁盘、键盘、鼠标、网卡&#…...
Linux进程间信号
目录 信号入门 生活角度中的信号 技术应用角度的信号 信号的发送与记录 信号处理常见方式概述 产生信号 通过终端按键产生 通过系统函数向进程发信号 由软件条件产生信号 由硬件异常产生信号 阻塞信号 信号其他相关常见概念 在内核中的表示 sigset_t 信号集操作…...
数据分析2
五、文件 CSV Comma-Separated Value,逗号分割值。CSV文件以纯文本形式存储表格数据(数字和文本)。 CSV记录间以某种换行符分隔,每条记录由字段组成,字段间以其他字符或字符串分割,最常用逗号或制表符。…...
每日一题:两个仓库的最低配送费用问题
文章目录 两个仓库的最低配送费用问题一、问题描述二、解题思路(一)初始假设(二)差值定义(三)选择最优(四)计算答案 三、代码实现四、代码分析(一)输入处理&a…...
SemanticSplitterNodeParser 和 Sentence-BERT 的区别和联系是什么
这涉及到文本切分(chunking)与语义向量(embedding)之间的关系。我们来详细对比: ✅ 1. SemanticSplitterNodeParser 是什么? SemanticSplitterNodeParser 是 llama-index 提供的一种 语义感知的文本切分工…...
Fabric系列 - SoftHSM 软件模拟HSM
在 fabric-ca-server 上使用软件模拟的 HSM(密码卡) 功能 安装 SoftHSMv2 教程 SoftHSMv2 默认的配置文件 /etc/softhsm2.conf默认的token目录 /var/lib/softhsm/tokens/ 初始化和启动fabric-ca-server,需要设置一个管理员用户的名称和密码 初始化令牌 # 初始…...
简易图片编辑工具,支持抠图和替换背景
软件介绍 Photo Retouch是一款由微软官方商店推出的免费图片处理软件,具有抠图、换背景、修复等功能,操作便捷且效率极高,非常值得尝试。 功能详解 这款软件提供五大功能,包括删除物体、快速修复、一键抠图、背景调整和裁剪…...
CountDownLatch 并发编程中的同步利器
CountDownLatch 并发编程中的同步利器 文章目录 CountDownLatch 并发编程中的同步利器一、CountDownLatch 基础概念1.1 什么是 CountDownLatch?1.2 CountDownLatch 的核心方法1.3 基本使用示例 二、CountDownLatch 实战应用2.1 应用场景一:并行任务协调2…...
C++GO语言微服务之用户信息处理
目录 01 01-微服务实现用户注册-微服务端-上 02 02-微服务实现用户注册-微服务端-下 03 03-微服务实现用户注册-web端 04 04-微服务实现用户注册-web端-流程小结 05 05-获取地域信息-读MySQL写Redis入 06 06-获取地域信息-先查redis-没有读MySQL写入 01 07-Cookie简介 0…...
互联网大厂Java求职面试实战:Spring Boot微服务与数据库优化详解
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通 😁 2. 毕业设计专栏,毕业季咱们不慌忙,几百款毕业设计等你选。 ❤️ 3. Python爬虫专栏…...
Linux基本指令(一)
目录 基本指令 pwd指令 cd指令 cd ..编辑 cd ~ ls指令 ls -l ls -a ls -d touch指令 mkdir指令 rmdir指令 && rm 指令 操作系统是什么呢?一个好的操作系统要具备什么条件呢? 简单来说,操作系统是是一款做软硬件管理的软…...
Java—— 集合 List
List集合的特点 有序:存和取的元素顺序一致 有索引:可以通过索引操作元素 可重复:存储的元素可以重复 List集合的方法 Collection的方法List都继承了,可以使用Collection中的方法 此外,List集合因为有索引,…...
使用谱聚类将相似度矩阵分为2类
使用谱聚类将相似度矩阵分为2类的步骤如下: 构建相似度矩阵:提供的1717矩阵已满足对称性且对角线为1。 计算度矩阵:对每一行求和得到各节点的度,形成对角矩阵。 计算归一化拉普拉斯矩阵:采用对称归一化形式 LsymI−D…...
【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)高级用法(二)
Bootstrap V4系列 学习入门教程之 组件-表单(Forms)高级用法(二) 表单(Forms)高级用法(二)一、Help text 帮助文本二、Disabled forms 禁用表单三、Validation 验证3.1 How it works…...
【许可证】Open Source Licenses
长期更新 扩展:shield.io装饰 开源许可证(Open Source Licenses)有很多种,每种都有不同的授权和限制,适用于不同目的。 默认的ISC🟰MIT License是否可商用是否要求开源衍生项目是否必须署名是否有专利授权…...
RT-Thread 深入系列 Part 7:RT-Thread vs 其他 RTOS 对比与选型指南
摘要 本文对比 RT-Thread、FreeRTOS、Zephyr、uC/OS、Mbed OS 等主流嵌入式操作系统,从功能特性、社区生态、学习成本、商业支持、安全性和典型应用场景六个维度进行详尽对比,并给出不同项目类型下的选型建议,帮助你为下一个嵌入式项目做出最合适的决策。 目录 功能特性对比…...
每天五分钟机器学习:KTT条件
本文重点 在前面的课程中,我们学习了拉格朗日乘数法求解等式约束下函数极值,如果约束不是等式而是不等式呢?此时就需要KTT条件出手了,KTT条件是拉格朗日乘数法的推广。KTT条件不仅统一了等式约束与不等式约束的优化问题求解范式,KTT条件给出了这类问题取得极值的一阶必要…...
金融学知识笔记
金融学知识笔记 一、引言 金融学它结合了数学、概率论、统计学、经济学和计算机科学等多学科的知识,用于解决金融领域中的各种问题,如金融衍生品定价、投资组合优化、风险管理和固定收益证券分析等。通过对金融学的学习,我们可以更好地理解…...
Web3 实战项目项目部署到 GitHub 和上线预览的完整指南
目录 🚀 一、部署到 GitHub ✅ 前置准备 🧱 部署步骤: 1. 创建一个 GitHub 仓库 2. 上传项目文件 方法一:使用 Git 命令行 方法二:直接上传 🌐 二、通过 GitHub Pages 免费上线 DApp(前端…...
嵌入式开发学习(阶段二 C语言基础)
C语言:第05天笔记 内容提要 分支结构 条件判断用if语句实现分支结构用switch语句实现分支结构 分支结构 条件判断 条件判断:根据某个条件成立与否,决定是否执行指定的操作。 条件判断的结果是逻辑值,也就是布尔类型值&#…...
【沉浸式求职学习day35】【Tomcat安装、配置】【Http简述】
😩😩😩,真的每天忙死,感觉自己精神上压力真的很大,希望我的努力能够激励到你们~ 沉浸式求职学习 Tomcat1.安装2.Tomcat启动和配置3.配置高难度面试题 4.发布一个web网站5.Http1.什么是HTTP2.两个时代3.Htt…...
基于大模型的新型隐球菌脑膜炎智能诊疗全流程系统设计与实现的技术方案文档
目录 一、术前风险预测系统1. 多模态融合模型架构2. 风险预测流程图(Mermaid)二、麻醉剂量预测系统1. 靶控输注(TCI)模型2. 麻醉方案优化流程图(Mermaid)三、术后并发症预测模型1. 时序预测模型(LSTM)2. 并发症预测流程图(Mermaid)四、健康教育管理模块1. 移动健康(…...
如何实现PLC远程编程
1. 什么是PLC编程 PLC编程是指为可编程逻辑控制器(Programmable Logic Controller,PLC)编写控制逻辑的过程。PLC是一种工业自动化控制设备,广泛应用于制造业、机械控制、流水线、电力系统等领域,用于替代传统的继电器…...
Go基于plugin的热更新初体验
背景 对于一个部署在生产环境的项目来说,我们希望当代码出现bug的时候,可以不用重启进程而达到动态修改代码的目的—— 这就是代码热部署! 使用java做游戏服务器,最大的好处是,当代码出现bug,可以直接热…...
【STM32 学习笔记】I2C通信协议
注:通信协议的设计背景 3:00~10:13 I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强, 不需要USART、CAN等通讯协议的外部收发设备,现在被广…...