com.supermap.analyst.spatialanalyst
类 SurfaceExtractParameter

java.lang.Object
  继承者 com.supermap.analyst.spatialanalyst.SurfaceExtractParameter

public class SurfaceExtractParameter
extends java.lang.Object

表面分析提取操作参数类,该类为提取等值线,等值面提供参数信息,包括等值距、基准值、光滑度、光滑方法以及重采样容限。

SuperMap 提供两种方法来提取等值线/面:

  1. 通过设置基准值(setDatumValue)和等值距(setInterval)来提取等间距的等值线/面。该方法是以等值距为间隔向基准值的前后两个方向计算提取哪些高程的等值线。例如,高程范围为15-165的 DEM 栅格数据,设置基准值为50,等值距为20,则提取等值线的高程分别为:30、50、70、90、110、130和150。
  2. 通过 setExpectedZValues 方法指定一个 Z 值的集合,则只提取高程为集合中值的等值线/面。例如,高程范围为0-1000的 DEM 栅格数据,指定 Z 值集合为{20,300,800},那么提取的结果就只有20、300、800三条等值线或三者构成的等值面。

特别需要注意的是:如果同时调用了上面两种方法所需设置的属性,那么只有 setExpectedZValues 方法有效,即只提取指定的值的等值线/面。因此,想要提取等间距的等值线/面,就不能调用 setExpectedZValues 方法。


构造方法摘要
SurfaceExtractParameter()
          构造一个表面分析提取操作参数类的新对象。
SurfaceExtractParameter(double[] expectedZValues)
          根据指定的 Z 值集合构造一个表面分析提取操作参数类的新对象。
SurfaceExtractParameter(double interval, double datumValue)
          根据指定的等值距及基准值构造一个表面分析提取操作参数类的新对象。
 
方法摘要
 double getDatumValue()
          返回等值线的基准值。
 double[] getExpectedZValues()
          返回期望分析结果的 Z 值集合。
 double getInterval()
          返回等值距。
 double getResampleTolerance()
          返回重采样的距离容限系数。
 SmoothMethod getSmoothMethod()
          返回光滑处理所使用的方法,请参见 SmoothMethod 类。
 int getSmoothness()
          返回等值线或等值面的光滑度。
 void setDatumValue(double value)
          设置等值线的基准值。
 void setExpectedZValues(double[] value)
          设置期望分析结果的 Z 值集合。
 void setInterval(double value)
          设置等值距。
 void setResampleTolerance(double value)
          设置重采样的距离容限系数。
 void setSmoothMethod(SmoothMethod smoothMothod)
          设置光滑处理所使用的方法,请参见 SmoothMethod 类。
 void setSmoothness(int value)
          设置等值线或等值面的光滑度。
 java.lang.String toString()
          将此表面分析提取操作参数类对象输出为一个格式化字符串。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

SurfaceExtractParameter

public SurfaceExtractParameter()
构造一个表面分析提取操作参数类的新对象。

示例:
请参见 SurfaceAnalyst.extractIsoline() 方法以及SurfaceAnalyst.extractIsoregion() 方法的示例。

SurfaceExtractParameter

public SurfaceExtractParameter(double interval,
                               double datumValue)
根据指定的等值距及基准值构造一个表面分析提取操作参数类的新对象。

提取的等值线一般用基准值和等值距两个参数来控制。基准值是作为一个生成等值线的初始起算值,并不一定是最小等值线的值;等值距是两条等值线之间的间隔值,由这两个参数可以来确定提取的等值线的值和个数。例如,基准值设为0,等值距设为50,则对于高程值范围在120-999的 DEM 栅格数据,提取的最小等值线为150,最大等值线为950,一共可以提取17条等值线。

参数:
interval - 指定等值距。
datumValue - 指定等值线的基准值。

SurfaceExtractParameter

public SurfaceExtractParameter(double[] expectedZValues)
根据指定的 Z 值集合构造一个表面分析提取操作参数类的新对象。

Z 值集合存储一系列数值,该数值为待提取等值线的值。

参数:
expectedZValues - 指定的 Z 值集合。
方法详细信息

getDatumValue

public double getDatumValue()
返回等值线的基准值。

详细介绍请参见 setDatumValue 方法。

返回:
等值线的基准值。
默认值:
默认值为 0。

getInterval

public double getInterval()
返回等值距。

详细介绍请参见 setInterval 方法。

返回:
等值距。
默认值:
默认值为 0.0。

getResampleTolerance

public double getResampleTolerance()
返回重采样的距离容限系数。 有关重采样的距离容限系数,请参阅 setResampleTolerance 方法的介绍。

