碎多边形合并,即将数据集中小于指定面积的多边形合并到相邻的多边形中。已过时。使用Eliminate替代。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
[ObsoleteAttribute] public static bool Eliminate( DatasetVector sourceDataset, double regionTolerance, double vertexTolerance, EliminateMode eliminateMode, bool isDeleteSingleRegion ) |
参数
- sourceDataset
- Type: SuperMap.Data..::.DatasetVector
指定的待进行碎多边形合并的数据集。只支持矢量二维面数据集,指定其他类型的数据集会抛出异常。
- regionTolerance
- Type: System..::.Double
指定的最小多边形容限。与系统计算的面积(SmArea 字段的值)对比,小于该值的多边形将被消除。取值范围为大于等于0,指定为小于0的值会抛出异常。
- vertexTolerance
- Type: System..::.Double
指定的节点容限。若两个节点之间的距离小于此容限值,则合并过程中会自动将这两个节点合并为一个节点。取值范围大于等于0,指定为小于0的值会抛出异常。
- eliminateMode
- Type: SuperMap.Analyst.SpatialAnalyst..::.EliminateMode
指定的碎多边形合并方式。目前仅支持“按面积合并”(EliminateMode.EliminateByArea)方式,即将碎多边形合并到与其相邻的具有最大面积的多边形中。
- isDeleteSingleRegion
- Type: System..::.Boolean
指定是否删除孤立的小多边形。如果为 true 会删除孤立的小多边形,否则不删除。
返回值
一个布尔值,如果合并成功返回 true,否则返回 false。备注
在数据制作和处理过程中,或对不精确的数据进行叠加后,都可能产生一些细碎而无用的多边形,称为碎多边形。可以通过“碎多边形合并”功能将这些细碎多边形合并到相邻的多边形中,或删除孤立的碎多边形(没有与其他多边形相交或者相切的多边形),以达到简化数据的目的。
一般面积远远小于数据集中其他对象的多边形才被认为是“碎多边形”,通常是同一数据集中最大面积的百万分之一到万分之一间,但可以依据实际研究的需求来设置最小多边形容限。如下图所示的数据中,在较大的多边形的边界上,有很多无用的碎多边形。
下图是对该数据进行“碎多边形合并”处理后的结果,与上图对比可以看出,碎多边形都被合并到了相邻的较大的多边形中。
对于面积小于指定的最小多边形容限的孤立多边形,如果将该方法的 isDeleteSingleRegion 参数设置为 true,将会删除这些孤立的碎多边形,如下图所示。
注意:
- 该方法适用于两个面具有公共边界的情况,处理后会把公共边界去除。
- 进行碎多边形合并处理后,数据集内的对象数量可能减少。