栅格常用统计分析。
命名空间:
SuperMap.Analyst.SpatialAnalyst将输入栅格数据集与一个或多个栅格数据集的对应像元值进行比较,结果栅格数据集的像元值为比较结果为“真”的次数。
程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static DatasetGrid CommonStatistics( DatasetGrid sourceDataset, DatasetGrid[] compareDatasets, StatisticsCompareType compareType, bool isIgnoreNoValue, Datasource targetDatasource, string targetDatasetName ) |
参数
- sourceDataset
- Type: SuperMap.Data..::.DatasetGrid
指定的待统计的栅格数据。
- compareDatasets
- Type: array<
SuperMap.Data..::.DatasetGrid
>[]()[]
- compareType
- Type: SuperMap.Analyst.SpatialAnalyst..::.StatisticsCompareType
指定的比较的类型。
- isIgnoreNoValue
- Type: System..::.Boolean
指定是否忽略无值。如果为 true,即忽略无值,则计算区域内的无值不参与计算,结果栅格值仍为无值;若为 false,则计算区域内的无值参与计算。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的用于存储结果数据的数据源。
- targetDatasetName
- Type: System..::.String
指定的结果数据集的名称。
返回值
统计结果栅格数据集。备注
关于无值的说明:
- 当待统计源数据集的栅格有无值时,如果忽略无值,则统计结果栅格也为无值,否则使用该无值参与统计;当各比较数据集的栅格有无值时,如果忽略无值,则此次统计(待统计栅格与该比较数据集的计算)不计入结果,否则使用该无值进行比较。
- 当无值不参与运算(即忽略无值)时,统计结果数据集中无值的值,由结果栅格的像素格式决定,为最大像元值,例如,结果栅格数据集像素格式为 PixelFormat.UBit8,即每个像元使用 8 个比特表示,则无值的值为 255。在此方法中,结果栅格的像素格式是由比较栅格数据集的数量来决定的。比较数据集得个数、结果栅格的像素格式和结果栅格中无值的值三者的对应关系如下所示:
示例
以下代码示范了如何对给定的栅格数据集进行常用统计分析,分析的方式是与栅格数据集集合进行比较,即使用该方法可以与一个或多个栅格数据集进行比较,比较方式为“小于或等于”,且无值不参与运算。
CopyC#
public DatasetGrid GridCommonStatisticsCompareWithGrid(DatasetGrid sourceDatasetGrid, DatasetGrid[] comparedDatasetsGrid, Datasource targetDatasource) { //设置结果栅格数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除 String targetDatasetName = "commonStastisticsResult"; if (targetDatasource.Datasets.Contains(targetDatasetName)) { targetDatasource.Datasets.Delete(targetDatasetName); } //调用栅格常用统计分析方法,并获取分析结果栅格数据集 DatasetGrid resultDatasetGrid = StatisticsAnalyst.CommonStatistics(sourceDatasetGrid, comparedDatasetsGrid, StatisticsCompareType.LessOrEqual, false, targetDatasource, targetDatasetName); return resultDatasetGrid; }