气象数据查询添加fnl

This commit is contained in:
hekaiyu 2025-11-12 14:05:44 +08:00
parent f9ea2491fd
commit 2913a606f2
3 changed files with 25 additions and 0 deletions

View File

@ -6,4 +6,5 @@ public class WeatherPrefixConstants {
public static final String CRA40_PREFIX = "CRA40_";
public static final String NCEP_PREFIX = "cdas1";
public static final String T1H_PREFIX = "T1H_";
public static final String FNL_PREFIX = "fnl_";
}

View File

@ -21,6 +21,11 @@ public enum WeatherVariableNameEnum {
NCEP_H(WeatherDataSourceEnum.NCEP.getKey(), 2, "Relative_humidity_height_above_ground"),
NCEP_U(WeatherDataSourceEnum.NCEP.getKey(), 3, "u-component_of_wind_height_above_ground"),
NCEP_V(WeatherDataSourceEnum.NCEP.getKey(), 4, "v-component_of_wind_height_above_ground"),
FNL_T(WeatherDataSourceEnum.FNL.getKey(), 0, "Temperature_height_above_ground"),
FNL_P(WeatherDataSourceEnum.FNL.getKey(), 1, "Pressure_height_above_ground"),
FNL_H(WeatherDataSourceEnum.FNL.getKey(), 2, "Relative_humidity_height_above_ground"),
FNL_U(WeatherDataSourceEnum.FNL.getKey(), 3, "u-component_of_wind_height_above_ground"),
FNL_V(WeatherDataSourceEnum.FNL.getKey(), 4, "v-component_of_wind_height_above_ground"),
T1H_T(WeatherDataSourceEnum.T1H.getKey(), 0, "t2mz"),
T1H_P(WeatherDataSourceEnum.T1H.getKey(), 1, "psz"),
T1H_H(WeatherDataSourceEnum.T1H.getKey(), 2, "rh2m"),

View File

@ -82,6 +82,8 @@ public class WeatherDataServiceImpl extends ServiceImpl<WeatherDataMapper, Weath
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.CRA40);
} else if (WeatherDataSourceEnum.NCEP.getKey() == dataType){
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.NCEP);
} else if (WeatherDataSourceEnum.FNL.getKey() == dataType){
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.FNL);
} else if (WeatherDataSourceEnum.T1H.getKey() == dataType){
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.T1H);
}
@ -113,6 +115,8 @@ public class WeatherDataServiceImpl extends ServiceImpl<WeatherDataMapper, Weath
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.CRA40);
} else if (WeatherDataSourceEnum.NCEP.getKey() == dataType){
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.NCEP);
} else if (WeatherDataSourceEnum.FNL.getKey() == dataType){
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.FNL);
} else if (WeatherDataSourceEnum.T1H.getKey() == dataType){
return processWeatherData(weatherType, targetTime, WeatherDataSourceEnum.T1H);
}
@ -621,6 +625,8 @@ public class WeatherDataServiceImpl extends ServiceImpl<WeatherDataMapper, Weath
storagePath.append(this.systemStorageProperties.getCra40());
} else if (WeatherDataSourceEnum.NCEP.getKey().equals(dataSource)) {
storagePath.append(this.systemStorageProperties.getNcep());
} else if (WeatherDataSourceEnum.FNL.getKey().equals(dataSource)) {
storagePath.append(this.systemStorageProperties.getFnl());
} else if (WeatherDataSourceEnum.T1H.getKey().equals(dataSource)) {
storagePath.append(this.systemStorageProperties.getT1h());
}
@ -718,6 +724,12 @@ public class WeatherDataServiceImpl extends ServiceImpl<WeatherDataMapper, Weath
variables.put("humidity", WeatherVariableNameEnum.NCEP_H.getValue());
variables.put("windU", WeatherVariableNameEnum.NCEP_U.getValue());
variables.put("windV", WeatherVariableNameEnum.NCEP_V.getValue());
} else if (WeatherDataSourceEnum.FNL.getKey() == dataType){
variables.put("temperature", WeatherVariableNameEnum.FNL_T.getValue());
variables.put("pressure", WeatherVariableNameEnum.FNL_P.getValue());
variables.put("humidity", WeatherVariableNameEnum.FNL_H.getValue());
variables.put("windU", WeatherVariableNameEnum.FNL_U.getValue());
variables.put("windV", WeatherVariableNameEnum.FNL_V.getValue());
} else if (WeatherDataSourceEnum.T1H.getKey() == dataType){
variables.put("temperature", WeatherVariableNameEnum.T1H_T.getValue());
variables.put("pressure", WeatherVariableNameEnum.T1H_P.getValue());
@ -921,6 +933,13 @@ public class WeatherDataServiceImpl extends ServiceImpl<WeatherDataMapper, Weath
.append(WeatherSuffixConstants.NCEP_SUFFIX)
.append(".")
.append(WeatherFileSuffixEnum.GRB2.getValue());
} else if (WeatherDataSourceEnum.FNL.equals(dataTypeEnum)) {
storagePath.append(systemStorageProperties.getFnl())
.append(File.separator)
.append(WeatherPrefixConstants.FNL_PREFIX)
.append(targetTime.format(DateTimeFormatter.ofPattern("yyyyMMdd_HH_mm")))
.append(".")
.append(WeatherFileSuffixEnum.GRIB2.getValue());
} else if (WeatherDataSourceEnum.T1H.equals(dataTypeEnum)) {
storagePath.append(systemStorageProperties.getT1h())
.append(File.separator)