随笔分类 - Qt+QGIS二次开发
摘要:1 概述临时图形Rubberband主要用于高亮显示、交互绘制等情况下。2 原理临时图形是在一个底色透明的图层(顶层)上,添加已有的几何元素或者创建一个几何元素(临时图形),可以设置相应的样式,并在图层的最上层叠加显示。3 使用方法QgsRubberBand用于显示临时图形。可以显示点、线、面等所有
阅读全文
摘要:在GIS领域,有两种重要的查询操作,图查属性和属性查图。 本文主要介绍如何在QGIS中通过从QgsMapToolIdentify中派生自定义类实现查询矢量数据的属性字段值(图查属性)。 重点参考资料: 1、QGis二次开发基础 -- 属性识别工具的实现 2、QGis(三)查询矢量图层的要素属性字段值
阅读全文
摘要:1 概述矢量图层内矢量元素组成,矢量图层的加载由驱动实现,驱动必须实现对矢量图层内元素的读写操作功能。 2 原理矢量元素包含几何和属性两部分组成。几何部分用于提供图形相关内容。属性部分提供与几何相关联的属性内容。属性包含属性名和属性值。 3 方法QgsFeature是矢量元素的抽象。QgsGeome
阅读全文
摘要:添加一个新的字段到shp文件中,并且从Excel里导入数据到该字段。原shp文件里的字段ID应该与Excel里的字段ID一一对应才能正确的导入。下图分别是shp的字段和Excel的字段 将class字段添加到shp中去: (1)从Excel中读取数据(为了读取方便,存为.csv或者txt文件) 返回
阅读全文
摘要:1 概述鼠标在地图上移动,需要实时获取当前坐标位置。2 原理从当前位置获取视口坐标后,实时转换为地图坐标。3 方法处理鼠标位置,必须获取鼠标的当前坐标。但是Qt的鼠标事件由QgsMapCanvas处理。因此,想要显示其坐标,必须由QgsMapCanvas提供支持。QgsMapCanvas中包含一个信
阅读全文
摘要:原文链接:QGis二次开发基础 -- 矢量图层的显示样式
阅读全文
摘要:项目(QgsProject) 用于读写项目状态 图层分组(QgsLayerTreeGroup) 项目树的分组节点,用来存放图层节点。 图层节点(QgsLayerTreeLayer) 项目树的图层节点。 图层(QgsMapLayer ) QgsMapLayer 为所有图层类型的基类。QgsPlugin
阅读全文
摘要:原文链接: 1、qgis二次开发环境搭建(超级详细) 2、QGIS开发教程(1)——QGIS开发准备工作 3、QGIS(2.18.15 源码)+Qt(5/5.9.3)+VS2015(X64)编译
阅读全文
摘要:开发环境:Win10 + VS2010 + Qt 4.8.6 + QGis 2.14.4 其实本文实现的功能类似于QGis中“添加文本数据图层”的一个简化版,本文不会涉及到对话框的使用,不通过与用户互交的方式创建要素,而是直接通过代码方式添加点要素,起到一个抛砖引玉的作用。 (一)先将整个流程大概梳
阅读全文
摘要:1 概述地理实体抽象是指点、线、面及其组合而成的,用于描述实际地物的数据结构。其中包含几何实体和属性数据。GIS中进行几何操作,以各种实体类为基础进行操作。在OGC中,地理实体可以由WKT表示。在Qgis中使用GEOS和WKT两种方式表示,并在逐步将GEOS全部转化为WKT表示。在内存中,以WKB格
阅读全文
摘要:一、加载栅格图像 加载栅格图像的详细步骤在下面代码里: 二、加载矢量图层 加载矢量图层跟栅格图层差不多的步骤,这里矢量图层指的是shp文件。具体代码如下: 参考链接: 1、QGis(一)加载栅格图层和矢量图层 2、Qgis开发3-加载矢量、栅格图层 3、QGis 二次开发基础 -- 显示数据
阅读全文
摘要:不过多的废话了,直接上源码: 参考链接: 1、QGis C++ 开发之图层分类显示 2、QGis二次开发基础 -- 矢量图层的显示样式
阅读全文