AE控制图层中要素可见状态的几种方法
来源:互联网 发布:8080端口和80端口 编辑:程序博客网 时间:2024/06/06 17:10
原文地址:http://blog.csdn.net/wanliyun2009/article/details/4735534
工作中常有这样的需求,一个作业图层由几个作业员来操作,我们要控制每一个作业员只能看到他负责的区域。作业员的可见区域控制有时候是按空间区域划分,有时候是按照作业属性划分,有时候是属性和区域结合来划分,在程序中应该如何控制呢?本人总结了如下几种可用的方法,不知大家是否有更好的解决方案。
Ø 唯一值符号法
该方法比较简单,就是通过给图层设置一个唯一值符号渲染,把不想显示的要素符号设置为空。虽然简单,这种方法有这很大的局限性,如果我们要控制某一个区域的要素可见状态,该方法无法实现。该方法只适用于按照作业属性控制要素的可见状态。
Ø IFeatureLayerDefinition
该接口可以通过两种方法来控制要素的可见状态。
方法一:
通过该接口的 DefinitionExpression 方法,可以给图层设置一个查询条件,只有符合该查询条件的图层才会显示。例如:我们只想显示图层中 Name 属性为 ’ 北京 ’ 的要素,那么代码如下:
ILayer pLayer = axMapControl1 .get_Layer (0);
IFeatureLayerDefinition pFlDefinition = pLayer as IFeatureLayerDefinition ;
pFlDefinition .DefinitionExpression = "Name = ' 北京'" ;
该方适使用于按照作业属性控制要素的可见状态。
方法二:
通过 CreateSelectionLayer 方法,可以将当前图层中选中的要素生成一个新的图层,生成的新图层中只有原图层的选中要素是可见的。这种方法可以用于控制只显示某一空间范围内的要素。其缺点就是如果我们对在该空间范围内增加了要素之后,新增加的要素是不显示的。
该方适使用于按照作业空间范围控制要素的可见状态。
Ø IGeoFeatureLayer
通过 IGeoFeatureLayer 接口的 ExclusionSet 可以排除图层中的一些要素不可见。 ExclusionSet 属性通过IFeatureIDSet 接口来控制要排除显示的要素,例如我们要控制 FID 为 2 、 5 、 8 的要素不显示。可以用如下代码实现:
ILayer pLayer = axMapControl1 .get_Layer (0);
IGeoFeatureLayer pGeoFl = pLayer as IGeoFeatureLayer ;
IFeatureIDSet pIdSet = new FeatureIDSetClass ();
pIdSet .Add (2);
pIdSet .Add (5);
pIdSet .Add (8);
pGeoFl .ExclusionSet = pIdSet ;
该方法较为灵活,可以用于精确控制可见要素,缺点是无法保存到MXD 中,只能在程序运行时动态进行控制。
- AE控制图层中要素可见状态的几种方法
- AE控制图层中要素可见状态的几种方法
- AE控制图层中要素可见状态的几种方法
- [转载]AE控制图层中要素可见状态的几种方法
- AE中闪烁要素的方两种方法
- 在AE中取得选择要素的方法
- AE +C# 生成环状面要素的方法
- AE + C# 生成环状面要素的方法
- 加载地图数据的几种方法(AE + C#)
- 加载地图数据的几种方法(AE + C#)
- 加载地图数据的几种方法(AE + C#)
- AE中栅格数据的几种渲染方法
- AE获取图层中所有要素
- ArcGIS Engine中删除要素的几种方法总结
- 控制朋友圈好友状态可见性的数据表设计
- AE求要素的包围盒
- Activity状态的几种保存方法
- 控制按键的 几种方法
- 面向对象葵花宝典:思想、技巧与实践(26) - 类模型三板斧
- tomcat服务器启动问题
- 程序内存分配 堆栈
- 关于开源本地化,你有什么建议吗?
- InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
- AE控制图层中要素可见状态的几种方法
- 淡入淡出效果
- C/C++ 开发库 | C/C++ Development Library
- 如何简单的利用nginx实现多个网站的发布
- 宽字符字符串处理函数与普通字符串处理函数对照表
- Hdu 4607 Park Visit 2013多校1 (树的直径)
- IOS检测网络连接状态
- discuz DIY [order]的另类用法实现漂亮的列表分隔
- 2020年苹果或将跌出世界顶级科技公司行列