From 428851fa44382ddd420d88dc79ee944162e5f93a Mon Sep 17 00:00:00 2001 From: xingjinshuang <xingjs@qq.com> Date: 星期四, 26 十二月 2024 17:18:52 +0800 Subject: [PATCH] @xingjs@20241226@添加查询管线工具类,修改解决查询站点接口token存在无法获取的情况,解决后可正常获取token,并查询出需要的站点;解析shp文件获取站点范围;新增把降水CSV文件内容解析保存到数据库中;计算CSV文件中的降水时间和降水总量 --- src/main/java/com/se/simu/utils/CsvToSQLiteUtils.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/se/simu/utils/CsvToSQLiteUtils.java b/src/main/java/com/se/simu/utils/CsvToSQLiteUtils.java index 1d35646..7dcf5fa 100644 --- a/src/main/java/com/se/simu/utils/CsvToSQLiteUtils.java +++ b/src/main/java/com/se/simu/utils/CsvToSQLiteUtils.java @@ -230,4 +230,43 @@ } } + public static Double getTotal(String tableName) { + // 1. 鍒涘缓SQLite鏁版嵁搴撹繛鎺� + try (Connection conn = DriverManager.getConnection("jdbc:sqlite:rainfall.db")) { + if (conn != null) { + // 2. 鎵цSQL鏌ヨ + String queryDataSql = "SELECT sum(rainfall_difference) AS total" + + "FROM " + + " (SELECT ABS( " + + " (SELECT rainfall" + + " FROM " + tableName + + " WHERE station_name = s.station_name" + + " ORDER BY datetime ASC LIMIT 1) - " + + " (SELECT rainfall" + + " FROM " + tableName + + " WHERE station_name = s.station_name" + + " ORDER BY datetime DESC LIMIT 1) ) AS rainfall_difference" + + " FROM " + tableName + "s" + + " GROUP BY station_name)"; + // 3. 澶勭悊鏌ヨ缁撴灉 + try (PreparedStatement pstmt = conn.prepareStatement(queryDataSql)) { + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + // 鑾峰彇鎬诲拰 + return rs.getDouble("total"); + } + } catch (SQLException e) { + System.err.println("鏌ヨ鏁版嵁鏃跺嚭閿�: " + e.getMessage()); + } + } + } catch (SQLException e) { + System.err.println("SQLite杩炴帴澶辫触: " + e.getMessage()); + } + + return null; + } + + public static Integer getDuration(String tableName) { + return 1440; + } } -- Gitblit v1.9.3