首页 > 代码库 > ArcEngine 通过SpatialRelDescription删除不相交要素

ArcEngine 通过SpatialRelDescription删除不相交要素

ISpatialFilter.SpatialRel设置为esriSpatialRelRelate,并且设置SpatialRelDescription为某个字符串。该字符串的构造方法:
该字符串为长度为9, “*********”;每一个“*“可以换为”T“或”F“,T表示True,F表示False。具体怎样构造根据具体需要来定。这样就相当于自定义了一个空间关系。每一个字符从左到右分别对应一下的关系
1 interior interior 
2 interior boundary 
3 interior exterior 
4 boundary interior 
5 boundary boundary 
6 boundary exterior 
7 exterior interior 
8 exterior boundary 
9 exterior exterior 

这9个关系是分别从几何体的内部,边界,外部来区分的,所有的几何体之间的拓扑关系不外乎这9个关系的组合。

删除不相交要素的关系是: F*T***T**

ISpatialFilter spatialFilter = new SpatialFilterClass();
spatialFilter.Geometry = baseGeom;spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelRelation;spatialFilter.SpatialRelDescription = "F*T***T**";(fc as ITable).DeleteSearchedRows(spatialFilter);

  

ArcEngine 通过SpatialRelDescription删除不相交要素