自然分割重分级,适用于分布不均匀的数据。

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

语法

C#
public static DatasetGrid Slice(
	DatasetGrid sourceDataset,
	Datasource targetDatasource,
	string targetDatasetName,
	int numberZones,
	int baseOutputZones
)

参数

sourceDataset
Type: SuperMap.Data..::.DatasetGrid
指定的进行重分级操作的栅格数据集。
targetDatasource
Type: SuperMap.Data..::.Datasource
指定的用于存储结果数据集的数据源。
targetDatasetName
Type: System..::.String
指定的结果数据集名称。
numberZones
Type: System..::.Int32
将栅格数据集重分级的区域数量。
baseOutputZones
Type: System..::.Int32
结果栅格数据集中最低区域的值。

返回值

结果栅格数据集。

备注

Jenks自然间断法

该重分级方法利用的是Jenks自然间断法。Jenks自然间断法基于数据中固有的自然分组,这是方差最小化分级的形式,间断通常不均匀,且间断 选择在值出现剧烈变动的地方,所以该方法能对相似值进行恰当分组并可使各分级间差异最大化。Jenks间断点分级法会将相似值(聚类值)放置 在同一类中,所以该方法适用于分布不均匀的数据值。

如下图所示,图一以重分级区域为9,最低区域值为1自然分割重分级后得到图二的结果:

示例

以下代码示范了如何对栅格数据集进行自然分割重分级,获取分级后栅格数据集。

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

    //设置分级区域数为9,将待分级栅格数据的最小值到最大值自然分割为9份。最低区域值设为1,重分级后的值以1为起始值每级递增。
    DatasetGrid resultDatasetGrid = GeneralizeAnalyst.Slice(sourceDatasetGrid, targetDatasource,targetDatasetName,9,1);

    return resultDatasetGrid;
}

请参见