计算区域太阳辐射,即整个DEM范围内每个栅格的太阳辐射情况。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static SolarRadiationResult AreaSolarRadiation( DatasetGrid sourceDatasetGrid, SolarRadiationParameter parameter, Datasource targetDatasource, string totalGridName, string directGridName, string diffuseGridName, string durationGridName ) |
参数
- sourceDatasetGrid
- Type: SuperMap.Data..::.DatasetGrid
待计算太阳辐射的DEM栅格数据。
- parameter
- Type: SuperMap.Analyst.SpatialAnalyst..::.SolarRadiationParameter
太阳辐射计算参数。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的用于存储结果数据的数据源。
- totalGridName
- Type: System..::.String
指定的总辐射量结果数据集的名称。
- directGridName
- Type: System..::.String
指定的直射辐射量结果数据集的名称。可选,允许传null。
- diffuseGridName
- Type: System..::.String
指定的散射辐射量结果数据集的名称。可选,允许传null。
- durationGridName
- Type: System..::.String
指定的太阳直射持续时间结果数据集的名称。可选,允许传null。
返回值
太阳辐射结果对象。示例
以下代码示范了如何对给定的栅格数据集进行区域太阳辐射计算。
CopyC#
public void GridAreaSolarRadiation(DatasetGrid sourceDatasetGrid, Datasource targetDatasource) { //构造太阳辐射参数对象 SolarRadiationParameter parameter = new SolarRadiationParameter(); parameter.Latitude = 30.0; parameter.TimeMode = SolarTimeMode.WithinDay; parameter.DayStart = 100; parameter.HourStart = 6; parameter.HourEnd = 18; parameter.Transmittance = 0.5; //调用区域太阳辐射方法,获得太阳辐射结果对象 SolarRadiationResult solarRadiationResult = SolarRadiation.AreaSolarRadiation(sourceDatasetGrid, parameter, targetDatasource, "TotalRadiation", "DirectRadiation", "DiffuseRadiation", "DurationRadiation"); //从太阳辐射结果中提取结果数据集 DatasetGrid totalGrid = solarRadiationResult.TotalDatasetGrid; DatasetGrid directGrid = solarRadiationResult.DirectDatasetGrid; DatasetGrid diffuseGrid = solarRadiationResult.DiffuseDatasetGrid; DatasetGrid durationGrid = solarRadiationResult.DurationDatasetGrid; //参数类资源释放 parameter.Dispose(); }