对点数据集进行插值分析,并返回分析结果。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static DatasetGrid Interpolate( InterpolationParameter parameter, DatasetVector interpolatedPoint, string zValueFieldName, double zValueScale, Datasource targetDatasource, string targetDatasetName, PixelFormat pixelFormat ) |
参数
- parameter
- Type: SuperMap.Analyst.SpatialAnalyst..::.InterpolationParameter
指定插值方法需要的参数信息。
- interpolatedPoint
- Type: SuperMap.Data..::.DatasetVector
需要进行插值分析的点数据集。
- zValueFieldName
- Type: System..::.String
存储用于进行插值分析的值的字段名称。插值分析不支持文本类型的字段。
- zValueScale
- Type: System..::.Double
对用于进行插值分析值的缩放比率。参加插值分析的值将乘以该参数值后再进行插值,也就是对进行插值分析的值进行统一的扩大或缩小。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
用于存放结果数据集的数据源。
- targetDatasetName
- Type: System..::.String
指定结果数据集的名称。
- pixelFormat
- Type: SuperMap.Data..::.PixelFormat
指定结果栅格数据集存储的像素格式。方法中此参数不支持 Bit64 格式。
返回值
插值分析得到的栅格数据集。备注
注意:
对于点密度插值(InterpolationAlgorithmType.DENSITY),由于点密度插值是根据插值点的分布状态进行插值而不是根据插值点的字段值插值,因此在进行点密度插值时,zValueFieldName 参数所指定的字段的含义为每个插值点在密度插值过程中的权重,可将所有点此字段值设置为 1,即所有点在整体插值中权重相同。
示例
以下代码示范了根据给定的点数据集、用于插值的字段和目标数据源进行插值分析,并且选择距离反比权值插值法进行插值。
CopyC#
public void InterpolationIDW(DatasetVector datasetPoints, String zFieldName, Datasource targetDatasource) { //获得一个合法的名称作为结果数据集的的名称 String resultDatasetName = targetDatasource.Datasets.GetAvailableDatasetName("resultDatasetGrid"); //设置距离反比权值插值参数 InterpolationIDWParameter interpolationMethodIDWParam = new InterpolationIDWParameter(); interpolationMethodIDWParam.ExpectedCount = 5; interpolationMethodIDWParam.Bounds = datasetPoints.Bounds; interpolationMethodIDWParam.Power = 2; interpolationMethodIDWParam.Resolution = 285; interpolationMethodIDWParam.SearchMode = SearchMode.KdTreeFixedCount; //调用插值分析类的插值分析方法实现对点数据集的插值,并获得分析结果 DatasetGrid resultInterpolationGrid = Interpolator.Interpolate(interpolationMethodIDWParam, datasetPoints, zFieldName, 0.7, targetDatasource, resultDatasetName, PixelFormat.Single); }