8.3 矢量图层点要素单一符号使用六

这篇具有很好参考价值的文章主要介绍了8.3 矢量图层点要素单一符号使用六。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 上一篇教程介绍了矢量图层点要素单一符号中几何生成标记的用法
  • 本章继续介绍单一符号中各种标记的用法
  • 说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps

单一符号(Single symbol)渲染

  • qgis默认使用单一符号、简单标记(Simple Marker)进行渲染,以places_33S.shp为例,添加places_33S图层后,默认显示如下图
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发
  • 在点要素图层的图层属性中,选择“Symbology”选项卡,可以看到默认显示,如下图
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发
  • 除简单标记(Simple Marker)外,还有其他多种选择如下图
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发

矢量字段标记(Vector field marker)

The vector field marker is used to display vector field data such as earth deformation, tidal flows, and the like. It displays the vectors as lines (preferably arrows) that are scaled and oriented according to selected attributes of data points. It can only be used to render point data; line and polygon layers are not drawn by this symbology.
The vector field is defined by attributes in the data, which can represent the field either by:

  • cartesian components (x and y components of the field)
  • or polar coordinates: in this case, attributes define Length and Angle. The angle may be measured either clockwise from north, or Counterclockwise from east, and may be either in degrees or radians.
  • or as height only data, which displays a vertical arrow scaled using an attribute of the data. This is appropriate for displaying the vertical component of deformation, for example.
  • 矢量场标记用于显示矢量场数据,如地球变形、潮汐流等。它以线(最好箭头)的形式显示矢量,并根据选定数据点的属性进行缩放和定向。
  • 它只能用于渲染点数据;线和多边形图层不使用此符号绘制。
  • 矢量场由数据中的属性定义,可以代表以下领域的矢量场:
    • 笛卡尔分量(场的x和y分量)
    • 极坐标:在这种情况下,属性定义长度和角度。角度可以以北方向为基准顺时针测量,也可以以东方向为基准逆时针测量,可以是度数或弧度。
    • 仅高度数据,显示一个垂直箭头,使用数据的一个属性进行缩放。例如,这对于显示变形的垂直分量是适当的。

QGis

矢量字段标记用于显示矢量场数据,例如地震变形、潮汐流等。它以线(最好是箭头)的形式显示矢量,这些线根据数据点的选定属性进行缩放和定向。它只能用于渲染点数据;该符号不绘制线条和多边形图层。

  • 将Symbol layer type设置为矢量字段标记(Vector field marker),属性见下图
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发
  • X attribute和Y attribute分别是图层中的数据,如下图
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发

代码实现

  • QgsVectorFieldSymbolLayer类是矢量字段标记图层(Vector field marker layer),类图如下
    8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发
  • QgsVectorFieldSymbolLayer成员函数setXAttribute setYAttribute成员函数用于设置字段名称
  • 代码实现设置图层符号步骤如下
  1. 首先从图层获取renderer,并转换为Single Symbol Renderer代码如下
QgsFeatureRenderer * layerRenderer= layer->renderer();
QgsSingleSymbolRenderer *singleRenderer = QgsSingleSymbolRenderer::convertFromRenderer(layerRenderer);
  1. 构造函数创建矢量字段标记图层(Vector field marker layer),设置属性
    auto markerSymbolLayer = new QgsVectorFieldSymbolLayer();
    markerSymbolLayer->setXAttribute(QStringLiteral("IN_SWD"));
    markerSymbolLayer->setYAttribute(QStringLiteral("IS_TOWN"));
    markerSymbolLayer->setScale(10.0);
  1. 构造Marker Symbol,并为renderer设置symbol 代码如下
	//QgsMarkerSymbol构造函数中需要传入QgsSymbolLayerList
    //多个Symbol Layer构成一个Symbol
    QgsSymbolLayerList layerList;
    layerList << markerSymbolLayer;
    auto markerSymbol = new QgsMarkerSymbol(layerList);
    singleRenderer->setSymbol(markerSymbol);
    layer->setRenderer(singleRenderer);

8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发
8.3 矢量图层点要素单一符号使用六,qgis二次开发,qgis二次开发文章来源地址https://www.toymoban.com/news/detail-739106.html

总结

  • 分别介绍了矢量字段标记(Vector field marker)在qgis软件和二次开发代码中的用法

