对点数据集进行简单点密度分析,并返回分析结果。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static DatasetGrid PointDensity( DensityAnalystParameter parameter, DatasetVector sourceDataset, string valueFieldName, Datasource targetDatasource, string targetDatasetName ) |
参数
- parameter
- Type: SuperMap.Analyst.SpatialAnalyst..::.DensityAnalystParameter
指定点密度分析需要的参数信息。
- sourceDataset
- Type: SuperMap.Data..::.DatasetVector
需要进行点密度分析的点数据集。
- valueFieldName
- Type: System..::.String
存储用于进行密度分析的测量值的字段名称。若传null则所有点对象都按值为1处理。不支持文本类型的字段。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
用于存放结果数据集的数据源。
- targetDatasetName
- Type: System..::.String
指定结果数据集的名称。
返回值
点密度分析得到的栅格数据集。备注
简单点密度分析,即计算每个点的指定邻域形状内的每单位面积量值。计算方法为指定测量值除以邻域面积。
点的邻域叠加处,其密度值也相加。每个输出栅格的密度均为叠加在栅格上的所有邻域密度值之和。
结果栅格值的单位为原数据集单位的平方的倒数,即若原数据集单位为米,则结果栅格值的单位为每平方米。注意对于地理坐标数据集,结果栅格值的单位为“每平方度”,是没有实际意义的。
示例
以下代码示范了根据给定的点数据集、用于密度分析的测量值字段和目标数据源进行点密度分析。
CopyC#
public void PointDensity(DatasetVector datasetPoint, String fieldName, Datasource targetDatasource) { //获得一个合法的名称作为结果数据集的的名称 String resultDatasetName = targetDatasource.Datasets.GetAvailableDatasetName("resultDatasetGrid"); //设置矩形邻域形状 NeighbourShapeRectangle rectangle = new NeighbourShapeRectangle(); rectangle.Height = 5; rectangle.Width = 10; rectangle.UnitType = NeighbourUnitType.Cell; //设置密度分析参数 DensityAnalystParameter densityParam = new DensityAnalystParameter(); densityParam.Bounds = datasetPoints.Bounds; densityParam.Resolution = 5; densityParam.SearchNeighbourhood = rectangle; //调用密度分析类的点密度分析方法实现对点数据集的简单密度分析,并获得分析结果 DatasetGrid resultPointDensityGrid = DensityAnalyst.PointDensity(densityParam, datasetPoints, fieldName, targetDatasource, resultDatasetName); }