问题描述
IGeometrypGeometry=m_MapControl.TrackPolygon()asIGeometry;ISpatialFilterpSpatialFilter=newSpatialFilterClass();pSpatialFilter.Geometry=pGeometry;pSpatialFilter.SpatialRel=esriSpatialRelEnum.esriSpatialRelContains;for(inti=0;i<pListLayer.Count;i++){IFeatureClasspFeatureClass=pListLayer[i].FeatureClass;IFeatureCursorpFeatureCursor=pFeatureClass.Search(pSpatialFilter,false);IFeaturepFeature=pFeatureCursor.NextFeature();//intIndex=m_Feature.Fields.FindField("STANO");while(pFeature!=null){m_Feature=pFeature;intIndex=m_Feature.Fields.FindField("STANO");pDictionary.Add(m_Feature.get_Value(Index).ToString(),pListLayer[i].Name);pFeature=pFeatureCursor.NextFeature();}}intcount=pDictionary.Count;
pGeometry范围内点很多的话最后一行代码就不执行呢,点少的话没有什么问题我测试能执行第一个循环,第二个好像是不执行了
解决方案
解决方案二:
有大神吗求帮忙呀在线等
解决方案三:
数据有重复点问题字典类型唯一加不进去
解决方案四:
是不是查询结果只有一个值