public class InterpolationIDWParameter extends InterpolationParameter
距离反比权值插值(Inverse Distance Weighted)参数类,继承自 InterpolationParameter
类。通过该类可以为 IDW 插值算法提供必要的参数信息,包括距离权重计算的幂次、查找模式、插值运算时使用的分辨率、查找的范围等。
public void interpolateFromRecordset() { //返回用来进行插值分析的点记录集 Workspace workspace = new Workspace(); DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo("G:\\Data\\ElevationPoints.udb", "ElevationPoints", ""); Datasource targetDatasource = workspace.getDatasources().open(datasourceConnectionInfo); DatasetVector datasetElevPoints = (DatasetVector)targetDatasource.getDatasets().get("elevationpoints"); QueryParameter queryParam = new QueryParameter(); queryParam.setAttributeFilter ("CODE=505"); queryParam.setHasGeometry (true); Recordset queryResult = datasetElevPoints.query(queryParam); //返回一个合法的名称作为结果数据集的的名称 String resultDatasetName = targetDatasource.getDatasets().getAvailableDatasetName("resultDatasetGrid"); //设置距离反比权值插值参数 InterpolationIDWParameter interpolationMethodIDWParam = new InterpolationIDWParameter(); interpolationMethodIDWParam.setExpectedCount ( 5); interpolationMethodIDWParam.setBounds( datasetElevPoints.getBounds()); interpolationMethodIDWParam.setPower( 2); interpolationMethodIDWParam.setResolution ( 285); interpolationMethodIDWParam.setSearchMode ( SearchMode.KDTREE_FIXED_COUNT); //调用利用点记录集进行插值分析的方法并返回插值结果 DatasetGrid resultInterpolationGrid = Interpolator.interpolate(interpolationMethodIDWParam, queryResult, "ELEV", 0.7, targetDatasource, resultDatasetName, PixelFormat.SINGLE); //释放工作空间占有的资源 queryResult.dispose(); workspace.dispose(); }
构造器和说明 |
---|
InterpolationIDWParameter()
构造一个新的 InterpolationIDWParameter 对象。
|
InterpolationIDWParameter(double resolution,
SearchMode mode,
double searchRadius,
int expectedCount)
根据指定的参数构造一个 InterpolationIDWParameter 的新对象。
|
InterpolationIDWParameter(double resolution,
SearchMode mode,
double searchRadius,
int expectedCount,
int power)
根据指定的参数构造一个 InterpolationIDWParameter 的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
DatasetVector |
getBreakDataset()
返回打断线数据集。
|
int |
getPower()
返回距离权重计算的幂次。
|
InterpolationAlgorithmType |
getType()
返回插值算法类型。
|
void |
setBreakDataset(DatasetVector breakDataset)
设置打断线数据集。
|
void |
setPower(int value)
设置距离权重计算的幂次。
|
void |
setSearchMode(SearchMode searchMode)
设置查找方式。
|
String |
toString()
返回一个表示 InterpolationIDWParameter 对象的字符串。
|
dispose, getBounds, getExpectedCount, getMaxPointCountForInterpolation, getMaxPointCountInNode, getResolution, getSearchMode, getSearchRadius, setBounds, setExpectedCount, setMaxPointCountForInterpolation, setMaxPointCountInNode, setResolution, setSearchRadius
public InterpolationIDWParameter()
public InterpolationIDWParameter(double resolution, SearchMode mode, double searchRadius, int expectedCount)
resolution
- 指定的插值运算时使用的分辨率。mode
- 指定插值运算时,查找参与运算点的方式。searchRadius
- 指定的查找范围。expectedCount
- 指定的需要查找的点数。public InterpolationIDWParameter(double resolution, SearchMode mode, double searchRadius, int expectedCount, int power)
resolution
- 指定的插值运算时使用的分辨率。mode
- 指定插值运算时,查找参与运算点的方式。searchRadius
- 指定的查找范围。expectedCount
- 指定的需要查找的点数。power
- 指定的距离权重计算的幂次。public InterpolationAlgorithmType getType()
getType
在类中 InterpolationParameter
InterpolationAlgorithmType
public int getPower()
幂次值越低,内插结果越平滑,幂次值越高,内插结果细节越详细。此参数应为一个大于0的值。如果不指定此参数,方法缺省将其设置为1。
public void setPower(int value)
幂次值越低,内插结果越平滑,幂次值越高,内插结果细节越详细。此参数应为一个大于0的值。如果不指定此参数,方法缺省将其设置为1。
value
- 距离权重计算的幂次。public void setSearchMode(SearchMode searchMode)
SearchMode
类。
重写基类的方法,当设置查找方式 SearchMode
为 QUADTREE
时抛出异常,表示不支持该查找方式。
setSearchMode
在类中 InterpolationParameter
searchMode
- 查找方式。SearchMode
public DatasetVector getBreakDataset()
public void setBreakDataset(DatasetVector breakDataset)
breakDataset
- 设置打断线数据集。public String toString()
toString
在类中 InterpolationParameter
Copyright © 2021–2024 SuperMap. All rights reserved.