当前位置: 首页 > news >正文

澳门私人做网站网络推广服务商

澳门私人做网站,网络推广服务商,校园二手交易网站开发,宽屏网站背景文章目录 前言单一符号(Single symbol)渲染简单标记(Simple Marker)QGis代码实现 SVG标记(SVG marker)QGis代码实现 总结 前言 上一篇教程对矢量图层符号化做了一个整体介绍,并以点图层为例介绍了可以使用的渲染器&am…

文章目录

  • 前言
  • 单一符号(Single symbol)渲染
    • 简单标记(Simple Marker)
      • QGis
      • 代码实现
    • SVG标记(SVG marker)
      • QGis
      • 代码实现
  • 总结

前言

  • 上一篇教程对矢量图层符号化做了一个整体介绍,并以点图层为例介绍了可以使用的渲染器:
    • 无符号(No symbols)
    • 单一符号(Single symbol)
    • 分类(Categorized)
    • 分级(Graduated)
    • 基于规则(Rule-based)
    • 点分布(Point displacement)
    • 点聚合(Point cluster)
    • 热度图(Heatmap)
  • 本篇介绍如何使用单一符号
  • 说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps

单一符号(Single symbol)渲染

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

简单标记(Simple Marker)

Simple marker symbol layer, consisting of a rendered shape with solid fill color and an stroke.

  • 简单标记是指使用一些简单的几何形状作为标记,并可以设置其填充颜色和画笔颜色

QGis

  • 将Symbol layer type设置为简单标记图层(Simple marker Layer),属性设置见下图
    在这里插入图片描述
    在这里插入图片描述

代码实现

  • QgsSimpleMarkerSymbolLayer类是简单标记图层(Simple marker Layer),类图如下
    在这里插入图片描述
  • 其构造函数如下,构造函数的参数是其对应的参数
QgsSimpleMarkerSymbolLayer (Qgis::MarkerShape shape=Qgis::MarkerShape::Circle, double size=DEFAULT_SIMPLEMARKER_SIZE, double angle=DEFAULT_SIMPLEMARKER_ANGLE, Qgis::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD, const QColor &color=DEFAULT_SIMPLEMARKER_COLOR, const QColor &strokeColor=DEFAULT_SIMPLEMARKER_BORDERCOLOR, Qt::PenJoinStyle penJoinStyle=DEFAULT_SIMPLEMARKER_JOINSTYLE)
  • 设置点符号为简单标记的步骤如下
  1. 首先从图层获取renderer,并转换为Single Symbol Renderer代码如下
QgsFeatureRenderer * layerRenderer= layer->renderer();
QgsSingleSymbolRenderer *singleRenderer = QgsSingleSymbolRenderer::convertFromRenderer(layerRenderer);
  1. 构造简单标记层(Simple Marker SymbolLayer),代码如下
auto markerSymbolLayer = new QgsSimpleMarkerSymbolLayer(Qgis::MarkerShape::Heart,4.0);
QgsSymbolLayerList layerList;layerList << markerSymbolLayer;
  1. 构造Marker Symbol,并为renderer设置symbol 代码如下
    auto markerSymbol = new QgsMarkerSymbol(layerList);singleRenderer->setSymbol(markerSymbol);layer->setRenderer(singleRenderer);

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

SVG标记(SVG marker)

provides you with images from your SVG paths to render as marker symbol.
Each SVG file colors and stroke can also be adapted.

  • svg标记是指使用svg图片作为标记,可以设置svg的填充颜色和画笔颜色

QGis

  • 将Symbol layer type设置为SVG标记(SVG marker),属性见下图
    在这里插入图片描述
    在这里插入图片描述

代码实现

  • QgsSvgMarkerSymbolLayer类是SVG标记图层(SVG marker layer),类图如下
    在这里插入图片描述
  • 其构造函数如下,构造函数的参数是其对应的参数
QgsSvgMarkerSymbolLayer (const QString &path, double size=DEFAULT_SVGMARKER_SIZE, double angle=DEFAULT_SVGMARKER_ANGLE, Qgis::ScaleMethod scaleMethod=DEFAULT_SCALE_METHOD)
  • 设置点符号为svg标记的步骤如下
  1. 首先从图层获取renderer,并转换为Single Symbol Renderer代码如下
QgsFeatureRenderer * layerRenderer= layer->renderer();
QgsSingleSymbolRenderer *singleRenderer = QgsSingleSymbolRenderer::convertFromRenderer(layerRenderer);
  1. 构造Svg标记层(Svg Marker SymbolLayer),代码如下
    //构造Svg标记层(Svg Marker SymbolLayer)方法一//作为示例,用到了path和size两个参数,其他参数使用类似QString path = QStringLiteral("resources/plane.svg");auto markerSymbolLayer = new QgsSvgMarkerSymbolLayer(path,4.0);
  1. 构造Marker Symbol,并为renderer设置symbol 代码如下
	//QgsMarkerSymbol构造函数中需要传入QgsSymbolLayerList//多个Symbol Layer构成一个SymbolQgsSymbolLayerList layerList;layerList << markerSymbolLayer;auto markerSymbol = new QgsMarkerSymbol(layerList);singleRenderer->setSymbol(markerSymbol);layer->setRenderer(singleRenderer);

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

总结

  • 分别介绍了点图层使用单一符号,设置为简单标记和svg标记的方法
http://www.hkea.cn/news/340953/

相关文章:

  • 海曙区住房和建设局网站备案域名
  • 网站建设硬件环境志鸿优化设计答案
  • 网页游戏网址推荐宁波网站推广网站优化
  • 福建就福建省住房与城乡建设厅网站高端网站建设企业
  • 网站如何做seo规划app怎么开发出来的
  • 吴江住房和城乡建设局官方网站产品软文是什么
  • 公司网站制作设谷歌seo是什么职业
  • 北京品牌高端网站建设公司燕郊今日头条
  • 网站制作公司徐州宁波网站seo哪家好
  • 做网站基本费用大概需要多少全媒体运营师报考官网在哪里
  • 网站建设款属于什么科目营业推广策划
  • 建设网站查证书网络广告有哪些形式
  • 分布式网站开发网络销售平台排名
  • 网站建设模板购买品牌seo培训
  • 深圳网站建设 cms网站推广交换链接
  • 标准物质网站建设5118站长工具箱
  • 做一个能注册用户的网站网络推广费用大概价格
  • 网站建设评价东莞谷歌推广
  • php网站后台进不去百度推广入口官网
  • 个人网站一键生成免费推广网站有哪些
  • 厦门做网站设计电商seo优化
  • wordpress视频点播seo技术是干什么的
  • 网站推广是怎么做的网络营销专业如何
  • 平面设计线上兼职上海网站seo
  • 个性化网站定制价格今日热点
  • 做网站的艰辛免费个人网站申请
  • 网站改版需要多久网站设计与制作毕业论文范文
  • 深圳横岗网站建设网站建设的推广渠道
  • 有没有什么网站免费做名片2023年新闻小学生摘抄
  • 新网金商网站外链查询工具