fix:修改太阳能辐射模拟与预报

main
xlp 5 months ago
parent 430229968a
commit 260d10f90f

@ -63,7 +63,7 @@ public class SimulAndPredicController {
// 获取当前日期和时间的 Calendar 对象
String time = solarReq.getTime();
//1.辐射出图
String pathFile = solarenergyService.calSolarRadiation(RasterSolarRadiationOperation.SolarEadiationAnalysisType.DAY_TOTAL_SOLARRADIATION_AMOUNT,time, 0, 1500);
String pathFile = solarenergyService.calSolarRadiation(RasterSolarRadiationOperation.SolarEadiationAnalysisType.DAY_TOTAL_SOLARRADIATION_AMOUNT,time, solarReq.getCloudcoverof10parts(), 1500);
//2.发布geoserverter服务并存入数据库
Long aLong = geoServerPubService.pubGeoServerAndSavetoDB("style_tynday", "EPSG:3857",pathFile, solarReq.getRegionname());
if (Objects.isNull(aLong)|| aLong == -1){
@ -101,7 +101,7 @@ public class SimulAndPredicController {
// 获取当前日期和时间的 Calendar 对象
String time = solarReq.getTime();
//1.辐射出图
String pathFile = solarenergyService.calSolarRadiation(RasterSolarRadiationOperation.SolarEadiationAnalysisType.DAY_TOTAL_SOLARRADIATION_AMOUNT, time, 0, 1500);
String pathFile = solarenergyService.calSolarRadiation(RasterSolarRadiationOperation.SolarEadiationAnalysisType.DAY_TOTAL_SOLARRADIATION_AMOUNT, time, solarReq.getCloudcoverof10parts(), 1500);
//2.发布geoserverter服务并存入数据库
Long aLong = geoServerPubService.pubGeoServerAndSavetoDB("style_tynday", "EPSG:3857",pathFile, solarReq.getRegionname());
if (Objects.isNull(aLong)|| aLong == -1){

@ -19,7 +19,8 @@ public class SolarPredicReq {
@ApiModelProperty(value = "预报时间", name = "time", notes = "格式为yyyy-MM-dd")
@DateTimeFormat(pattern = DATE_FORMAT)
private String time;
@ApiModelProperty(value = "云量,输入0-10, 默认为0", name = "cloudcoverof10parts")
double cloudcoverof10parts;
@ApiModelProperty(value = "地区名称", name = "regionname")
private String regionname;

@ -10,6 +10,7 @@ import com.cuit.gis.raster.GeoTiff;
import com.cuit.gis.raster.GridCoverageUtil;
import com.cuit.solarenergy.utils.TimeUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.geotools.coverage.grid.GridCoverage2D;
import org.opengis.referencing.FactoryException;
@ -167,7 +168,9 @@ public class SolarenergyService {
*/
//RasterSolarRadiationOperation.SolarEadiationAnalysisType type = RasterSolarRadiationOperation.SolarEadiationAnalysisType.MONTH_TOTAL_SOLARRADIATION_AMOUNT;
// RasterSolarRadiationOperation.SolarEadiationAnalysisType type = RasterSolarRadiationOperation.SolarEadiationAnalysisType.SUNRISETIME;
if (ObjectUtils.isEmpty(cloudcoverof10parts)){
cloudcoverof10parts = 0;
}
GridCoverage2D solarRadiationCoverage2D = solarRadiationSpatialAnalysis.calculateSolarRadiation(slopCoverage, aspectCoverage, type, calendar, cloudcoverof10parts);
GridCoverageUtil.writeGeoTiff(solarRadiationCoverage2D, outFileName);

Loading…
Cancel
Save