QGIS开发笔记(一):QGIS介绍、软件下载和加载shp地图数据Demo

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136888334
红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

Qt开发专栏:三方库开发技术

上一篇:没有了
下一篇:敬请期待…


前言

  无人车、无人机以及某些其他自动驾驶类等项目,研究使用轻量级QGIS对项目进行上位机部分的产品赋能开发。
  本篇介绍QGIS,有一个初步了解。


Demo

  (请特别注意shp地图的加载过程时间,从博主技术群大佬询问地址,这个加载过程是这样,建议就是使用哪几个部分区域就用哪几个,卡几十MB或者几百MB地图以下,这个后续再继续深入论证)。

  请添加图片描述
  请添加图片描述

补充

  QGIS对二维地图支持较强,三维交互较差,获取公开地图数据,导出自己加工后的地图,且免费开源。
  OSGearth三维交互较强,占用资源相对较多,用QGIS导出地图过来,也不涉及其他商y问题。


QGIS介绍

  QGIS是一个跨平台的、用户界面友好的桌面地理信息系统。它基于Qt,并使用C++进行开发。作为一款开源的GIS软件,QGIS遵循GNU通用公共许可授权,提供了数据的显示、编辑和分析功能。
  QGIS支持多种操作系统,包括Linux、Unix、Mac OSX和Windows等。它支持各种矢量、栅格和数据库格式,能够处理丰富的地理数据类型。在QGIS中,用户可以通过多种方式加载数据,包括导入数据库、加载矢量和栅格数据等,并通过图层控制面板对这些数据进行管理。
  QGIS的核心功能之一是空间分析,包括缓冲区分析、距离分析、叠置分析等。此外,它还提供了丰富的地图制作工具,用户可以创建地图元素、标签、图例等,并根据自己的需求调整地图样式和布局。
  除了基本的GIS功能,QGIS还提供了插件扩展功能。用户可以在插件仓库中找到各种适合自己的插件,以增强软件的功能和满足特定的应用需求。
  此外,QGIS还具备坐标定位与拾取的功能。虽然QGIS本身没有单个坐标定位的功能,但用户可以通过安装如Lat Lon Tools这样的插件来解决这个问题。这个插件可以方便地在地图上拾取坐标,并将经纬度信息复制到剪切板中。
  在QGIS中,用户还可以进行页面语言设置,根据需要将软件界面从默认的英文切换为其他语言。同时,软件提供了强大的图层配置功能,用户可以自定义图层的颜色、样式以及渐进色带等,以满足不同的地图展示需求。

官网

  https://www.qgis.org/zh-Hans/site/about/index.html
  在这里插入图片描述


QGIS二次开发扩展注意点

  使用QGis本质上是消息循环跑的是QGis的框架,QGis是QGSApplication,该类继承自QApplication,提供对QGIS特定资源(如主题路径、数据库路径等)的访问。
  构造函数接受 5 个参数。其中 3 个是必备参数。前两个参数传入 main 函数的两个参数即可,第三个参数表示是否激活图形界面 GUI,一般设置为 true,除非你想做一个命令行的程序,如单纯用于数据处理,无需界面的程序。
  这块要是在Qt中原本大量数据极限压边界的情况下,从QApplication转到QGSApplication暂时无法评估影响有多大,因为虽然需要地图,本质上是一个其他比较大的程序中间只需要一个地图模块,通常的做法使用OSG或者百度地图内嵌浏览器。


安装QGIS软件

步骤一:下载

  下载地址:https://www.qgis.org/zh-Hans/site/forusers/download.html
  在这里插入图片描述

  下载下来:
  在这里插入图片描述

步骤二:安装

  (实际安装了3.18,3.36.都差不多,但是3.18应用图标没有出来,要自己从安装文件去拿,3.36则是QGIS Desktop一个应用程序)
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

步骤三:打开软件

  在这里插入图片描述
  在这里插入图片描述

  在这里插入图片描述


加载shp地图测试

  (这里是加载演示一下,具体的如何加载后续会介绍)。
  在这里插入图片描述

  在这里插入图片描述


上一篇:没有了
下一篇:敬请期待…


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136888334

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现安卓连接阿里云物联网平台(2)

完整工程链接 链接:https://pan.baidu.com/s/1ykcJHPBSKBXVMaMWKoVRvA?pwd8888 提取码:8888 (1)创建一个新工程 (2)添加mqtt包的依赖 implementation org.eclipse.paho:org.eclipse.paho.client.mqttv…

MINT: Detecting Fraudulent Behaviors from Time-series Relational Data论文阅读笔记

