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. linux学习1----初涉linux

    linux因其稳定高效的特点,受到很多开发者的青睐,因此将其作为服务器的操作系统. 作为一名开发者,程序员,掌握了一定的linux知识和技巧,程序的开发部署和运行也有不小的帮助. linux由于其开源 ...

  2. IIS 身份验证

    IIS 支持以下身份验证模式: 匿名.如果不需要对客户端进行身份验证(或者使用自定义身份验证机制,如窗体身份验证),则可将 IIS 配置为允许匿名访问.在该事件中,IIS 创建一个 Windows 令 ...

  3. HDU 3365 New Ground (计算几何)

    题意:给定点A[0~n-1]和B[0],B[1],A[0].A[1]映射到B[0].B[1],求出其余点的映射B[2]~B[n-1]. 析:运用复数类,关键是用模板复数类,一直编译不过,我明明能编译过 ...

  4. (转)XSS危害——session劫持

    原文地址:http://www.cnblogs.com/dolphinX/p/3403027.html 在跨站脚本攻击XSS中简单介绍了XSS的原理及一个利用XSS盗取存在cookie中用户名和密码的 ...

  5. 微信运动数据抓取(PHP)

    “微信运动”能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据.url类似于:http://hw.weixin.qq.com/steprank/step/personal?openid= ...

  6. C# 判断一个数是不是奇数/偶数

    一般普通版: private bool IsOdd(int num) { ) == ; } 通过判断取余 现在升级版: private bool IsOdd(int num) { ) == ; } 通 ...

  7. Android学习笔记 TextSwitcher文本切换组件的使用

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  8. xp/win7中系统安装memcached服务,卸载memcached服务,以及删除memcached服务

    1.安装到系统服务中: 在doc中:执行此软件 memcached.exe -d install(如果提示错误,要找到cmd.exe用管理员身份打开) 2.卸载: 在doc中:执行此软件 memcac ...

  9. 原生态js,返回至顶部

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 微服务架构下分布式事务解决方案——阿里云GTS

    https://blog.csdn.net/jiangyu_gts/article/details/79470240 1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这 ...