阅读:4075回复:12
一个查询过滤的问题!环境:vb.net下的独立开发,ArcGis 8.3 问题:想实现ArcMap下的Query功能,即不是要查询并选中出符合条件的要素,而是希望能把MapControl的一个图层只显示其中符合条件的要素,并不要求选中 不知道用什么接口可以实现,我在论坛里找到了一个pLayer.setFilterObject(QueryFilter)可是怎么我在帮助里没有找到咧?请高手指点! ![]() |
|
|
1楼#
发布于:2004-05-26 12:50
你说的setFilterObject是不是arcims里面的接口呀。
|
|
|
2楼#
发布于:2004-05-26 13:11
有可能,我说我怎么在AO里找不到呢! 那我在AO中象实现咋弄咧?多谢! |
|
|
3楼#
发布于:2004-05-26 13:35
我想是不是可以通过Symbology的方式实现,你的图层可以专门建立一个字段用于控制是否显示,选中的要素该字段值为true,未选中的为False (或是1,0,其它的也可以), 在 match to symbols in a style 里设置,就可以只看到符合条件的要素集。 我想应该可以通过编代码实现。只是一个思路。 |
|
|
4楼#
发布于:2004-05-26 13:45
那么复杂啊?比如我的图层有3个feature字段Name分别为a、b、c,我想通过查询只显示a,而不显示b、c,就是ArcMap中的图层的Definition Query功能! match to symbols in a style ?是什么意思啊? ![]() |
|
|
5楼#
发布于:2004-05-26 13:55
哈。图层名称->右键->属性->symbology Tab categories - match to symbols in a style . 我上面是在arcmap中手工实现的,主要是根据某一字段的值,来设定哪些要素显示,哪些要不比不显示。 不一定满足你的要求。 |
|
|
6楼#
发布于:2004-05-26 13:59
过滤是比较简单的了,可以将满足要求的要素过滤出来。主要是过滤出来的要素显示,而不符合过滤条件的要素不显示。 我这方面了解得不多,除了将过滤的要素提取到新的图层外,或(可能)通过symbol方式控制显示与不显示外,我还想不到其它的办法。 也不清楚AO里是否有现成的接口。 |
|
|
7楼#
发布于:2004-05-26 14:03
图层名称->右键->属性->symbology Tab
categories 里那三个选项都可以的。不一定非得match to symbols in a style . 如果你想试下这种方法可以参照帮助中的: IUniqueValueRenderer ExampleUniqueValueRenderer Example Paste this VBA code into a map with at least one feature layer: Creates a UniqueValueRenderer, sets its properties, applies it to the GeoFeatureLayer, and refreshes the the map.
[此贴子已经被作者于2004-5-26 14:04:42编辑过] |
|
|
8楼#
发布于:2004-05-26 14:29
多谢提示,IUniqueValueRenderer我已经用过了,用于地图的自动分块上色,没有想到的是它其中的pQueryFilter 可以起到我要的作用!现在功能已经实现了,但是我总是怀疑是不是弄得太复杂了!呵呵! ![]() ![]() |
|
|
9楼#
发布于:2004-05-26 14:47
实现就好。哈。。 处理问题的原则是先解决问题,再找解决问题更好的办法。 AO里面的接口太多了。 ![]() |
|
|