返回:
重采样的距离容限系数。
默认值:
默认值为 0.0。

getExpectedZValues

public double[] getExpectedZValues()
返回期望分析结果的 Z 值集合。

Z 值集合存储一系列数值,该数值为待提取等值线的值。即,仅高程值在Z值集合中的等值线会被提取。

返回:
期望分析结果的 Z 值集合。
默认值:
默认值为 null。

setExpectedZValues

public void setExpectedZValues(double[] value)
设置期望分析结果的 Z 值集合。

Z 值集合存储一系列数值,该数值为待提取等值线的值。即,仅高程值在Z值集合中的等值线会被提取。

当与 setDatumValue() 方法同时调用时,只会考虑 setExpectedZValues() 设置的值。当 setExpectedZValues() 的设定值中包含相同的数值时,提取会失败。

参数:
value - 期望分析结果的 Z 值集合。

getSmoothMethod

public SmoothMethod getSmoothMethod()
返回光滑处理所使用的方法,请参见 SmoothMethod 类。

返回:
光滑处理所使用的方法。
另请参见:
SmoothMethod
默认值:
默认值为 BSPLINE

getSmoothness

public int getSmoothness()
返回等值线或等值面的光滑度。

光滑度的取值范围为[0,5]。取值为 0 或 1表示不进行光滑处理,值越大则光滑度越高。

等值线提取时,光滑度可自由设置;对于等值面的提取,采用先提取等值线然后生成等值面的方式,若将光滑度设置为2,则中间结果数据集,即等值线对象的点数将为原始数据集点数的2倍,当光滑度设定值不断增大时,点数将成2的指数倍增长,这将大大降低等值面提取的效率甚至可能导致提取失败。

返回:
等值线或等值面的边界线的光滑度。
默认值:
默认值为 0。

setDatumValue

public void setDatumValue(double value)
设置等值线的基准值。

基准值与等值距(setInterval)共同决定提取哪些高程上的等值线。基准值作为一个生成等值线的初始起算值,以等值距为间隔向其前后两个方向计算,因此并不一定是最小等值线的值。例如,高程范围为 220-1550 的 DEM 栅格数据,如果设基准值为 500,等值距为 50,则提取等值线的结果是:最小等值线值为 250,最大等值线值为 1550。

注意:当与 setExpectedZValues() 同时调用时,只会考虑 setExpectedZValues() 设置的值,即只提取高程为这些值的等值线。

参数:
value - 等值线的基准值。

setInterval

public void setInterval(double value)
设置等值距。

等值距是两条等值线之间的间隔值,它与基准值(setDatumValue)共同决定提取哪些等值线,详细介绍请参见 setDatumValue

参数:
value - 等值距。

setResampleTolerance

public void setResampleTolerance(double value)
设置重采样的距离容限系数。

通过对提取出的等值线/面进行重采样,可以简化最终提取的等值线/面数据。SuperMap 在提取等值线/面时使用的重采样方法为光栏法(ResampleType.RTBEND),该方法需要一个重采样距离容限进行采样控制。它的值由重采样的距离容限系数乘以源栅格分辨率得出,一般取值为源栅格分辨率的 0~1 倍。

重采样的距离容限系数默认为 0,即不进行任何采样,保证结果正确,但通过设置合理的参数,可以加快执行速度。容限值越大,等值线边界的控制点越少,此时可能出现等值线相交的情况。因此,推荐用户先使用默认值来提取等值线。

参数:
value - 重采样的距离容限系数。

setSmoothMethod

public void setSmoothMethod(SmoothMethod smoothMothod)
设置光滑处理所使用的方法,请参见 SmoothMethod 类。

参数:
smoothMothod - 光滑处理所使用的方法。
另请参见:
SmoothMethod

setSmoothness

public void setSmoothness(int value)
设置等值线或等值面的光滑度。

光滑度为 0 或 1表示不进行光滑处理,值越大则光滑度越高。

等值线提取时,光滑度可自由设置;对于等值面的提取,采用先提取等值线然后生成等值面的方式,若将光滑度设置为2,则中间结果数据集,即等值线对象的点数将为原始数据集点数的2倍,当光滑度设定值不断增大时,点数将成2的指数倍增长,这将大大降低等值面提取的效率甚至可能导致提取失败。

参数:
value - 等值线或等值面的边界线的光滑度。

toString

public java.lang.String toString()
将此表面分析提取操作参数类对象输出为一个格式化字符串。

覆盖:
java.lang.Object 中的 toString
返回:
一个表示此表面分析提取操作参数类的字符串。