到了这里,关于8.3 矢量图层点要素单一符号使用六的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 全新CorelDRAW2023最新版矢量图软件功能简介

    全新CorelDRAW2023最新版矢量图软件功能简介

    CorelDRAW2023简介 :设计绘画 CorelDraw 是一个绘图与排版的软件,它广泛地应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等诸多领域。 作为一个强大的绘图软件,它被喜爱的程度可用下面的事实说明:用作商业设计和美术设计的PC机几乎都安装了CorelDraw!

    2023年04月09日
    浏览(15)
  • uni-app引用外部图标库(阿里矢量图)

    uni-app引用外部图标库(阿里矢量图)

    作为前端程序员,nui-app是必备的,但是有时候内置的图标,组件又不完全满足,这里就可以引进外部图标,这里引用的是阿里矢量图标 第一步,在项目目录中新建文件夹,如图 第二步,登上阿里矢量图官网,将自己需要的图片先加入购物车,再点击右上角购物车    第三部

    2024年02月14日
    浏览(16)
  • WPF-UI HandyControl 控件简单实战+IconPacks矢量图导入

    WPF-UI HandyControl 控件简单实战+IconPacks矢量图导入

    因为HandyControl 的功能非常的丰富,我打算完整的了解一下HandyControl 整个控件的基本使用,而且我的网易云WPF项目也打算用UserControl 进行重构 WPF-UI HandyControl 简单介绍 HandyControl Visual Studio 插件 HandyControl Github地址 HandyControl 官方中文文档 HandyControl 实战Gitee仓库 我们下载了Han

    2024年02月02日
    浏览(57)
  • arcgis 栅格数据处理2——栅格转地级市(栅格转矢量图)

    arcgis 栅格数据处理2——栅格转地级市(栅格转矢量图)

    选中“自定义”中的“扩展模块” 在弹出的模块中选中能选的模块,此处需要选择“spatial analysis”以进行下一步分析 选中并输出栅格 注意是否需要“简化面” 按照需求选择平均值,或者总和等 conversion tools ——表转excel

    2024年03月11日
    浏览(27)
  • Python基于Excel生成矢量图层及属性表信息:ArcPy

    Python基于Excel生成矢量图层及属性表信息:ArcPy

      本文介绍基于 Python 中 ArcPy 模块,读取 Excel 表格数据并生成带有 属性表 的 矢量要素图层 ,同时配置该图层的 坐标系 的方法。   首先,我们来明确一下本文所需实现的需求。   现有一个记录 北京市部分PM2.5浓度监测站点 信息的 Excel 表格数据,格式为 .xls ;文件

    2024年03月20日
    浏览(42)
  • 将Matlab图窗中的可视化保存为背景透明的矢量图

    将matlab绘制的结果复制为矢量图时,去除背景的操作如下: 先打开/绘制图形窗口(不要关闭) 在命令行终端输入 axis off 关闭坐标系 继续在命令行终端分别输入: ax = gca; copygraphics(ax,\\\'ContentType\\\',\\\'vector\\\',\\\'BackgroundColor\\\',\\\'none\\\'); 此时,背景透明的矢量图就保存在系统 剪贴板 上了,详

    2024年01月21日
    浏览(12)
  • 矢量图斑局部狭长判断和定位局部狭长部分(PostGIS、Java、C#实现)

    矢量图斑局部狭长判断和定位局部狭长部分(PostGIS、Java、C#实现)

    矢量数据在数据采集过程中由于数据处理导致出现局部狭窄的面状部分,如下图 狭长结构是指图斑几何形态上窄而长的部分,符号化后出现图形粘连压盖现象,导致难以在图面上清晰地表达出来。因此,依据地图表达比例尺因素需要对狭长结构进行融解处理。在遥感影像提取的地

    2023年04月23日
    浏览(16)
  • 优化MATLAB中quiver函数绘制箭头图或矢量图(1)-MATLAB开发

    优化MATLAB中quiver函数绘制箭头图或矢量图(1)-MATLAB开发

    Matlab的基本数据单位是矩阵,利用Matlab可以较方便得绘制向量分布图,比如空气流的采样数据;函数的梯度;曲面的法线向量等等。Matlab自带的quiver和quiver3函数可以满足这一需求,但是箭头的箭型较为简单,这里主要目的即是进一步绘制更好看的矢量图。 Matlab中自带的quiv

    2023年04月21日
    浏览(12)
  • draw.io导出矢量图到word报错text is not svg - cannot display

    draw.io导出矢量图到word报错text is not svg - cannot display

    先参考https://blog.csdn.net/a625750076/article/details/126384831 如果不行,可能是转存的问题 解决方法:直接在draw.io上操作 第一步 第二步 然后再word中粘贴,依旧是矢量图哦!

    2024年02月12日
    浏览(12)
  • 怎么把word里面的彩色图转化为灰度图,直接在word里面操作,无需转其他软件,超简单!(位图和矢量图都可以)

    怎么把word里面的彩色图转化为灰度图,直接在word里面操作,无需转其他软件,超简单!(位图和矢量图都可以)

    Microsoft Office Word是微软公司的一个文字处理器应用程序。它最初是由Richard Brodie为了运行DOS的IBM计算机而在1983年编写的。随后的版本可运行于Apple Macintosh (1984年)、SCO UNIX和Microsoft Windows (1989年),并成为了Microsoft Office的一部分。 Word给用户提供了用于创建专业而优雅的文档工具

    2024年02月05日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包