本文共 1489 字,大约阅读时间需要 4 分钟。
本章将介绍如何在QGIS中使用矢量图层面要素单一符号中的箭头线渲染边界。通过实际案例和代码实现,详细说明如何实现箭头线渲染边界的效果。
Outline: Arrow
系列符号用于绘制矢量图层的边界,不会填充图形内容。以下以protected_areas.shp
为例,说明其符号设置方式。
图示说明:
在图层符号设置为Simple Fill
时,默认显示为实心填充图形。 为了实现箭头线渲染边界,可以按照以下步骤进行设置:
设置步骤:
符号层类型设置:
Symbol Layer
选项。Outline: Arrow
作为符号层类型。符号属性设置:
图示说明:
以下为Outline: Arrow
符号的详细属性设置界面。 为了实现箭头线渲染边界,可以通过以下代码实现:
代码实现步骤:
#include#include #include #include void MainWindow::polygonOutlineArrowSlot() { // 添加测试图层 QString filename = "maps/shapefile/protected_areas.shp"; QFileInfo ff(filename); QgsVectorLayer* layer = (QgsVectorLayer*)mApp->addVectorLayer(filename, ff.baseName()); zoomToFirstLayer(layer); // 创建渲染器 QgsFeatureRenderer* layerRenderer = layer->renderer(); QgsSingleSymbolRenderer* singleSymbolRenderer = QgsSingleSymbolRenderer::convertFromRenderer(layerRenderer); // 创建箭头符号层 auto arrowSymbolLayer = new QgsArrowSymbolLayer(); // 创建填充符号 QgsSymbolList symbolList; symbolList.append(arrowSymbolLayer); auto fillSymbol = new QgsFillSymbol(symbolList); singleSymbolRenderer->setSymbol(fillSymbol); layer->setRenderer(singleSymbolRenderer);}
fillSymbol
应用到图层渲染器中。效果展示:
设置完成后,图层将以箭头线的形式显示边界。通过以上方法,我们可以轻松实现矢量图层面要素单一符号中的箭头线渲染边界效果。QGIS提供的Outline: Arrow
符号层类型,使得实现边界渲染变得简单高效。
转载地址:http://gygfk.baihongyu.com/