1. 功能简介

符号选择器可以根据不同的需求进行改变图层的符号形状以及颜色,下面基于PIE SDK介绍如何使用符号选择器。

2. 功能实现说明

2.1.  实现思路及原理说明

第一步

加载图层

第二步

判断图层的符号类型

第三步

对话框里显示当前对应符号类型的符号界面

第四步

将选中的符号进行渲染,并显示

2.2. 核心接口与方法

接口/类

方法/属性

说明

PIE.AxControls. SymbolSelectorDialog

Symbol

获取或设置符号

GeometryType

GetGeomType()

获取类型

IFeatureUniqueValueRender

DefaultSymbol

获取或设置默认符号

IFeatureLayer

Render

获取或设置矢量图层渲染

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/12.通用功能/04符号样式选择器

数据路径

百度云盘地址下/PIE示例数据/矢量数据/Shape/省级行政区.shp

视频路径

百度云盘地址下/PIE视频教程/12.通用功能/04符号样式选择器.avi

示例代码

         /// <summary>
/// 打开样式选择器
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_OpenSymbolSelector_Click(object sender, EventArgs e)
{
SymbolSelectorDialog symbolSelectDialog = new SymbolSelectorDialog();
//1.获取要操作的图层
IMap map = mapControlMain.FocusMap;
IFeatureLayer featureLayer = map.GetLayer() as IFeatureLayer;
//2.判断图层的类型
GeometryType geoType = featureLayer.FeatureClass.GetGeomType();
ISymbol currentSymbol = null; switch (geoType)
{
case GeometryType.GeometryPoint:
currentSymbol = new SimpleMarkerSymbol();
break;
case GeometryType.GeometryPolygon:
currentSymbol = new SimpleFillSymbol();
break;
case GeometryType.GeometryPolyline:
currentSymbol = new SimpleLineSymbol();
break;
case GeometryType.GeometryUnknown:
break;
default:
break;
}
if (currentSymbol != null)
{
//3.对话框显示当前图层的类型符号
symbolSelectDialog.Symbol = currentSymbol;
if (symbolSelectDialog.ShowDialog() != ) return;//判断ok还是取消 //4.将选中的符号进行渲染
ISymbol selectSymbol = symbolSelectDialog.Symbol;
//IFeatureRender featureRender = featureLayer.Render;
IFeatureUniqueValueRender render = new FeatureUniqueValueRender();
render.DefaultSymbol = selectSymbol;
featureLayer.Render = render as IFeatureRender;
mapControlMain.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
}

2.4. 示例截图

PIE SDK符号选择器的更多相关文章

  1. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  2. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  3. PIE SDK矢量数据简单渲染

    1. 功能简介 PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类. 目前PIE SDK中针对矢量数据渲染包括简单渲染.唯一值渲染.分级渲染.自定义渲染:针对栅格数据渲染包括拉伸渲染.R ...

  4. PIE SDK矢量自定义渲染

    1. 功能简介 PIE SDK中关于矢量渲染提供了多种方案,包括简单渲染.分级渲染.唯一值渲染,这几种渲染方式具有一定的通用性,可以满足用户绝大多数的需求. 当面对复杂的业务,当前渲染方案无法满足用户 ...

  5. PIE SDK点元素的绘制

    1. 功能简介 在数据的处理中会用到点元素的绘制,目前PIE SDK支持IMarkerSymbol的点元素的绘制,MarkerSymbol对象是用于修饰点状对象的符号,它包括ArrowMarkerSy ...

  6. PIE SDK线元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持ILineSymbol的线元素的绘制,LineSymbol对象是用于修饰线状对象的符号,它包括CartographicLineS ...

  7. PIE SDK面元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持IFillSymbol接口,FillSymbol对象是用于修饰填充面状对象的符号,它包括MarkerFillSymbol(由点状 ...

  8. PIE SDK文本元素的绘制

    1. 功能简介 在数据的处理中会用到文本元素的绘制,利用ITextElement文本元素接口进行绘制,目前PIE SDK支持ITextSymbol符号接口,TextSymbol对象是用于修饰文字元素对 ...

  9. PIE SDK临时元素的绘制

    1. 功能简介 在数据的处理中会用到临时元素的绘制,用于当前显示:临时元素包括点.线.面.文本.图片五种元素:目前PIE SDK支持这五种元素的绘制,下面对五种临时元素的绘制功能进行介绍. 2. 功能 ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质

    建议39:了解委托的实质 理解C#中的委托需要把握两个要点: 1)委托是方法指针. 2)委托是一个类,当对其进行实例化的时候,要将引用方法作为它的构造方法的参数. 设想这样一个场景:在点对点文件传输过 ...

  2. Floyd-Warshall求图中任意两点的最短路径

    原创 除了DFS和BFS求图中最短路径的方法,算法Floyd-Warshall也可以求图中任意两点的最短路径. 从图中任取两点A.B,A到B的最短路径无非只有两种情况: 1:A直接到B这条路径即是最短 ...

  3. 那些年我们追过的SQL

    SQL是大学必修课程之一二维表结构,看着就是一种美感. 针对近期感情,聊一聊,在平时容易犯的一个错误,看看你是不是中枪了. 我们还是选用传统的student表(请不要考虑表的结构是否合理)ID     ...

  4. 平台播放声音(ext.js)

    首先把需要的两个js文件放在public/core路径下 (文件已经上传到博客了) 音频文件放在文件一级目录 代码:JxCustom.loadAudio("wav/NG.wav") ...

  5. C语言/C++编程学习三种循环用法和区别

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  6. jquery.validate弹窗验证

     $(document).ready(function () { //开始验证        $("#form1").validate({            submitHan ...

  7. .net core .NET Core与.NET Framework、Mono之间的关系

    .NET Core与.NET Framework.Mono之间的关系 首先想要知道.NET Core与.NET Framework.Mono之间的关系,就必须他们分别是什么,有什么用途? 一. .ne ...

  8. 【大数据之数据仓库】GreenPlum PK DeepGreen(TPCH)

    1.背景 一张UML类图可以简单的说明GreenPlum和DeepGreen之间的关系: GreenPlum: 主页:http://greenplum.org/ 源码:开源,https://githu ...

  9. windows下安装newman

    1.下载安装node.js,下载地址::https://nodejs.org/en/download/,这里我下载的为v10.15.0-x64.msi,下载后直接安装即可,安装完后可输入node -v ...

  10. spring 学习(二):spring bean 管理--配置文件和注解混合使用

    spring 学习(二)spring bean 管理--配置文件和注解混合使用 相似的,创建 maven 工程,配置pom.xml 文件,具体可以参考上一篇博文: sprint 学习(一) 然后我们在 ...