diff --git a/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java b/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java index 01f8391..3b1bc70 100644 --- a/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java +++ b/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java @@ -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){ diff --git a/src/main/java/com/cuit/solarenergy/entity/vo/req/SolarPredicReq.java b/src/main/java/com/cuit/solarenergy/entity/vo/req/SolarPredicReq.java index a75112b..69e7d2d 100644 --- a/src/main/java/com/cuit/solarenergy/entity/vo/req/SolarPredicReq.java +++ b/src/main/java/com/cuit/solarenergy/entity/vo/req/SolarPredicReq.java @@ -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; diff --git a/src/main/java/com/cuit/solarenergy/service/SolarenergyService.java b/src/main/java/com/cuit/solarenergy/service/SolarenergyService.java index ce13168..7c4cdb3 100644 --- a/src/main/java/com/cuit/solarenergy/service/SolarenergyService.java +++ b/src/main/java/com/cuit/solarenergy/service/SolarenergyService.java @@ -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);