zoukankan      html  css  js  c++  java
  • 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个关系的组合。

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

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

      

  • 相关阅读:
    总结几个面试题
    产生下一个排列数的算法
    所谓码农
    简记微软实习生面试
    二维数组作为函数的参数传递
    详细解说 STL 排序(Sort)
    copy()之绝版应用
    STL标准模板库(简介)
    访问控制和继承方式
    常用软件开发模型比较分析
  • 原文地址:https://www.cnblogs.com/janehlp/p/4154958.html
Copyright © 2011-2022 走看看