public class SurfaceExtractParameter extends Object
SuperMap 提供两种方法来提取等值线/面:
setDatumValue
)和等值距(setInterval
)来提取等间距的等值线/面。该方法是以等值距为间隔向基准值的前后两个方向计算提取哪些高程的等值线。例如,高程范围为15-165的 DEM 栅格数据,设置基准值为50,等值距为20,则提取等值线的高程分别为:30、50、70、90、110、130和150。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[] values)
设置期望分析结果的 Z 值集合。
|
void |
setInterval(double value)
设置等值距。
|
void |
setResampleTolerance(double value)
设置重采样的距离容限系数。
|
void |
setSmoothMethod(SmoothMethod smoothMothod)
设置光滑处理所使用的方法,请参见
SmoothMethod 类。 |
void |
setSmoothness(int value)
设置等值线或等值面的光滑度。
|
String |
toString()
将此表面分析提取操作参数类对象输出为一个格式化字符串。
|
public SurfaceExtractParameter()
SurfaceAnalyst.extractIsoline()
方法以及SurfaceAnalyst.extractIsoRegion()
方法的示例。public SurfaceExtractParameter(double interval, double datumValue)
提取的等值线一般用基准值和等值距两个参数来控制。基准值是作为一个生成等值线的初始起算值,并不一定是最小等值线的值;等值距是两条等值线之间的间隔值,由这两个参数可以来确定提取的等值线的值和个数。例如,基准值设为0,等值距设为50,则对于高程值范围在120-999的 DEM 栅格数据,提取的最小等值线为150,最大等值线为950,一共可以提取17条等值线。
interval
- 指定等值距。datumValue
- 指定等值线的基准值。public SurfaceExtractParameter(double[] expectedZValues)
Z 值集合存储一系列数值,该数值为待提取等值线的值。
expectedZValues
- 指定的 Z 值集合。public double getDatumValue()
详细介绍请参见 setDatumValue
方法。
public double getInterval()
详细介绍请参见 setInterval
方法。
public double getResampleTolerance()
setResampleTolerance
方法的介绍。public SmoothMethod getSmoothMethod()
SmoothMethod
类。SmoothMethod
BSPLINE
。public int getSmoothness()
光滑度的取值范围为[0,5]。取值为 0 或 1表示不进行光滑处理,值越大则光滑度越高。
等值线提取时,光滑度可自由设置;对于等值面的提取,采用先提取等值线然后生成等值面的方式,若将光滑度设置为2,则中间结果数据集,即等值线对象的点数将为原始数据集点数的2倍,当光滑度设定值不断增大时,点数将成2的指数倍增长,这将大大降低等值面提取的效率甚至可能导致提取失败。
public double[] getExpectedZValues()
Z 值集合存储一系列数值,该数值为待提取等值线的值。即,仅高程值在Z值集合中的等值线会被提取。
public void setDatumValue(double value)
基准值与等值距(setInterval
)共同决定提取哪些高程上的等值线。基准值作为一个生成等值线的初始起算值,以等值距为间隔向其前后两个方向计算,因此并不一定是最小等值线的值。例如,高程范围为 220-1550 的 DEM 栅格数据,如果设基准值为 500,等值距为 50,则提取等值线的结果是:最小等值线值为 250,最大等值线值为 1550。
注意:当与 setExpectedZValues()
同时调用时,只会考虑 setExpectedZValues()
设置的值,即只提取高程为这些值的等值线。
value
- 等值线的基准值。public void setInterval(double value)
等值距是两条等值线之间的间隔值,它与基准值(setDatumValue
)共同决定提取哪些等值线,详细介绍请参见 setDatumValue
。
value
- 等值距。public void setResampleTolerance(double value)
通过对提取出的等值线/面进行重采样,可以简化最终提取的等值线/面数据。SuperMap 在提取等值线/面时使用的重采样方法为光栏法(ResampleType.RTBEND
),该方法需要一个重采样距离容限进行采样控制。它的值由重采样的距离容限系数乘以源栅格分辨率得出,一般取值为源栅格分辨率的 0~1 倍。
重采样的距离容限系数默认为 0,即不进行任何采样,保证结果正确,但通过设置合理的参数,可以加快执行速度。容限值越大,等值线边界的控制点越少,此时可能出现等值线相交的情况。因此,推荐用户先使用默认值来提取等值线。
value
- 重采样的距离容限系数。public void setSmoothMethod(SmoothMethod smoothMothod)
SmoothMethod
类。smoothMothod
- 光滑处理所使用的方法。SmoothMethod
public void setSmoothness(int value)
光滑度为 0 或 1表示不进行光滑处理,值越大则光滑度越高。
等值线提取时,光滑度可自由设置;对于等值面的提取,采用先提取等值线然后生成等值面的方式,若将光滑度设置为2,则中间结果数据集,即等值线对象的点数将为原始数据集点数的2倍,当光滑度设定值不断增大时,点数将成2的指数倍增长,这将大大降低等值面提取的效率甚至可能导致提取失败。
value
- 等值线或等值面的边界线的光滑度。public void setExpectedZValues(double[] values)
Z 值集合存储一系列数值,该数值为待提取等值线的值。即,仅高程值在Z值集合中的等值线会被提取。
当与 setDatumValue()
方法同时调用时,只会考虑 setExpectedZValues()
设置的值。当 setExpectedZValues()
的设定值中包含相同的数值时,提取会失败。
values
- 期望分析结果的 Z 值集合。Copyright © 2021–2024 SuperMap. All rights reserved.