发表用户:讨论贴
收集整理:James.Liu
相关讨论:http://www.mygis.com.cn/forum/dispbbs.asp?BoardID=4&ID=6368
信息原始来源:James MapInfo技术论坛

文章标题:在结果图元集中再次查找 怎么实现?

watanong

现在又一问题不能解决了。
首先定义了一个图元集(ftrs1),存储了用layer.seach查找出来的图元。

那么怎么样查找出ftrs1中字段name="ww"的图元的集合(ftrs2)呢?


也就是说有没有方法、属性能够在图元集合中二次查找出符合条件的图元集?

James.Liu

三个可行方法:
1.推荐,用common合并结果集合
   Set usaLayer = Map1.Layers.Item("USA")
   Set ftrs = usaLayer.Search(condition1)
   ftrs.Common usaLayer.Search(contition)
最后得到的ftrs是两个条件集合的交集

2. 查询时先合并条件
   Set usaLayer = Map1.Layers.Item("USA")
   Set ftrs = usaLayer.Search(condition1 and condition2)

3.一个土办法
   Set usaLayer = Map1.Layers.Item("USA")
   Set ftrs = usaLayer.Search(condition1) 
   for each ftr in ftrs
      if (condition2) then
          ftrsnew.add ftr
      end if
   end