参考1
缓冲区查询特别有用,也很方便,照着别人的自己写了一个,记录一下。
缓冲区查询主要用到的核心接口就两个,ITopologcialOperator和ISpatialFilter这两个接口。第一个接口用来构建缓冲区和进行其他的拓扑操作,第二个接口是空间过滤器,其中提供空间查询的各种关系。这两个接口还有很多其他属性和方法,用到时自行查看帮助。
一下是缓冲区查询的核心代码,当然之前必须指定查找的目标图层和建立缓冲区的图层和对象。
IGeometry pGeometry = TestFeature.Shape;
ITopologicalOperator pTopologicalOperator = pGeometry as ITopologicalOperator;
pGeometry = pTopologicalOperator.Buffer(Distence);//Distence是缓冲距离
pTopologicalOperator.Simplify();
ISpatialFilter pSpatialfilter = new SpatialFilterClass();
pSpatialfilter.Geometry = pGeometry;
pSpatialfilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelCrosses;
pSpatialfilter.GeometryField = "Shape";