网站建设有哪三部,wordpress写了文章 文章无法打开,增加访客的网站,wordpress导航小图标文章目录 前言符号化与图层渲染符号符号层渲染器 总结 前言 地图制图是QGIS的优势所在#xff0c;QGIS包含完整的地图制图功能#xff0c;如标注与注记、符号化与地图综合等多种功能。 符号化#xff08;Symbolization#xff09;是指利用符号将地理事物或现象抽象化。 QGi… 文章目录 前言符号化与图层渲染符号符号层渲染器 总结 前言 地图制图是QGIS的优势所在QGIS包含完整的地图制图功能如标注与注记、符号化与地图综合等多种功能。 符号化Symbolization是指利用符号将地理事物或现象抽象化。 QGis中符号设置详细说明见qgis用户手册中The Symbol Selector章节下图是使用qgis c api 进行二次开发后设置矢量图层数据符号化的示例 说明文章中的示例代码均来自开源项目qgis_cpp_api_apps
符号化与图层渲染
要实现矢量图层数据符号化需要三个类符号(QgsSymbol)符号层(QgsSymbolLayer)和图层渲染器(QgsFeatureRenderer)以下对这三个类分别介绍
符号
符号用于在地图上显示地理要素qgis中地理要素分为点、线和面三类对应的符号也分三类Marker Symbol、Line Symbol和Fill Symbol分别由以下类表示 符号(QgsSymbol)有大小、颜色、透明度等属性在qgis软件打开图层属性-符号化页面可以设置符号如下图Marker是符号(QgsSymbol)。而两个Simple Marker是符号层(QgsSymbolLayer)
符号层
符号(QgsSymbol)由一到多个符号层(QgsSymbolLayer)构成QgsSymbol的构造函数如下
QgsSymbol (Qgis::SymbolType type, const QgsSymbolLayerList layers)由构造函数可见多个QgsSymbolLayer组成QgsSymbol对应地理要素的点线面符号层也有三类如下图 符号层需要设置其大小、颜色等属性如下图 符号层的种类有多种如下图 Symbol layer type可选项如下 动画标记Animated marker椭圆形标记Ellipse marker填充圆形标记Filled marker字符标记Font marker几何生成器Geometry generator掩膜Mask marker图片Raster Image marker简单标记Simple markerSVG标记SVG marker矢量字段标记Vector field marker 其对应的类图如下 由一个或多个符号层构建符号后使用渲染器(QgsFeatureRenderer)渲染后显示在地图上。
渲染器 点线面的渲染器类型不同这里以点图层渲染器为例 在点要素图层的图层属性中选择“Symbology”选项卡即可在最上方的下拉菜单中选择符号化类型。 qgis中默认使用单一符号渲染器(Single Symbol)可选择的渲染器如下图 无符号No symbols不显示该图层要素。单一符号Single symbol统一设置要素符号方案分类Categorized根据类型属性表的离散变量设置不同的符号方案。分级Graduated根据数值大小数据表的连续变量利用配色方案Color ramp设置不同的颜色。基于规则Rule-based在不同的规则表达式筛选、特定的分辨率下使用不同的符号方案。点分布Point displacement点要素过于密集时将距离近的符号偏移原位置提高地图可读性。点聚合Point cluster点要素过于密集时将距离近的符号聚合提高地图的可读性。热度图Heatmap用颜色代表点密度用于表现点要素出现集中性的地图。 渲染器对应的类如下图
总结
分别介绍了实现符号化的三个父类QgsSymbol,QgsSymbolLayer和QgsFeatureRenderer