com.supermap.analyst.spatialanalyst
类 InterpolationParameter

java.lang.Object
  继承者 com.supermap.analyst.spatialanalyst.InterpolationParameter
直接已知子类:
InterpolationDensityParameter, InterpolationIDWParameter, InterpolationKrigingParameter, InterpolationRBFParameter

public abstract class InterpolationParameter
extends java.lang.Object

插值参数类,该类是各种插值分析方法参数类的基类,为插值算法提供必要的参数信息,如分析的范围、结果栅格的分辨率、参与运算的点的查找方式、参与运算的点的查找半径及查找的点数等。


方法摘要
 void dispose()
          释放该对象所占用的资源。
 Rectangle2D getBounds()
          返回插值分析的范围,用于确定运行结果的范围。
 int getExpectedCount()
          返回期望参与插值运算的点数。
 int getMaxPointCountForInterpolation()
          返回块查找时,最多参与插值的点数。
 int getMaxPointCountInNode()
          返回块查找时,单个块内最多查找点数。
 double getResolution()
          返回插值运算时使用的分辨率。
 SearchMode getSearchMode()
          返回在插值运算时,查找参与运算点的方式。
 double getSearchRadius()
          返回查找参与运算点的查找半径。
abstract  InterpolationAlgorithmType getType()
          返回插值算法类型。
 void setBounds(Rectangle2D rectangle2D)
          设置插值分析的范围,用于确定运行结果的范围。
 void setExpectedCount(int value)
          设置期望参与插值运算的点数。
 void setMaxPointCountForInterpolation(int value)
          设置块查找时,最多参与插值的点数。
 void setMaxPointCountInNode(int value)
          设置块查找时,单个块内最多查找点数。
 void setResolution(double value)
          设置插值运算时使用的分辨率。
 void setSearchMode(SearchMode searchMode)
          设置在插值运算时,查找参与运算点的方式。
 void setSearchRadius(double value)
          设置查找参与运算点的查找半径。
 java.lang.String toString()
          返回一个表示插值分析方法参数类实例的字符串。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

方法详细信息

getResolution

public double getResolution()
返回插值运算时使用的分辨率。

返回:
插值运算时使用的分辨率。

setResolution

public void setResolution(double value)
设置插值运算时使用的分辨率。

参数:
value - 插值运算时使用的分辨率。

getSearchMode

public SearchMode getSearchMode()
返回在插值运算时,查找参与运算点的方式。

插值运算因查找方式的不同,需要设置的参数有所不同,详细介绍请参阅 SearchMode 类。

注意:

  1. 距离反比权值(Inverse Distance Weighted)插值法中没有提供 QUADTREE 的插值查找方式;
  2. 点密度插值目前只支持 KDTREE_FIXED_RADIUS 查找方式;
  3. 对于克吕金(Kriging)和径向基函数(RBF)插值法,如果查找模式设置为“变长查找”(SearchMode.KDTREE_FIXED_COUNT),将使用最大查找半径范围内的固定数目的样点值进行插值,最大查找半径为点数据集的区域范围对应的矩形的对角线长度的 0.2 倍。

返回:
查找参与运算点的方式。
默认值:
默认值为 KDTREE_FIXED_COUNT

setSearchMode

public void setSearchMode(SearchMode searchMode)
设置在插值运算时,查找参与运算点的方式。

注意:

  1. 距离反比权值(Inverse Distance Weighted)插值法、简单克吕金(Simple Kriging)插值法、泛克吕金(Universal Kriging)插值法中没有提供块查找方式(QUADTREE);
  2. 点密度插值目前只支持定长查找(KDTREE_FIXED_RADIUS)方式;
  3. 对于克吕金(Kriging)和径向基函数(RBF)插值法,如果查找模式设置为“变长查找”(SearchMode.KDTREE_FIXED_COUNT),将使用最大查找半径范围内的固定数目的样点值进行插值,最大查找半径为点数据集的区域范围对应的矩形的对角线长度的 0.2 倍。

参数:
searchMode - 查找参与运算点的方式。

getSearchRadius

public double getSearchRadius()
返回查找参与运算点的查找半径。单位与用于插值的点数据集(或记录集所属的数据集)的单位相同。查找半径决定了参与运算点的查找范围,当计算某个位置的未知数值时,会以该位置为圆心,以setSearchRadius()方法设置的值为半径,落在这个范围内的采样点都将参与运算,即该位置的预测值由该范围内采样点的数值决定。

