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. 2.3.2 volatile 说明

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  2. Java反射学习:深入学习Java反射机制

    一.Java反射的理解(反射是研究框架的基础之一) Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的 ...

  3. wc.exe C++实现

    目录 Github项目地址 PSP表格 解题思路 设计实现过程 测试运行 项目小结 Github项目地址 wc-project PSP表格 PSP2.1 Personal Software Proce ...

  4. js Date 生成某年某月的天数

    $(function () { //构造一个日期对象: var day = new Date(2014, 2, 0); //获取天数: var daycount = day.getDate(); al ...

  5. 关于CS0016: Could not write to output file ‘c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary AS

    1.添加用户"Network Service” 和 “IIS_IUSERS” 读下面目录的读写权限 a) C:\Windows\Temp b) C:\Windows\Microsoft.NE ...

  6. ASP.Net UpdatePanel控件 局部刷新 && 弹出提示信息

    参考博客: https://blog.csdn.net/qq_35019337/article/details/69972552 https://blog.csdn.net/huangyezi/art ...

  7. LoadRunner监控Linux条件和解决方法

    注:内容来自网络 需要下载3个包: (1)rsh-0.17-14.i386.rpm (2)rsh-server-0.17-14.i386.rpm (3)rpc.rstatd-4.0.1.tar.gz ...

  8. 如何解决diff: /../Podfile.lock: No such file or directory 的问题

    1.问题描述 之前碰到过此类问题,原因是之前用了测试版本的pod,然后回归正式版本,导致找不到pod文件 diff: /../Podfile.lock: No such file or directo ...

  9. renturn 错误

    package ui.cfg; import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.JButton ...

  10. webservice怎么给对方提供报文,即wsdl文件

    1.webservice发布后在网页打开服务,点击服务说明 2.打开这样一个页面,ctrl+s保存网页,后缀改为wsdl,搞定