Dim ToolSelByLoc As SelectLayerByLocation = New SelectLayerByLocation() Dim naContext As ESRI.ArcGIS.NetworkAnalyst.INAContext = naLayer.Context Dim table As ITable = TryCast(naContext.NAClasses.ItemByName("SAPolygons"), ITable) If table.RowCount(Nothing) > 0 Then For rec = 1 To table.RowCount(Nothing) 'Dim qF As IQueryFilter = New QueryFilter 'qF.WhereClause = "OBJECTID = " & rec 'selSet = table.Select(qF, esriSelectionType.esriSelectionTypeIDSet, esriSelectionOption.esriSelectionOptionNormal, Nothing) With ToolSelByLoc .in_layer = pointFL .overlap_type = "WITHIN" .select_features = table '.Select(qF, esriSelectionType.esriSelectionTypeIDSet, esriSelectionOption.esriSelectionOptionNormal, Nothing) End With RunTool(gp, ToolSelByLoc, Nothing) 'SelectByLocation next rec End If
Solved! Go to Solution.
Dim featureCursor As IFeatureCursor Dim feature As IFeature 'Dim naContext As ESRI.ArcGIS.NetworkAnalyst.INAContext = naLayer.Context 'Dim fc As IFeatureClass = TryCast(naContext.NAClasses.ItemByName("SAPolygons"), IFeatureClass) Dim qF As IQueryFilter = New QueryFilter Dim defQuery As IFeatureLayerDefinition2 Dim fl As IFeatureLayer = GetLayerByName("Polygons") fc = fl.FeatureClass If fc.FeatureCount(Nothing) > 1 Then featureCursor = fc.Search(Nothing, False) feature = featureCursor.NextFeature Do While Not feature Is Nothing defQuery = fl defQuery.DefinitionExpression = "" defQuery.DefinitionExpression = "OBJECTID = " & feature.Value(feature.Fields.FindField("OBJECTID")) With ToolSelByLoc .in_layer = pointFL .overlap_type = "WITHIN" .select_features = fl End With '--------------------- RunTool(gp, ToolSelByLoc, Nothing) '--------------------- '--------------------- StorePointIDInArray(CDbl(feature.Value(feature.Fields.FindField("ToBreak")))) '--------------------- defQuery = fl defQuery.DefinitionExpression = "" defQuery = Nothing feature = featureCursor.NextFeature Loop Else featureCursor = fc.Search(Nothing, False) feature = featureCursor.NextFeature With ToolSelByLoc .in_layer = pointFL .overlap_type = "WITHIN" .select_features = fl End With '--------------------- RunTool(gp, ToolSelByLoc, Nothing) '--------------------- '--------------------- StorePointIDInArray(CDbl(feature.Value(feature.Fields.FindField("ToBreak")))) '--------------------- End If feature = Nothing featureCursor = Nothing
Dim featureCursor As IFeatureCursor Dim feature As IFeature 'Dim naContext As ESRI.ArcGIS.NetworkAnalyst.INAContext = naLayer.Context 'Dim fc As IFeatureClass = TryCast(naContext.NAClasses.ItemByName("SAPolygons"), IFeatureClass) Dim qF As IQueryFilter = New QueryFilter Dim defQuery As IFeatureLayerDefinition2 Dim fl As IFeatureLayer = GetLayerByName("Polygons") fc = fl.FeatureClass If fc.FeatureCount(Nothing) > 1 Then featureCursor = fc.Search(Nothing, False) feature = featureCursor.NextFeature Do While Not feature Is Nothing defQuery = fl defQuery.DefinitionExpression = "" defQuery.DefinitionExpression = "OBJECTID = " & feature.Value(feature.Fields.FindField("OBJECTID")) With ToolSelByLoc .in_layer = pointFL .overlap_type = "WITHIN" .select_features = fl End With '--------------------- RunTool(gp, ToolSelByLoc, Nothing) '--------------------- '--------------------- StorePointIDInArray(CDbl(feature.Value(feature.Fields.FindField("ToBreak")))) '--------------------- defQuery = fl defQuery.DefinitionExpression = "" defQuery = Nothing feature = featureCursor.NextFeature Loop Else featureCursor = fc.Search(Nothing, False) feature = featureCursor.NextFeature With ToolSelByLoc .in_layer = pointFL .overlap_type = "WITHIN" .select_features = fl End With '--------------------- RunTool(gp, ToolSelByLoc, Nothing) '--------------------- '--------------------- StorePointIDInArray(CDbl(feature.Value(feature.Fields.FindField("ToBreak")))) '--------------------- End If feature = Nothing featureCursor = Nothing