Почти подправил
This commit is contained in:
@ -17,14 +17,14 @@ custom:
|
|||||||
data_dir: /data/
|
data_dir: /data/
|
||||||
db_all:
|
db_all:
|
||||||
#url: jdbc:postgresql://92.46.48.43:5444/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://92.46.48.43:5444/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
url: jdbc:postgresql://192.168.0.90:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://192.168.0.90:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
#url: jdbc:postgresql://127.0.0.1:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
url: jdbc:postgresql://127.0.0.1:5432/weather?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
login: postgres
|
login: postgres
|
||||||
password: PasSecrKey1
|
password: PasSecrKey1
|
||||||
db_ru:
|
db_ru:
|
||||||
#url: jdbc:postgresql://92.46.48.43:5444/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://92.46.48.43:5444/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
url: jdbc:postgresql://192.168.0.90:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
#url: jdbc:postgresql://192.168.0.90:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
#url: jdbc:postgresql://127.0.0.1:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
url: jdbc:postgresql://127.0.0.1:5432/weather_ru?ApplicationName=kz_mcp_weather&sslmode=require
|
||||||
login: postgres
|
login: postgres
|
||||||
password: PasSecrKey1
|
password: PasSecrKey1
|
||||||
|
|
||||||
|
|||||||
@ -292,84 +292,94 @@ public class AirTemperature implements ServletContextAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int pos=0;
|
int pos=0;
|
||||||
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
try{
|
||||||
{
|
for(int nLat=0;nLat<dataArrayLat.getSize();nLat++)
|
||||||
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
|
||||||
{
|
{
|
||||||
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
for(int nLon=0;nLon<dataArrayLon.getSize();nLon++)
|
||||||
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
|
||||||
double lon = dataArrayLon.getFloat(nLon);
|
|
||||||
if(lon>180) lon=lon-360;
|
|
||||||
double lat = dataArrayLat.getFloat(nLat);
|
|
||||||
|
|
||||||
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
|
||||||
{
|
{
|
||||||
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
//WGS84 Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||||
{
|
//Projected Bounds: -180.0000, -90.0000, 180.0000, 90.0000
|
||||||
String country_id="";
|
double lon = dataArrayLon.getFloat(nLon);
|
||||||
boolean db_all=false,db_ru=false;
|
if(lon>180) lon=lon-360;
|
||||||
if(st_all!=null && country_id.isEmpty()) {
|
double lat = dataArrayLat.getFloat(nLat);
|
||||||
country_id = DBTools.getCountryId(st_all, lon, lat);
|
|
||||||
if(!country_id.isEmpty()) db_all=true;
|
|
||||||
}
|
|
||||||
if(st_ru!=null && country_id.isEmpty()) {
|
|
||||||
country_id = DBTools.getCountryId(st_ru, lon, lat);
|
|
||||||
if(!country_id.isEmpty()) db_ru=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
if(lat>29 && lat<67 && lon>17 && lon<180) //Central Asia
|
||||||
|
{
|
||||||
|
if(!Float.isNaN(dataArrayTmp.getFloat(pos))) //On the water none temperatyre.
|
||||||
{
|
{
|
||||||
String sql= """
|
String country_id="";
|
||||||
insert into main.air_temperature(
|
boolean db_all=false,db_ru=false;
|
||||||
val,
|
if(st_all!=null && country_id.isEmpty()) {
|
||||||
country_id,
|
country_id = DBTools.getCountryId(st_all, lon, lat);
|
||||||
point_id,
|
if(!country_id.isEmpty()) db_all=true;
|
||||||
air_temperature_date_id
|
|
||||||
)values(
|
|
||||||
?,
|
|
||||||
?,
|
|
||||||
?,
|
|
||||||
main.get_air_temperature_date(cast(to_timestamp(?, 'YYYYMMDD HH24') as timestamp without time zone),?)
|
|
||||||
);
|
|
||||||
""";
|
|
||||||
String point_id=null;
|
|
||||||
if(db_all) {
|
|
||||||
point_id = DBTools.getPointId(st_all, country_id, lon, lat);
|
|
||||||
if(point_id!=null) {
|
|
||||||
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
|
||||||
pstmt.setLong(3, Long.valueOf(point_id));
|
|
||||||
pstmt.setString(4, date + " " + time);
|
|
||||||
pstmt.setInt(5, Integer.valueOf(forecast));
|
|
||||||
pstmt.executeUpdate();
|
|
||||||
} catch (SQLException ex) {
|
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
|
||||||
//throw new Exception("Failed insert ...");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if(db_ru) {
|
if(st_ru!=null && country_id.isEmpty()) {
|
||||||
point_id = DBTools.getPointId(st_ru, country_id, lon, lat);
|
country_id = DBTools.getCountryId(st_ru, lon, lat);
|
||||||
if(point_id!=null) {
|
if(!country_id.isEmpty()) db_ru=true;
|
||||||
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
}
|
||||||
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
|
||||||
pstmt.setLong(2, Long.valueOf(country_id));
|
if(country_id!=null && !country_id.equals("") && !country_id.equals("null"))
|
||||||
pstmt.setLong(3, Long.valueOf(point_id));
|
{
|
||||||
pstmt.setString(4, date + " " + time);
|
String sql= """
|
||||||
pstmt.setInt(5, Integer.valueOf(forecast));
|
insert into main.air_temperature(
|
||||||
pstmt.executeUpdate();
|
val,
|
||||||
} catch (SQLException ex) {
|
country_id,
|
||||||
logger.error("E11:"+ex.getMessage(),ex);
|
air_temperature_date_id,
|
||||||
//throw new Exception("Failed insert ...");
|
point_id
|
||||||
}
|
)values(
|
||||||
|
?,
|
||||||
|
?,
|
||||||
|
main.get_air_temperature_date(cast(to_timestamp(?, 'YYYYMMDD HH24') as timestamp without time zone),?),
|
||||||
|
main.get_point_id(?,?,?)
|
||||||
|
);
|
||||||
|
""";
|
||||||
|
//String point_id=null;
|
||||||
|
if(db_all) {
|
||||||
|
//point_id = DBTools.getPointId(st_all, country_id, lon, lat);
|
||||||
|
//if(point_id!=null) {
|
||||||
|
try (PreparedStatement pstmt = conn_all.prepareStatement(sql)) {
|
||||||
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
|
//pstmt.setLong(3, Long.valueOf(point_id));
|
||||||
|
pstmt.setString(3, date + " " + time);
|
||||||
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
|
pstmt.setDouble(6, lon);
|
||||||
|
pstmt.setDouble(7, lat);
|
||||||
|
pstmt.executeUpdate();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
|
throw new Exception("Failed insert ...");
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
if(db_ru) {
|
||||||
|
//point_id = DBTools.getPointId(st_ru, country_id, lon, lat);
|
||||||
|
//if(point_id!=null) {
|
||||||
|
try (PreparedStatement pstmt = conn_ru.prepareStatement(sql)) {
|
||||||
|
pstmt.setFloat(1, dataArrayTmp.getFloat(pos));
|
||||||
|
pstmt.setLong(2, Long.valueOf(country_id));
|
||||||
|
//pstmt.setLong(3, Long.valueOf(point_id));
|
||||||
|
pstmt.setString(3, date + " " + time);
|
||||||
|
pstmt.setInt(4, Integer.valueOf(forecast));
|
||||||
|
pstmt.setLong(5, Long.valueOf(country_id));
|
||||||
|
pstmt.setDouble(6, lon);
|
||||||
|
pstmt.setDouble(7, lat);
|
||||||
|
pstmt.executeUpdate();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
logger.error("E11:"+ex.getMessage(),ex);
|
||||||
|
throw new Exception("Failed insert ...");
|
||||||
|
}
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pos++;
|
||||||
}
|
}
|
||||||
pos++;
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error(ex.getMessage(),ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Cut data piece from big country of Russia
|
//Cut data piece from big country of Russia
|
||||||
@ -410,6 +420,7 @@ public class AirTemperature implements ServletContextAware {
|
|||||||
try { if(conn_ru!=null) conn_ru.close();} catch (SQLException ex) {logger.error("N15:"+ex.getMessage(),ex);}
|
try { if(conn_ru!=null) conn_ru.close();} catch (SQLException ex) {logger.error("N15:"+ex.getMessage(),ex);}
|
||||||
|
|
||||||
result+="End!<br>";
|
result+="End!<br>";
|
||||||
|
System.out.println("Done download and save");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -365,7 +365,7 @@ public class Precipitation implements ServletContextAware {
|
|||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
//throw new Exception("Failed insert precipitation...");
|
throw new Exception("Failed insert precipitation...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -381,7 +381,7 @@ public class Precipitation implements ServletContextAware {
|
|||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
//throw new Exception("Failed insert precipitation...");
|
throw new Exception("Failed insert precipitation...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -385,7 +385,7 @@ public class SoilTmperature implements ServletContextAware {
|
|||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
//throw new Exception("Failed insert soil temperature...");
|
throw new Exception("Failed insert soil temperature...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -401,7 +401,7 @@ public class SoilTmperature implements ServletContextAware {
|
|||||||
pstmt.executeUpdate();
|
pstmt.executeUpdate();
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
logger.error("E10:"+ex.getMessage(),ex);
|
logger.error("E10:"+ex.getMessage(),ex);
|
||||||
//throw new Exception("Failed insert soil temperature...");
|
throw new Exception("Failed insert soil temperature...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user