com.supermap.data

类 Tolerance



  • public class Tolerance
    extends Object

    容限类,用来设置矢量数据集的各容限值。

    该类用于设置矢量数据集(DatasetVector)的各个容限的值,包括节点容限、长悬线容限、短悬线容限、颗粒容限和最小多边形容限,还提供清空所有容限值和设置所有容限为缺省值的方法。

    示范代码:
    以下代码示范如何返回容限对象的相关设置。
     public void toleranceTest(){
            // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象,数据源中存在矢量数据集 datasetVector。
            // 实例化容限对象
            Tolerance tolerance = datasetVector.getTolerance();
    
            // 返回容限对象的相关设置
            System.out.println(tolerance.getDangle());
            System.out.println(tolerance.getGrain());
            System.out.println(tolerance.getNodeSnap());
            System.out.println(tolerance.getSmallPolygon());
        }
     
    • 构造器详细资料

      • Tolerance

        public Tolerance()
        构造一个新的 Tolerance 对象。
      • Tolerance

        public Tolerance(Tolerance tolerance)
        根据给定的 Tolerance 对象构造一个与其完全相同的新对象。
        参数:
        tolerance - 指定的容限类的对象。
    • 方法详细资料

      • getDangle

        public double getDangle()
        返回短悬线容限。

        有关短悬线容限,请参见 setDangle 方法。

        返回:
        短悬线容限。
        默认值:
        默认值为 0.0。
      • setDangle

        public void setDangle(double value)
        设置短悬线容限。单位与矢量数据集坐标系单位相同。

        该容限用来判断悬线是否为短悬线(也称为过头线),如果悬线的长度小于此容限,则其为短悬线,在拓扑处理中会可以设置去除短悬线。下图中的圆以悬点为圆心,圆的半径为短悬线容限。

        参数:
        value - 短悬线容限。
      • getFuzzy

        @Deprecated
        public double getFuzzy()
        已过时。 
      • setFuzzy

        @Deprecated
        public void setFuzzy(double value)
        已过时。 已过时,使用 setNodeSnap 替代。
        设置节点容限。

        比较常用的容限,表示了数据集取点的精度,即数据集中任意两个节点间的最小距离。当两个节点之间的距离小于节点容限时,在拓扑处理中可以设置将其合并。下图中圆的直径为节点容限。

        参数:
        value - 节点容限。
      • getGrain

        public double getGrain()
        返回颗粒容限。

        有关颗粒容限,请参见 setGrain 方法。

        返回:
        颗粒容限。
        默认值:
        默认值为 0.0。
      • setGrain

        public void setGrain(double value)
        设置颗粒容限。单位与矢量数据集坐标系单位相同。

        该容限用于控制圆、弧线或曲线上节点之间的距离,主要用在参数化对象转为线对象时的控制生成的节点间的距离。

        参数:
        value - 颗粒容限。
      • getNodeSnap

        public double getNodeSnap()
        返回节点容限。

        有关节点容限,请参见 setNodeSnap 方法。

        返回:
        节点容限。
        默认值:
        默认值为 0.0。
      • setNodeSnap

        public void setNodeSnap(double value)
        设置节点容限。单位与矢量数据集坐标系单位相同。

        比较常用的容限,表示了数据集取点的精度,即数据集中任意两个节点间的最小距离。当两个节点之间的距离小于节点容限时,在拓扑处理中可以设置将其合并。下图中圆的直径为节点容限。

        参数:
        value - 节点容限。
      • getSmallPolygon

        public double getSmallPolygon()
        返回最小多边形容限。

        有关最小多边形容限,请参见 setSmallPolygon 方法。

        返回:
        最小多边形容限。
        默认值:
        默认值为 0.0。
      • setSmallPolygon

        public void setSmallPolygon(double value)
        设置最小多边形容限。单位与矢量数据集坐标系单位相同。

        最小多边形容限,又称为碎多边形容限。该容限定义了拓扑处理时的碎多边形的大小,若多边形的面积与周长的比值小于该容限值,则被认为是碎多边形。在拓扑处理时,可以设置将碎多边形删除。

        参数:
        value - 最小多边形容限。
      • getExtend

        public double getExtend()
        返回长悬线容限。

        有关长悬线容限,请参见 setExtend 方法。

        返回:
        长悬线容限。
        默认值:
        默认值为 0.0。
      • setExtend

        public void setExtend(double value)
        设置长悬线容限。单位与矢量数据集坐标系单位相同。

        此容限用于判断长悬线是否需要延伸到节点。当长悬线的悬点到另一条线或弧段的距离小于长悬线容限时,通过拓扑处理,可以将长悬线延伸,并在与另一条线或弧段相交处生成一个节点。下图中,圆的圆心为悬点,半径为长悬线容限。

        参数:
        value - 长悬线容限。
      • isEmpty

        public boolean isEmpty()
        判断此容限对象是否为空,即其中的所有容限值是否为零。
        返回:
        一个布尔值指定容限是否为空。
        默认值:
        默认值为 true,即此容限对象为空。
      • setEmpty

        public void setEmpty()
        清空所有的容限值,即将所有的容限值都设为0。
      • setDefault

        public void setDefault()
        用于将所有的容限设为缺省值。单位与矢量数据集坐标系单位相同。

        11版本以前,节点容限的默认值为数据集宽度的1/1000000;颗粒容限的默认值为数据集宽度的1/1000;短悬线容限的默认值为数据集宽度的1/10000;长悬线容限的默认值为数据集宽度的1/10000;最小多边形容限的默认值为0。

        11版本及以后:

        • 节点容限的默认值为:1)地理坐标系=0.00000001;2)米单位投影坐标系=0.001;3)非米单位投影坐标系=0.001*米/坐标单位;
        • 颗粒容限的默认值为节点容限*1000;
        • 短悬线容限的默认值为节点容限*100;
        • 长悬线容限的默认值为节点容限*100;
        • 最小多边形容限的默认值为:1)带SMAREA字段的面数据集为SMAREA字段最大值/1000000;2)不带SMAREA字段的面数据集及其它数据集为0。

Copyright © 2021–2024 SuperMap. All rights reserved.