自然分割重分级,适用于分布不均匀的数据。
命名空间:
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; }