com.supermap.analyst.spatialanalyst
类 SolarRadiation
- java.lang.Object
-
- com.supermap.analyst.spatialanalyst.SolarRadiation
-
public class SolarRadiation extends Object
太阳辐射分析类。该类提供基于DEM计算表面太阳辐射量的功能。
-
-
方法概要
所有方法 静态方法 具体方法 已过时的方法 限定符和类型 方法和说明 static void
addSteppedListener(SteppedListener l)
添加一个进度条事件(SteppedEvent
)的监听器。static SolarRadiationResult
areaSolarRadiation(DatasetGrid sourceDatasetGrid, SolarRadiationParameter parameter, Datasource targetDatasource, String totalGridName, String directGridName, String diffuseGridName, String durationGridName)
static SolarRadiationResult
areaSolarRadiation(DatasetGrid sourceDatasetGrid, SolarRadiationParameter parameter, Datasource targetDatasource, String totalGridName, String directGridName, String diffuseGridName, String durationGridName, SteppedListener... listeners)
计算区域太阳辐射,即整个DEM范围内每个栅格的太阳辐射情况。static void
removeSteppedListener(SteppedListener l)
移除一个进度条事件(SteppedEvent
)的监听器。
-
-
-
方法详细资料
-
areaSolarRadiation
@Deprecated public static SolarRadiationResult areaSolarRadiation(DatasetGrid sourceDatasetGrid, SolarRadiationParameter parameter, Datasource targetDatasource, String totalGridName, String directGridName, String diffuseGridName, String durationGridName)
已过时。 此方法已废弃,请使用支持进度监听的新方法SolarRadiation.areaSolarRadiation(DatasetGrid, SolarRadiationParameter, Datasource, String, String, String, String, SteppedListener...)
替换。计算区域太阳辐射,即整个DEM范围内每个栅格的太阳辐射情况。- 参数:
sourceDatasetGrid
- 待计算太阳辐射的DEM栅格数据。parameter
- 太阳辐射计算参数。targetDatasource
- 指定的用于存储结果数据的数据源。totalGridName
- 指定的总辐射量结果数据集的名称。directGridName
- 指定的直射辐射量结果数据集的名称。可选,允许传null。diffuseGridName
- 指定的散射辐射量结果数据集的名称。可选,允许传null。durationGridName
- 指定的太阳直射持续时间结果数据集的名称。可选,允许传null。- 返回:
- 太阳辐射结果对象。
- 示范代码:
- 以下代码示范了如何对给定的栅格数据集进行区域太阳辐射计算。
public void GridAreaSolarRadiation(DatasetGrid sourceDatasetGrid, Datasource targetDatasource) { //构造太阳辐射参数对象 SolarRadiationParameter parameter = new SolarRadiationParameter(); parameter.setLatitude(30.0); parameter.setTimeMode(SolarTimeMode.WITHINDAY); parameter.setDayStart(100); parameter.setHourStart(6); parameter.setHourEnd(18); parameter.setTransmittance(0.5); //调用区域太阳辐射方法,获得太阳辐射结果对象 SolarRadiationResult solarRadiationResult = SolarRadiation.areaSolarRadiation(sourceDatasetGrid, parameter, targetDatasource, "TotalRadiation", "DirectRadiation", "DiffuseRadiation", "DurationRadiation"); //从太阳辐射结果中提取结果数据集 DatasetGrid totalGrid = solarRadiationResult.getTotalDatasetGrid(); DatasetGrid directGrid = solarRadiationResult.getDirectDatasetGrid(); DatasetGrid diffuseGrid = solarRadiationResult.getDiffuseDatasetGrid(); DatasetGrid durationGrid = solarRadiationResult.getDurationDatasetGrid(); //参数类资源释放 parameter.dispose(); }
-
areaSolarRadiation
public static SolarRadiationResult areaSolarRadiation(DatasetGrid sourceDatasetGrid, SolarRadiationParameter parameter, Datasource targetDatasource, String totalGridName, String directGridName, String diffuseGridName, String durationGridName, SteppedListener... listeners)
计算区域太阳辐射,即整个DEM范围内每个栅格的太阳辐射情况。- 参数:
sourceDatasetGrid
- 待计算太阳辐射的DEM栅格数据。parameter
- 太阳辐射计算参数。targetDatasource
- 指定的用于存储结果数据的数据源。totalGridName
- 指定的总辐射量结果数据集的名称。directGridName
- 指定的直射辐射量结果数据集的名称。可选,允许传null。diffuseGridName
- 指定的散射辐射量结果数据集的名称。可选,允许传null。durationGridName
- 指定的太阳直射持续时间结果数据集的名称。可选,允许传null。listeners
- 用于接收进度条事件的监听器。- 返回:
- 太阳辐射结果对象。
- 示范代码:
- 以下代码示范了如何对给定的栅格数据集进行区域太阳辐射计算。
public void GridAreaSolarRadiation(DatasetGrid sourceDatasetGrid, Datasource targetDatasource) { //构造太阳辐射参数对象 SolarRadiationParameter parameter = new SolarRadiationParameter(); parameter.setLatitude(30.0); parameter.setTimeMode(SolarTimeMode.WITHINDAY); parameter.setDayStart(100); parameter.setHourStart(6); parameter.setHourEnd(18); parameter.setTransmittance(0.5); //调用区域太阳辐射方法,获得太阳辐射结果对象 SolarRadiationResult solarRadiationResult = SolarRadiation.areaSolarRadiation(sourceDatasetGrid, parameter, targetDatasource, "TotalRadiation", "DirectRadiation", "DiffuseRadiation", "DurationRadiation"); //从太阳辐射结果中提取结果数据集 DatasetGrid totalGrid = solarRadiationResult.getTotalDatasetGrid(); DatasetGrid directGrid = solarRadiationResult.getDirectDatasetGrid(); DatasetGrid diffuseGrid = solarRadiationResult.getDiffuseDatasetGrid(); DatasetGrid durationGrid = solarRadiationResult.getDurationDatasetGrid(); //参数类资源释放 parameter.dispose(); }
-
addSteppedListener
public static void addSteppedListener(SteppedListener l)
添加一个进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 一个用于接收进度条事件的监听器。
-
removeSteppedListener
public static void removeSteppedListener(SteppedListener l)
移除一个进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 一个用于接收进度条事件的监听器。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.