2. 问题定义 时间序列关系数据(Time Series Relation Data) 这个数据是存放在关系型数据库中,每一条记录都是泰永时间搓的行为。 更具体地,每条记录表示为 x ( v , t , x 1 , x 2 , … , x m − 2 ) x (v,t,x_1,x_2,\dots,x…

【Unity】UI九宫格

什么是九宫格? 顾名思义,九宫格就是指UI切成9个格子,9个格子可以任意拉伸。 1、3、7、9不拉伸。 2、8水平拉伸。 4、6垂直拉伸。 5既可以水平也可以垂直拉伸。 怎么切九宫格? 选中图片,改成Sprite模式,点…

Spark面试整理-Spark的主要组件是什么?

Apache Spark由几个关键组件组成,这些组件共同构成了它强大的数据处理和分析能力。以下是Spark的主要组件: Spark Core:Spark Core是整个Spark平台的基础,提供了基本的I/O功能、任务调度、内存管理、错误恢复等功能。它引入了弹性分布式数据集(RDD),这是Spark的一个基本…

Linux 常用命令汇总(七):进程管理 系统权限 用户授权

一、进程管理命令 1.1 service 1.1.1 介绍 service 是一个在大多数 Linux 发行版中用于管理系统服务的命令 1.1.2 使用方法 sudo service 服务名 [start|stop|restart|status|...] 1.1.3 常见使用案例 1.1.3.1 启动服务 sudo service apache2 start 这将启动名为 apac…

CCF编程能力等级认证GESP—C++5级—20240316

CCF编程能力等级认证GESP—C5级—20240316 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)成绩排序B-smooth 数 参考答案单选题判断题编程题1编程题2 单选…

[flask] flask的基本介绍、flask快速搭建项目并运行

笔记 Flask Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、…

婴儿奶瓶哪个品牌最好?五大热门品牌深度测评推荐

最近很多新手爸妈都在后台私信咨询如何选购婴儿奶瓶,以及要怎么选才能够避雷避坑。为了解答大家的问题,我特地为大家对现在的各种主流款奶瓶进行全面测评。 对于婴儿奶瓶,可能有些新手爸妈觉得随便买买就好,但实际上挑选婴儿奶瓶…

day12-SpringBootWeb 登录认证

一、登录功能 Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;PostMapping("/login")public Result login(RequestBody Emp emp){log.info("员工登录: {}", emp);Emp e empService.login(emp);//登录失败, …

css使用伪类选择器来选择特定模式的元素

在CSS中,伪类选择器用于选择处于特定状态或符合特定条件的元素。以下是一些常用的伪类选择器,它们可以用来选择特定模式的元素: :hover:选择鼠标指针浮动在上面的元素。 a:hover { color: red; }:active:选择并激…

高企认定中科技成果转化是什么呢?

其实,这是一个流程,可以用下面的分段进程来表示:企业开展科研立项—科研立项得到科研结果—科研结果用于产品的生产—新产品品质提高带动了销售的增加。 上面的流程,其实是高企审核的核心,不仅仅关系到了量化打分。更…

负阻尼振荡器仿真模拟

负阻振荡器(Negative resistance oscillator)是利用负阻器件抵消回路中的正阻损耗,产生自激振荡的振荡器。由于负阻器件与回路仅有两端连接,故负阻振荡器又称为“二端振荡器”。 阻尼是指阻碍物体的相对运动、并把运动能量转化为…

NVIDIA 推出地球-2云平台,使用AI超级计算机的模拟技术,预测整个地球的气候变化

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

汇编LOG怎么看

一 汇编中常见的数据类型 C 字符 H 半字 F 全字 D 双字 X 十六进制数 B 二进制数 P 压缩十进制数 Z 非压缩十进制数AREA DS CL4 AREA2 DS 4CL1CL4是一个很常见的定义 类似的还有PL5,XL6 第一个定义保留4 个字节的区域,并将该区域的首地址赋予AREA&#xf…

深入理解 Linux 函数参数

在Linux Shell编程中,函数是一种非常有用的功能,它可以将重复的代码封装起来,提高代码的可重用性和可维护性。在本文中,我们将探讨Linux Shell函数及其参数的相关知识。 函数基础 在Linux Shell中,我们可以使用 func…

new mars3d.layer.GeoJsonLayer({的pupup配置参考

new mars3d.layer.GeoJsonLayer({的pupup配置可选项以及相关效果参考: 说明:popup按属性字段配置,可以是字符串模板或数组 1.popup仅配置{type}{name}等属性的的时候,指显示json文件内数据的type与name,效果如下 相关…

MyBatis核心配置文件:解锁数据之美的密码

MyBatis,这位编程的诗人,通过其独特的核心配置文件,为我们描绘出一幅数据之美的画卷。本篇博客将带你深入探讨MyBatis核心配置文件的奥秘,让你能够更好地理解和运用这个优雅的数据持久化框架。 最近想搞私域,欢迎各位…

【MySQL】8. 基本查询(update/delete/聚合/分组)

表的删改 3. Update 语法: UPDATE table_name SET column expr [, column expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]对查询到的结果进行列值更新 案例: 3.1 将孙悟空同学的数学成绩变更为 80 分 -- 更新值为具体值 -- 查看原数据 SELECT…

开发指南-1:编码技巧与规范开始

目录 实例 1.使用对象代替if及switch 2.使用Array.from快速生成数组 3.使用router.beforeEach来处理跳转前逻辑 4.使用v-if来优化页面加载 5.路由跳转尽量使用name而不是path 6.使用key来优化v-for循环 7.使用computed代替watch 8.统一管理缓存变量 9.使用setTimeout…

【深度学习】训练Stable Diffusion环境

仓库: https://github.com/bmaltais/kohya_ss.git 基础镜像: from kevinchina/deeplearning:sdxllighting_trt_nginx_002api docker run --net host --gpus device0 -e APIWORKS1 -it t1:t1 bash构建环境: sudo -i git clone https://git…