arcgis两张图层不能同时显示_【ArcGIS二次开发】多图层查询要素并单独显示

本文介绍如何在ArcGIS中实现多图层的查询与高亮显示。通过创建SelectionLayer,结合空间和属性条件,动态选取并突出展示各年份的空间数据,以方便比较和分析。
摘要由CSDN通过智能技术生成

需求举例:

如果我们有三年的空间数据存放在三个不同图层中,现在通过编写程序设定好了所需要素的属性条件和空间条件,查询出三个图层中满足这些条件的要素,并高亮显示在已有的地理底图中,便于观察对比。所要达到效果如下图(点击放大)所示:

功能思路:

实现这个功能可以有多种方式:

1. 创建新图层,将选中要素复制到新图层中;

2. 将要素转换为element,然后放到grahicscontainer中,单独显示;

3. 创建临时图层SelectionLayer。

这三种方式中,第一种需要创建要素类、设置坐标参数、属性结构等等,还涉及图层之间的要素拷贝,较为麻烦,第二种方式创建不含属性结构的element,代码上简单一些了,但是当查询量非常大的时候element的管理效率不如feature的高,会导致界面刷新缓慢,用户体验较差,第三种方式是常用的查询显示要素的办法,只不过针对多图层的查询需要通过循环创建多个SelectionLayer,但是这种方式执行效率最高,代码实现也比较容易。

功能实现:

首先,将底图图层、存放空间数据的三个图层加载到工程中,然后底图的visible属性设置为true,其他图层设置为false;

然后,编写函数实现根据设置条件选中指定图层中的要素,并通过要素创建SelectionLayer,函数代码如下:

public static I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值