对点数据集进行简单点密度分析,并返回分析结果。

命名空间:  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);
}

请参见