如果设置SearchModeKDTREE_FIXED_COUNT,同时指定查找参与运算点的范围,当查找范围内的点数小于指定的点数时赋为空值,当查找范围内的点数大于指定的点数时,则返回距离插值点最近的指定个数的点进行插值。

返回:
查找的范围。
默认值:
默认值为 0.0,表示使用最大查找半径,即点数据集的区域范围对应的矩形的对角线的长度。

setSearchRadius

public void setSearchRadius(double value)
设置查找参与运算点的查找半径。单位与用于插值的点数据集(或记录集所属的数据集)的单位相同。查找半径决定了参与运算点的查找范围,当计算某个位置的未知数值时,会以该位置为圆心,以setSearchRadius()方法设置的值为半径,落在这个范围内的采样点都将参与运算,即该位置的预测值由该范围内采样点的数值决定。

如果设置SearchModeKDTREE_FIXED_COUNT,同时指定查找参与运算点的范围,当查找范围内的点数小于指定的点数时赋为空值,当查找范围内的点数大于指定的点数时,则返回距离插值点最近的指定个数的点进行插值。

参数:
value - 查找的半径。

getMaxPointCountInNode

public int getMaxPointCountInNode()
返回块查找时,单个块内最多查找点数。

当用QuadTree的查找插值点时,才可以设置块内最多点数。即仅对样条(Radial Basis Function)插值和普通克吕金(Ordinary Kriging)有用。有关查找方式的详细信息,请参见SearchMode类。

返回:
单个块内最多查找点数。
默认值:
默认值为50。

setMaxPointCountInNode

public void setMaxPointCountInNode(int value)
设置块查找时,单个块内最多查找点数。注意,该值必须大于零。

当用QuadTree的查找插值点时,才可以设置最多参与插值的点数。即仅对样条(Radial Basis Function)插值和普通克吕金(Ordinary Kriging)有用。有关查找方式的详细信息,请参见SearchMode类。

参数:
value - 单个块内最多查找点数。

getMaxPointCountForInterpolation

public int getMaxPointCountForInterpolation()
返回块查找时,最多参与插值的点数。

返回:
块查找时,最多参与插值的点数。
默认值:
默认值为200。

setMaxPointCountForInterpolation

public void setMaxPointCountForInterpolation(int value)
设置块查找时,最多参与插值的点数。注意,该值必须大于零。

当用QuadTree的查找插值点时,才可以设置最多参与插值的点数。即仅对样条(Radial Basis Function)插值和普通克吕金(Ordinary Kriging)有用。有关查找方式的详细信息,请参见SearchMode类。

参数:
value - 参与插值的最多点数。

getExpectedCount

public int getExpectedCount()
返回期望参与插值运算的点数。

当查找方式为定长查找时,表示期望参与运算的最少样点数;当查找方式为变长查找时,表示期望参与运算的最多样点数。

返回:
期望参与插值运算的点数。
默认值:
默认值为 12。

setExpectedCount

public void setExpectedCount(int value)
设置期望参与插值运算的点数。

当查找方式为定长查找时,表示期望参与运算的最少样点数;当查找方式为变长查找时,表示期望参与运算的最多样点数。

如果设置SearchModeKDTREE_FIXED_RADIUS ,同时指定参与插值运算点的个数,当查找范围内的点数小于指定的点数时赋为空值。

参数:
value - 期望参与插值运算的点数。

getBounds

public Rectangle2D getBounds()
返回插值分析的范围,用于确定运行结果的范围。

返回:
插值分析的范围。
默认值:
默认值为 Rectangle2D.getEMPTY

setBounds

public void setBounds(Rectangle2D rectangle2D)
设置插值分析的范围,用于确定运行结果的范围。

参数:
rectangle2D - 插值分析的范围。
默认值:
默认值为 Rectangle2D.getEMPTY

getType

public abstract InterpolationAlgorithmType getType()
返回插值算法类型。

SuperMap 中提供三种内插方法,用于模拟或者创建一个表面,分别是:距离反比权重法(IDW)、克吕金插值方法(Kriging)、径向基函数插值法(RBF)。选用何种方法进行内插,通常取决于样点数据的分布和要创建表面的类型。

返回:
插值算法的类型。
另请参见:
InterpolationAlgorithmType

toString

public java.lang.String toString()
返回一个表示插值分析方法参数类实例的字符串。

格式为{Bounds=,ExpectedCount=,Resolution=,SearchMode=,SearchRadius=,Type=}。

覆盖:
java.lang.Object 中的 toString
返回:
表示此插值分析方法参数类实例的字符串。

dispose

public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。