栅格数据重采样,返回结果数据集。

命名空间:  SuperMap.Analyst.SpatialAnalyst
程序集:  SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll

语法

C#
public static Dataset Resample(
	Dataset sourceDataset,
	double newCellSize,
	ResampleMode resampleMode,
	Datasource targetDatasource,
	string targetDatasetName
)

参数

sourceDataset
Type: SuperMap.Data..::.Dataset
指定的用于栅格重采样的数据集。支持影像数据集,包括多波段影像。
newCellSize
Type: System..::.Double
指定的结果栅格的单元格大小。
resampleMode
Type: SuperMap.Analyst.SpatialAnalyst..::.ResampleMode
指定的重采样计算方式。
targetDatasource
Type: SuperMap.Data..::.Datasource
指定的存储结果数据集的数据源。
targetDatasetName
Type: System..::.String
指定的结果数据集的名称。

返回值

结果数据集。

备注

栅格数据经过了配准或纠正、投影等几何操作后,栅格的像元中心位置通常会发生变化,其在输入栅格中的位置不一定是整数的行列号,因此需要根据输出栅格上每个格子在输入栅格中的位置,对输入栅格按一定规则进行重采样,进行栅格值的插值计算,建立新的栅格矩阵。不同分辨率的栅格数据之间进行代数运算时,需要将栅格大小统一到一个指定的分辨率上,此时也需要对栅格进行重采样。

栅格重采样有三种常用方法:最邻近法、双线性内插法和三次卷积法。有关这三种重采样方法较为详细的介绍,请参见 ResampleMode 枚举类型。

下图为采用最邻近法,将单元格大小调整为500(原像元大小为70)的栅格重采样的实例。

示例

以下代码示范了如何进行栅格重采样操作,获取结果数据集。示例将分辨率为 30 的栅格数据重采样为分辨率为 50 的新的栅格数据,使用的重采样方法为最邻近法(ResampleMode.Nearest)。

CopyC#
private Dataset RasterResample(Dataset sourceDataset, Datasource targetDatasource)
{
    //设置结果数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
    String targetDatasetName = "resultResample";
    if (targetDatasource.Datasets.Contains(targetDatasetName))
    {
        targetDatasource.Datasets.Delete(targetDatasetName);
    }

    //调用栅格重采样方法,并获取结果数据集
    Dataset resultDataset = GeneralizeAnalyst.Resample(sourceDataset, 50, ResampleMode.Nearest, targetDatasource, targetDatasetName);

    return resultDataset;
}

请参见