I would like to judge whether a polygon IsNear many polygons. I consider to use a GeometryBag to contain many polygons but it doesn't work.
My VB.NET snippet is like below:
Dim polygons_allbag As IGeometryBag = New GeometryBagClass
Dim polygons_all As IGeometryCollection = CType(polygons_allbag, IGeometryCollection)
dim polygon as IPolygon=...
Dim pTopoOp2 As ESRI.ArcGIS.Geometry.IRelationalOperator2 = CType(polygon, IRelationalOperator2)
MsgBox(pTopoOp2.IsNear(polygons_all, 0)) ' This always display FALSE even if the polygon overlaps some polygons in polygons_all
Dim pTopoOp2 As ESRI.ArcGIS.Geometry.IRelationalOperator2 = CType(polygons_all, IRelationalOperator2) 'This will give an "unable to cast COM object..." error.
MsgBox(pTopoOp2.IsNear(polygons , 0))
What's wrong with my code and what's the best solution for my problem? The Union method will do but very slow since there are many polygons to be compared with.