From 9c3b0575d2c5020333211d773b0402f1cf2ac631 Mon Sep 17 00:00:00 2001 From: wzy-warehouse <18135009705@163.com> Date: Sat, 6 Jun 2026 11:10:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/config/dbn/discretization.yaml | 150 ++++++++++++---------- app/config/dbn/earthquake_cpt_params.yaml | 86 ++++++------- app/config/dbn/earthquake_dbn_graph.yaml | 23 ++-- app/config/dbn/rainfall_cpt_params.yaml | 124 +++++++++--------- app/config/dbn/rainfall_dbn_graph.yaml | 25 ++-- 5 files changed, 212 insertions(+), 196 deletions(-) diff --git a/app/config/dbn/discretization.yaml b/app/config/dbn/discretization.yaml index ad45e6d..7e429b3 100644 --- a/app/config/dbn/discretization.yaml +++ b/app/config/dbn/discretization.yaml @@ -1,14 +1,18 @@ # 离散化规则配置 # 定义所有连续因子的分箱规则 # 包含暴雨灾害链和地震灾害链的全部因子 +# +# 2026-06-06: 基于1201个样本的实际数据分布,采用分位数分箱(等频分箱) +# 替代原有等宽分箱,使每个区间样本量更均匀 # ============================================ -# 暴雨触发层离散化规则 +# 暴雨触发层离散化规则(保持气象标准不变) # ============================================ rain_intensity: description: "降雨强度等级" unit: "mm/h" + # 中国气象局降雨等级标准 bins: [0, 0.2, 5, 15, 30, 70, 140, 99999] labels: [no_rain, light, moderate, heavy, storm, downpour, extreme] @@ -21,6 +25,7 @@ duration: accum_rain: description: "累计降雨量" unit: "mm" + # 中国气象局降水等级标准 bins: [0, 10, 25, 50, 100, 99999] labels: [trace, light, moderate, heavy, extreme] @@ -32,17 +37,13 @@ magnitude: description: "地震震级" unit: "Richter" # 基于Keefer (1984) 地震触发地质灾害的震级阈值 - # M<4.0: 无显著地质灾害; M4.0-4.9: 轻微; M5.0-5.9: 中等 - # M6.0-6.9: 显著; M7.0-7.9: 严重; M≥8.0: 灾难性 bins: [0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0] labels: [minor, light, moderate, strong, major, great] epicenter_distance: description: "震中距" unit: "km" - # 地震地质灾害影响范围(Keefer 1984): - # M5.0: ~10km; M6.0: ~30km; M7.0: ~100km; M8.0: ~300km - # 分级取各震级影响范围的中位值 + # 地震地质灾害影响范围(Keefer 1984) bins: [0, 30, 100, 300, 99999] labels: [very_near, near, moderate, far] @@ -50,37 +51,41 @@ seismic_intensity: description: "地震烈度" unit: "中国烈度表" # GB 18306-2015 中国地震动参数区划图 - # I-V: 无显著地质灾害; VI-VII: 轻微; VIII-IX: 显著; X-XII: 严重; >XII: 灾难性 - # 输入为数值烈度(1-12),映射到离散等级 bins: [0, 5, 7, 9, 12, 99] labels: [minor, light, moderate, severe, extreme] # ============================================ # 环境层离散化规则(暴雨/地震共享) +# 基于1201个样本的分位数分箱 # ============================================ elevation: description: "高程" unit: "m" - bins: [0, 400, 500, 700, 1000, 1500, 99999] - labels: [basin, plain_urban, transition, low_mountain, mid_mountain, high_mountain] + # 数据: [356, 1934], 均值764.3±317.89, 偏度0.973 + # 分位数: [356, 470, 624, 792, 1016, 1934] + bins: [356, 470, 624, 792, 1016, 1934] + labels: [very_low, low, medium, high, very_high] slope: description: "坡度" unit: "度" - bins: [0, 5, 15, 25, 35, 45, 90] - labels: [flat, gentle, moderate, steep, very_steep, extreme_steep] + # 数据: [0.11, 47.14], 均值9.42±8.57, 偏度1.433 + # 分位数: [0.11, 1.81, 5.43, 9.48, 15.13, 47.14] + bins: [0.11, 1.81, 5.43, 9.48, 15.13, 47.14] + labels: [very_low, low, medium, high, very_high] aspect: description: "坡向" unit: "度" - bins: [0, 45, 135, 225, 315, 360] - labels: [north, east, south, west, north_loop] + # 数据: [0.86, 359.12], 均值173.47±104.96, 偏度0.126 + # 分位数: [0.86, 57.39, 135.0, 230.19, 297.83, 359.12] + bins: [0.86, 57.39, 135.0, 230.19, 297.83, 359.12] + labels: [flat, north, east, south, west] soil_type: description: "土壤分类(中国土壤分类系统)" unit: "分类代码" - # 数据库实际编码(xian_soil 表 value 字段,来源:pg_description) mapping: 0: ultisol # 老成土 6: entisol # 初育土 @@ -91,104 +96,113 @@ soil_type: lithology: description: "岩性(中国地质分类)" unit: "分类代码" - # 数据库实际编码(xian_lithology 表 value 字段,来源:pg_description) - # 工程地质分组:按 SiO₂ 含量 + 成因合并同类岩性 mapping: - 1: acid_rock # 酸性侵入岩(花岗岩等,SiO₂>66%,100条) - 3: basic_rock # 基性侵入岩(辉长岩等,SiO₂ 45-52%,5条) - 4: basic_rock # 基性火山岩(玄武岩等,合并入基性岩,17条) - 5: carbonate # 碳酸盐岩(石灰岩、白云岩,142条) - 10: metamorphic # 变质岩(片麻岩、大理岩,156条) - 11: mixed_clastic # 混合碎屑沉积岩(砂岩+泥岩互层,35条) - 13: terrigenous # 陆源碎屑岩(砂岩、粉砂岩,180条) - 14: unconsolidated # 松散堆积物(黄土、冲洪积,566条) + 1: acid_rock # 酸性侵入岩(花岗岩等,SiO₂>66%) + 3: basic_rock # 基性侵入岩(辉长岩等,SiO₂ 45-52%) + 4: basic_rock # 基性火山岩(玄武岩等,合并入基性岩) + 5: carbonate # 碳酸盐岩(石灰岩、白云岩) + 10: metamorphic # 变质岩(片麻岩、大理岩) + 11: mixed_clastic # 混合碎屑沉积岩(砂岩+泥岩互层) + 13: terrigenous # 陆源碎屑岩(砂岩、粉砂岩) + 14: unconsolidated # 松散堆积物(黄土、冲洪积) default: unconsolidated landuse: description: "土地利用类型" unit: "分类代码" - # 数据库实际编码(GLC FCS30 分类体系) mapping: - 10: forest # 林地(377条) - 30: farmland # 农田(190条) - 40: urban # 城市(105条) - 50: water # 水域(505条) - 60: barren # 裸地(23条) - 80: farmland # 耕地(1条,合并入农田) + 10: forest # 林地 + 30: farmland # 农田 + 40: urban # 城市 + 50: water # 水域 + 60: barren # 裸地 + 80: farmland # 耕地(合并入农田) default: farmland terrain: description: "地形分类(中国地形分类体系)" unit: "分类代码" - # 数据库实际编码(xian_landform 表 value 字段,来源:pg_description) - # 工程地质分组:按坡度 + 地貌特征合并 mapping: - 1: mountain # 断裂山麓地带(秦岭北麓,276条) - 2: plain # 平坦平原(渭河平原,218条) - 3: deep_valley # 高山深峡谷(秦岭腹地,11条) - 4: hill # 丘陵(黄土塬,250条) - 5: gentle_hill # 低缓丘陵(塬边过渡带,86条) - 6: low_mountain # 低山(骊山等,261条) - 7: flat_plain # 平缓平原(冲积平原,99条) + 1: mountain # 断裂山麓地带(秦岭北麓) + 2: plain # 平坦平原(渭河平原) + 3: deep_valley # 高山深峡谷(秦岭腹地) + 4: hill # 丘陵(黄土塬) + 5: gentle_hill # 低缓丘陵(塬边过渡带) + 6: low_mountain # 低山(骊山等) + 7: flat_plain # 平缓平原(冲积平原) default: hill impervious: - description: "不透水面" - unit: "比例" - bins: [0, 0.3, 0.6, 1.0] - labels: [low, medium, high] + description: "不透水率" + unit: "百分比" + # 数据: [0.0, 97.2], 均值16.40±25.99, 偏度1.787 + # 26.9%为0.0(无硬化地表),非零值右偏分布 + # 分箱策略:0单独一类,其余4等分(分位数分箱) + # 分位数(非零): [2.0, 9.95, 31.8, 97.2] + bins: [0.0, 0.01, 2.0, 10.0, 32.0, 97.2] + labels: [none, very_low, low, medium, high] ndvi: description: "植被指数" unit: "NDVI值" - bins: [-1, 0, 0.1, 0.3, 0.5, 0.8, 1.0] - labels: [water, bare, sparse, moderate, dense, very_dense] + # 数据: [1.25, 38.68], 均值20.67±5.87, 偏度-0.106 + # 分位数: [1.25, 17.09, 20.3, 22.4, 25.2, 38.68] + bins: [1.25, 17.09, 20.3, 22.4, 25.2, 38.68] + labels: [very_low, low, medium, high, very_high] sand_content: description: "土壤含沙量" unit: "百分比" - bins: [0, 20, 40, 100] - labels: [low, medium, high] + # 数据: [23.0, 52.0], 均值34.43±4.29, 偏度0.538 + # 分位数: [23.0, 31.0, 33.0, 35.0, 37.0, 52.0] + bins: [23.0, 31.0, 33.0, 35.0, 37.0, 52.0] + labels: [very_low, low, medium, high, very_high] ph: description: "土壤PH值" unit: "PH值" - bins: [0, 6.5, 7.5, 14] - labels: [acidic, neutral, alkaline] + # 数据: [59.0, 81.0], 均值71.79±4.14, 偏度-0.398 + # 分位数: [59.0, 68.0, 72.0, 74.0, 76.0, 81.0] + bins: [59.0, 68.0, 72.0, 74.0, 76.0, 81.0] + labels: [very_low, low, medium, high, very_high] soil_moisture: description: "土壤湿度" unit: "百分比" - bins: [0, 20, 40, 80, 100] - labels: [dry, moist, wet, saturated] + # 数据: [0.0, 41.1], 均值32.02±14.92, 偏度-1.676 + # 约10%为0.0(缺失/极端干燥),其余集中在37-41 + # 分位数: [0.0, 37.7, 38.6, 38.9, 39.4, 41.1] + bins: [0.0, 37.0, 38.5, 39.5, 41.1] + labels: [very_low, low, medium, high] organic_carbon: description: "有机碳" unit: "百分比" - bins: [0, 1, 2, 100] - labels: [low, medium, high] + # 数据: [0.0, 73.0], 均值38.36±19.14, 偏度-1.187 + # 分位数: [0.0, 34.0, 41.0, 47.0, 53.0, 73.0] + bins: [0.0, 34.0, 41.0, 47.0, 53.0, 73.0] + labels: [very_low, low, medium, high, very_high] dist_to_river: description: "距离河道距离" unit: "米" - bins: [0, 50, 200, 500, 99999] - labels: [very_close, close, moderate, far] + # 数据: [12.21, 29904.99], 均值11003.92±6582.23, 偏度0.271 + # 分位数: [12.21, 5165.0, 9003.0, 12424.97, 16431.82, 29904.99] + bins: [12.21, 5165.0, 9003.0, 12424.97, 16431.82, 29904.99] + labels: [very_close, close, moderate, far, very_far] dist_to_fault: description: "距离断裂带距离" unit: "米" - bins: [0, 500, 1500, 3000, 99999] - labels: [very_close, close, moderate, far] + # 数据: [1.74, 14542.53], 均值3448.52±3406.56, 偏度1.055 + # 分位数: [1.74, 476.69, 1433.62, 3334.87, 6502.28, 14542.53] + bins: [1.74, 476.69, 1433.62, 3334.87, 6502.28, 14542.53] + labels: [very_close, close, moderate, far, very_far] pipe_density: description: "供水管网密度" unit: "m/m²" - # 默认规则 - default: - bins: [0, 0.001, 0.01, 0.05, 99999] - labels: [none, low, medium, high] - # 区域覆盖规则 - region_overrides: - 610100: # 西安市 - bins: [0, 0.002, 0.015, 0.04, 99999] - labels: [none, low, medium, high] + # 数据: [0.0, 0.07], 约80%为0.0,90%分位数0.013,95%分位数0.023 + # 分位数: [0.0, 0.013, 0.023, 0.065] + bins: [0.0, 0.013, 0.023, 0.065] + labels: [none, low, medium, high] diff --git a/app/config/dbn/earthquake_cpt_params.yaml b/app/config/dbn/earthquake_cpt_params.yaml index f0e2450..f998a31 100644 --- a/app/config/dbn/earthquake_cpt_params.yaml +++ b/app/config/dbn/earthquake_cpt_params.yaml @@ -74,13 +74,13 @@ landslide: # === 极高风险(≥0.70)=== # 大地震+近场+陡坡:最大规模地震滑坡 # 参考:M7.0+近场(<30km)陡坡区滑坡概率>80%(Keefer 1984) - - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [high, very_high]} probability: 0.85 # 大地震+近场+饱和土体:黄土震陷+液化 - - condition: {magnitude: [major, great], epicenter_distance: [very_near], soil_moisture: [wet, saturated]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near], soil_moisture: [medium, high]} probability: 0.82 # 强震+近场+陡坡+断裂带附近:近场效应+岩体破碎 - - condition: {magnitude: [strong, major, great], epicenter_distance: [very_near], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {magnitude: [strong, major, great], epicenter_distance: [very_near], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.80 # 大地震+近场+松散堆积物:黄土滑坡(1556年华县地震典型场景) - condition: {magnitude: [major, great], epicenter_distance: [very_near, near], lithology: [unconsolidated, mixed_clastic]} @@ -88,16 +88,16 @@ landslide: # === 高风险(0.50-0.65)=== # 强震+近场+陡坡 - - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [high, very_high]} probability: 0.65 # 大地震+中距+陡坡+断裂带 - - condition: {magnitude: [major, great], epicenter_distance: [near, moderate], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {magnitude: [major, great], epicenter_distance: [near, moderate], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.62 # 强震+中陡坡+松散堆积物:黄土塬边滑坡 - - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [moderate, steep, very_steep, extreme_steep], lithology: [unconsolidated]} + - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [medium, high, very_high], lithology: [unconsolidated]} probability: 0.60 # 强震+陡坡+饱和土体 - - condition: {magnitude: [strong, major], slope: [steep, very_steep, extreme_steep], soil_moisture: [wet, saturated]} + - condition: {magnitude: [strong, major], slope: [high, very_high], soil_moisture: [medium, high]} probability: 0.58 # 大地震+近场+丘陵地形:黄土塬边 - condition: {magnitude: [major, great], epicenter_distance: [very_near, near], terrain: [hill, gentle_hill]} @@ -108,22 +108,22 @@ landslide: # === 中风险(0.20-0.40)=== # 中强震+近场+陡坡 - - condition: {magnitude: [moderate, strong], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [moderate, strong], epicenter_distance: [very_near, near], slope: [high, very_high]} probability: 0.40 # 强震+中距+陡坡 - - condition: {magnitude: [strong, major], epicenter_distance: [near, moderate], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [strong, major], epicenter_distance: [near, moderate], slope: [high, very_high]} probability: 0.35 # 强震+中坡+松散堆积物 - - condition: {magnitude: [strong, major], slope: [moderate, steep], lithology: [unconsolidated]} + - condition: {magnitude: [strong, major], slope: [medium, high], lithology: [unconsolidated]} probability: 0.30 # 大地震+远距(仍有影响,1556年华县地震影响范围>300km) - - condition: {magnitude: [major, great], epicenter_distance: [moderate, far], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [major, great], epicenter_distance: [moderate, far], slope: [high, very_high]} probability: 0.28 # 断裂带+陡坡(即使中小地震也有蠕变风险) - - condition: {dist_to_fault: [very_close], slope: [steep, very_steep, extreme_steep]} + - condition: {dist_to_fault: [very_close], slope: [high, very_high]} probability: 0.25 # 中强震+中坡 - - condition: {magnitude: [moderate, strong], slope: [moderate, steep]} + - condition: {magnitude: [moderate, strong], slope: [medium, high]} probability: 0.22 # === 低风险兜底(≤0.05)=== @@ -131,7 +131,7 @@ landslide: probability: 0.02 - condition: {epicenter_distance: [far]} probability: 0.02 - - condition: {slope: [flat, gentle]} + - condition: {slope: [very_low, low]} probability: 0.01 # ---------------------------------------- @@ -149,52 +149,52 @@ debris_flow: rules: # === 极高风险(≥0.70)=== # 大地震+近场+陡坡+高含沙量:物源充足+强震动 - - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [steep, very_steep, extreme_steep], sand_content: [medium, high]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [high, very_high], sand_content: [medium, high]} probability: 0.80 # 大地震+近场+中高山区+松散堆积物:秦岭北麓沟道 - - condition: {magnitude: [major, great], epicenter_distance: [very_near, near], elevation: [mid_mountain, high_mountain], lithology: [unconsolidated, mixed_clastic]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near, near], elevation: [high, very_high], lithology: [unconsolidated, mixed_clastic]} probability: 0.78 # 强震+近场+陡坡+断裂带:破碎岩体提供物源 - - condition: {magnitude: [strong, major, great], epicenter_distance: [very_near], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {magnitude: [strong, major, great], epicenter_distance: [very_near], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.75 # 大地震+饱和+陡坡:液化+滑坡→泥石流 - - condition: {magnitude: [major, great], soil_moisture: [wet, saturated], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [major, great], soil_moisture: [medium, high], slope: [high, very_high]} probability: 0.72 # === 高风险(0.50-0.65)=== # 强震+近场+陡坡 - - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [high, very_high]} probability: 0.62 # 强震+中高山区+松散堆积物 - - condition: {magnitude: [strong, major], elevation: [mid_mountain, high_mountain], lithology: [unconsolidated, mixed_clastic]} + - condition: {magnitude: [strong, major], elevation: [high, very_high], lithology: [unconsolidated, mixed_clastic]} probability: 0.58 # 大地震+中距+陡坡+高含沙量 - - condition: {magnitude: [major, great], epicenter_distance: [near, moderate], slope: [steep, very_steep, extreme_steep], sand_content: [medium, high]} + - condition: {magnitude: [major, great], epicenter_distance: [near, moderate], slope: [high, very_high], sand_content: [medium, high]} probability: 0.55 # 强震+陡坡+松散堆积物 - - condition: {magnitude: [strong, major], slope: [steep, very_steep, extreme_steep], lithology: [unconsolidated, mixed_clastic]} + - condition: {magnitude: [strong, major], slope: [high, very_high], lithology: [unconsolidated, mixed_clastic]} probability: 0.52 # === 中风险(0.20-0.40)=== # 中强震+近场+陡坡 - - condition: {magnitude: [moderate, strong], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [moderate, strong], epicenter_distance: [very_near, near], slope: [high, very_high]} probability: 0.38 # 强震+中高山区(物源区本身不稳定) - - condition: {magnitude: [strong, major], elevation: [mid_mountain, high_mountain], slope: [moderate, steep]} + - condition: {magnitude: [strong, major], elevation: [high, very_high], slope: [medium, high]} probability: 0.30 # 大地震+远距+陡坡 - - condition: {magnitude: [major, great], epicenter_distance: [moderate, far], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [major, great], epicenter_distance: [moderate, far], slope: [high, very_high]} probability: 0.28 # 断裂带+陡坡+松散堆积物(无强震也有蠕变崩塌→物源积累) - - condition: {dist_to_fault: [very_close], slope: [steep, very_steep, extreme_steep], lithology: [unconsolidated]} + - condition: {dist_to_fault: [very_close], slope: [high, very_high], lithology: [unconsolidated]} probability: 0.22 # === 低风险兜底(≤0.05)=== - condition: {magnitude: [minor]} probability: 0.01 - - condition: {slope: [flat, gentle]} + - condition: {slope: [very_low, low]} probability: 0.01 - - condition: {elevation: [basin, plain_urban]} + - condition: {elevation: [very_low, low]} probability: 0.01 # ---------------------------------------- @@ -213,54 +213,54 @@ collapse: rules: # === 极高风险(≥0.70)=== # 大地震+近场+极陡坡+硬岩(花岗岩/变质岩):节理面失稳 - - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [very_steep, extreme_steep], lithology: [acid_rock, metamorphic, basic_rock]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [very_high], lithology: [acid_rock, metamorphic, basic_rock]} probability: 0.88 # 大地震+近场+陡坡+断裂带:岩体极度破碎 - - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.85 # 大地震+近场+松散堆积物+陡坡:黄土塬边崩塌 - - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [steep, very_steep, extreme_steep], lithology: [unconsolidated, terrigenous, mixed_clastic]} + - condition: {magnitude: [major, great], epicenter_distance: [very_near], slope: [high, very_high], lithology: [unconsolidated, terrigenous, mixed_clastic]} probability: 0.80 # 强震+近场+极陡坡 - - condition: {magnitude: [strong, major], epicenter_distance: [very_near], slope: [very_steep, extreme_steep]} + - condition: {magnitude: [strong, major], epicenter_distance: [very_near], slope: [very_high]} probability: 0.75 # === 高风险(0.50-0.65)=== # 强震+近场+陡坡+断裂带 - - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.68 # 大地震+中距+陡坡+硬岩 - - condition: {magnitude: [major, great], epicenter_distance: [near, moderate], slope: [steep, very_steep, extreme_steep], lithology: [acid_rock, metamorphic]} + - condition: {magnitude: [major, great], epicenter_distance: [near, moderate], slope: [high, very_high], lithology: [acid_rock, metamorphic]} probability: 0.62 # 强震+近场+陡坡+松散堆积物:黄土崩塌 - - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep], lithology: [unconsolidated]} + - condition: {magnitude: [strong, major], epicenter_distance: [very_near, near], slope: [high, very_high], lithology: [unconsolidated]} probability: 0.60 # 近河道+陡坡+松散堆积物+地震:河流侧蚀+地震触发 - - condition: {dist_to_river: [very_close, close], slope: [steep, very_steep, extreme_steep], lithology: [unconsolidated], magnitude: [strong, major, great]} + - condition: {dist_to_river: [very_close, close], slope: [high, very_high], lithology: [unconsolidated], magnitude: [strong, major, great]} probability: 0.58 # 强震+中陡坡+断裂带 - - condition: {magnitude: [strong, major], slope: [moderate, steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {magnitude: [strong, major], slope: [medium, high, very_high], dist_to_fault: [very_close, close]} probability: 0.55 # === 中风险(0.20-0.40)=== # 中强震+近场+陡坡 - - condition: {magnitude: [moderate, strong], epicenter_distance: [very_near, near], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [moderate, strong], epicenter_distance: [very_near, near], slope: [high, very_high]} probability: 0.40 # 强震+中距+陡坡 - - condition: {magnitude: [strong, major], epicenter_distance: [near, moderate], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [strong, major], epicenter_distance: [near, moderate], slope: [high, very_high]} probability: 0.35 # 近河道+中坡+松散堆积物(无强震也有侧蚀崩塌) - - condition: {dist_to_river: [very_close, close], lithology: [unconsolidated], slope: [moderate, steep]} + - condition: {dist_to_river: [very_close, close], lithology: [unconsolidated], slope: [medium, high]} probability: 0.30 # 断裂带+陡坡(无强震也有蠕变崩塌) - - condition: {dist_to_fault: [very_close], slope: [steep, very_steep, extreme_steep]} + - condition: {dist_to_fault: [very_close], slope: [high, very_high]} probability: 0.28 # 大地震+远距+陡坡 - - condition: {magnitude: [major, great], epicenter_distance: [moderate, far], slope: [steep, very_steep, extreme_steep]} + - condition: {magnitude: [major, great], epicenter_distance: [moderate, far], slope: [high, very_high]} probability: 0.25 # === 低风险兜底(≤0.05)=== - condition: {magnitude: [minor]} probability: 0.01 - - condition: {slope: [flat, gentle]} + - condition: {slope: [very_low, low]} probability: 0.01 diff --git a/app/config/dbn/earthquake_dbn_graph.yaml b/app/config/dbn/earthquake_dbn_graph.yaml index 185b85d..9e0f938 100644 --- a/app/config/dbn/earthquake_dbn_graph.yaml +++ b/app/config/dbn/earthquake_dbn_graph.yaml @@ -146,21 +146,22 @@ node_states: epicenter_distance: [very_near, near, moderate, far] seismic_intensity: [minor, light, moderate, severe, extreme] - # 环境层(与暴雨模型共享,状态名一致) - elevation: [basin, plain_urban, transition, low_mountain, mid_mountain, high_mountain] - slope: [flat, gentle, moderate, steep, very_steep, extreme_steep] - aspect: [north, east, south, west, north_loop] + # 环境层(与暴雨模型共享,状态名与 discretization.yaml 一致) + # 基于1201个样本的实际数据分布,2026-06-06更新 + elevation: [very_low, low, medium, high, very_high] + slope: [very_low, low, medium, high, very_high] + aspect: [flat, north, east, south, west] soil_type: [ultisol, entisol, fluvo_aquic, yellow_brown] lithology: [acid_rock, basic_rock, carbonate, metamorphic, mixed_clastic, terrigenous, unconsolidated] landuse: [forest, farmland, urban, water, barren] terrain: [mountain, plain, deep_valley, hill, gentle_hill, low_mountain, flat_plain] - ndvi: [water, bare, sparse, moderate, dense, very_dense] - sand_content: [low, medium, high] - ph: [acidic, neutral, alkaline] - soil_moisture: [dry, moist, wet, saturated] - organic_carbon: [low, medium, high] - dist_to_river: [very_close, close, moderate, far] - dist_to_fault: [very_close, close, moderate, far] + ndvi: [very_low, low, medium, high, very_high] + sand_content: [very_low, low, medium, high, very_high] + ph: [very_low, low, medium, high, very_high] + soil_moisture: [very_low, low, medium, high] + organic_carbon: [very_low, low, medium, high, very_high] + dist_to_river: [very_close, close, moderate, far, very_far] + dist_to_fault: [very_close, close, moderate, far, very_far] # 灾害层 landslide: [none, low, medium, high, very_high] diff --git a/app/config/dbn/rainfall_cpt_params.yaml b/app/config/dbn/rainfall_cpt_params.yaml index 713e1cc..15c296d 100644 --- a/app/config/dbn/rainfall_cpt_params.yaml +++ b/app/config/dbn/rainfall_cpt_params.yaml @@ -50,53 +50,53 @@ landslide: rules: # === 极高风险(≥0.70)=== # 暴雨+陡坡+前期饱和:秦岭北坡典型触发条件 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], soil_moisture: [wet, saturated]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [high, very_high], soil_moisture: [medium, high]} probability: 0.75 # 暴雨+陡坡+断裂带附近:秦岭北缘断裂沿线,岩体破碎 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.72 # 长历时暴雨+陡坡+饱和:持续降雨导致深层渗流 - - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], soil_moisture: [wet, saturated]} + - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], slope: [high, very_high], soil_moisture: [medium, high]} probability: 0.70 # === 高风险(0.50-0.65)=== # 暴雨+中陡坡:黄土塬边典型触发条件 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [moderate, steep, very_steep, extreme_steep]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [medium, high, very_high]} probability: 0.60 # 大雨+陡坡+松散堆积物:黄土滑坡物质条件充分 - - condition: {rain_intensity: [heavy, storm, downpour], slope: [steep, very_steep, extreme_steep], lithology: [unconsolidated]} + - condition: {rain_intensity: [heavy, storm, downpour], slope: [high, very_high], lithology: [unconsolidated]} probability: 0.58 # 暴雨+中陡坡+断裂带附近 - - condition: {rain_intensity: [heavy, storm, downpour], slope: [moderate, steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {rain_intensity: [heavy, storm, downpour], slope: [medium, high, very_high], dist_to_fault: [very_close, close]} probability: 0.55 # 城区开挖坡脚/弃土加载+暴雨:工程滑坡 - - condition: {landuse: [urban], slope: [moderate, steep, very_steep, extreme_steep], rain_intensity: [heavy, storm, downpour, extreme]} + - condition: {landuse: [urban], slope: [medium, high, very_high], rain_intensity: [heavy, storm, downpour, extreme]} probability: 0.52 # 大雨+陡坡+初育土(黄土):黄土塬边滑坡 - - condition: {rain_intensity: [heavy, storm, downpour], slope: [steep, very_steep, extreme_steep], soil_type: [entisol]} + - condition: {rain_intensity: [heavy, storm, downpour], slope: [high, very_high], soil_type: [entisol]} probability: 0.50 # === 中风险(0.20-0.40)=== # 大雨+中坡+饱和 - - condition: {rain_intensity: [heavy], slope: [moderate, steep], soil_moisture: [wet, saturated]} + - condition: {rain_intensity: [heavy], slope: [medium, high], soil_moisture: [medium, high]} probability: 0.40 # 中雨+陡坡 - - condition: {rain_intensity: [moderate, heavy], slope: [steep, very_steep, extreme_steep]} + - condition: {rain_intensity: [moderate, heavy], slope: [high, very_high]} probability: 0.35 # 暴雨+缓坡+松散堆积物:塬面黄土 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [gentle, moderate], lithology: [unconsolidated]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [low, medium], lithology: [unconsolidated]} probability: 0.30 # 断裂带+陡坡(无强降雨也有基岩蠕变风险) - - condition: {dist_to_fault: [very_close], slope: [steep, very_steep, extreme_steep]} + - condition: {dist_to_fault: [very_close], slope: [high, very_high]} probability: 0.25 # 城区+中坡:工程扰动 - - condition: {landuse: [urban], slope: [moderate, steep]} + - condition: {landuse: [urban], slope: [medium, high]} probability: 0.20 # === 低风险兜底(≤0.05)=== - condition: {rain_intensity: [no_rain, light]} probability: 0.02 - - condition: {slope: [flat, gentle]} + - condition: {slope: [very_low, low]} probability: 0.02 # ---------------------------------------- @@ -115,52 +115,52 @@ debris_flow: rules: # === 极高风险(≥0.70)=== # 暴雨+陡坡+高含沙量:典型泥石流触发条件 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], sand_content: [medium, high]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [high, very_high], sand_content: [high, very_high]} probability: 0.80 # 暴雨+陡坡+断裂带附近:破碎岩体提供丰富物源 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [high, very_high], dist_to_fault: [very_close, close]} probability: 0.75 # 暴雨+中高山区+松散堆积物:秦岭北麓沟道泥石流 - - condition: {rain_intensity: [storm, downpour, extreme], elevation: [mid_mountain, high_mountain], lithology: [unconsolidated, mixed_clastic]} + - condition: {rain_intensity: [storm, downpour, extreme], elevation: [high, very_high], lithology: [unconsolidated, mixed_clastic]} probability: 0.75 # 长历时暴雨+陡坡+饱和:深层渗透触发 - - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], soil_moisture: [wet, saturated]} + - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], slope: [high, very_high], soil_moisture: [medium, high]} probability: 0.72 # === 高风险(0.50-0.65)=== # 暴雨+中陡坡:沟道汇流 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [moderate, steep, very_steep, extreme_steep]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [medium, high, very_high]} probability: 0.60 # 大雨+陡坡+高含沙量 - - condition: {rain_intensity: [heavy, storm, downpour], slope: [steep, very_steep, extreme_steep], sand_content: [medium, high]} + - condition: {rain_intensity: [heavy, storm, downpour], slope: [high, very_high], sand_content: [high, very_high]} probability: 0.55 # 中高山区+中等降雨:物源区本身不稳定 - - condition: {elevation: [mid_mountain, high_mountain], slope: [moderate, steep, very_steep, extreme_steep], rain_intensity: [heavy, storm, downpour, extreme]} + - condition: {elevation: [high, very_high], slope: [medium, high, very_high], rain_intensity: [heavy, storm, downpour, extreme]} probability: 0.55 # 松散堆积物+陡坡+大雨:黄土泥石流 - - condition: {lithology: [unconsolidated, mixed_clastic], slope: [steep, very_steep, extreme_steep], rain_intensity: [heavy, storm, downpour, extreme]} + - condition: {lithology: [unconsolidated, mixed_clastic], slope: [high, very_high], rain_intensity: [heavy, storm, downpour, extreme]} probability: 0.52 # === 中风险(0.20-0.40)=== # 大雨+中坡 - - condition: {rain_intensity: [moderate, heavy], slope: [moderate, steep]} + - condition: {rain_intensity: [moderate, heavy], slope: [medium, high]} probability: 0.30 # 中高山区+中等降雨:物源区稳定性差 - - condition: {elevation: [mid_mountain, high_mountain], slope: [moderate, steep], rain_intensity: [moderate, heavy]} + - condition: {elevation: [high, very_high], slope: [medium, high], rain_intensity: [moderate, heavy]} probability: 0.28 # 暴雨+缓坡+松散堆积物 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [gentle, moderate], lithology: [unconsolidated]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [low, medium], lithology: [unconsolidated]} probability: 0.25 # 断裂带+陡坡(无强降雨,崩塌堆积物也可启动) - - condition: {dist_to_fault: [very_close], slope: [steep, very_steep, extreme_steep]} + - condition: {dist_to_fault: [very_close], slope: [high, very_high]} probability: 0.22 # === 低风险兜底(≤0.05)=== - condition: {rain_intensity: [no_rain, light]} probability: 0.01 - - condition: {slope: [flat, gentle]} + - condition: {slope: [very_low, low]} probability: 0.02 - - condition: {elevation: [basin, plain_urban]} + - condition: {elevation: [very_low, low]} probability: 0.02 # ---------------------------------------- @@ -179,13 +179,13 @@ flash_flood: rules: # === 极高风险(≥0.80)=== # 暴雨+饱和土壤+近河道:入渗率接近零,全部转为地表径流 - - condition: {rain_intensity: [storm, downpour, extreme], soil_moisture: [saturated], dist_to_river: [very_close, close]} + - condition: {rain_intensity: [storm, downpour, extreme], soil_moisture: [high], dist_to_river: [very_close, close]} probability: 0.90 # 暴雨+饱和+山地地形:秦岭北坡典型山洪条件 - - condition: {rain_intensity: [storm, downpour, extreme], soil_moisture: [wet, saturated], terrain: [mountain, deep_valley, low_mountain]} + - condition: {rain_intensity: [storm, downpour, extreme], soil_moisture: [medium, high], terrain: [mountain, deep_valley, low_mountain]} probability: 0.85 # 大暴雨+近河道+低洼区:渭河平原洪水 - - condition: {rain_intensity: [downpour, extreme], dist_to_river: [very_close, close], elevation: [basin, plain_urban]} + - condition: {rain_intensity: [downpour, extreme], dist_to_river: [very_close, close], elevation: [very_low, low]} probability: 0.82 # === 高风险(0.55-0.75)=== @@ -196,7 +196,7 @@ flash_flood: - condition: {rain_intensity: [storm, downpour, extreme], terrain: [mountain, deep_valley, low_mountain]} probability: 0.65 # 大雨+饱和土壤+近河道 - - condition: {rain_intensity: [heavy, storm, downpour], soil_moisture: [wet, saturated], dist_to_river: [very_close, close]} + - condition: {rain_intensity: [heavy, storm, downpour], soil_moisture: [medium, high], dist_to_river: [very_close, close]} probability: 0.60 # 长历时暴雨+山地:持续汇流 - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], terrain: [mountain, deep_valley, low_mountain]} @@ -210,16 +210,16 @@ flash_flood: - condition: {rain_intensity: [heavy], dist_to_river: [very_close, close]} probability: 0.45 # 暴雨+湿土(非饱和) - - condition: {rain_intensity: [storm, downpour, extreme], soil_moisture: [wet]} + - condition: {rain_intensity: [storm, downpour, extreme], soil_moisture: [medium]} probability: 0.40 # 大雨+山地地形 - condition: {rain_intensity: [heavy], terrain: [mountain, deep_valley, low_mountain]} probability: 0.35 # 中雨+饱和+近河道 - - condition: {rain_intensity: [moderate, heavy], soil_moisture: [saturated], dist_to_river: [very_close, close]} + - condition: {rain_intensity: [moderate, heavy], soil_moisture: [high], dist_to_river: [very_close, close]} probability: 0.40 # 极端累计+低洼区 - - condition: {accum_rain: [extreme], elevation: [basin, plain_urban]} + - condition: {accum_rain: [extreme], elevation: [very_low, low]} probability: 0.35 # 暴雨+缓坡+近河道(平原河道溢出) - condition: {rain_intensity: [storm, downpour, extreme], dist_to_river: [very_close], terrain: [plain, flat_plain]} @@ -228,7 +228,7 @@ flash_flood: # === 低风险兜底(≤0.05)=== - condition: {rain_intensity: [no_rain, light]} probability: 0.01 - - condition: {dist_to_river: [far]} + - condition: {dist_to_river: [far, very_far]} probability: 0.03 # ---------------------------------------- @@ -247,50 +247,50 @@ waterlogging: rules: # === 极高风险(≥0.80)=== # 暴雨+高不透水面+管网不足:老城区典型内涝条件 - - condition: {rain_intensity: [storm, downpour, extreme], impervious: [high], pipe_density: [none, low]} + - condition: {rain_intensity: [storm, downpour, extreme], impervious: [high, medium], pipe_density: [none, low]} probability: 0.90 # 极端累计降雨+长历时+高不透水面:持续强降雨 - - condition: {accum_rain: [heavy, extreme], duration: [long], impervious: [medium, high]} + - condition: {accum_rain: [heavy, extreme], duration: [long], impervious: [high, medium]} probability: 0.82 # 极端累计+低洼区+管网不足:积水无处排出 - - condition: {accum_rain: [heavy, extreme], elevation: [basin, plain_urban], pipe_density: [none, low]} + - condition: {accum_rain: [heavy, extreme], elevation: [very_low, low], pipe_density: [none, low]} probability: 0.80 # === 高风险(0.55-0.75)=== # 暴雨+高不透水面 - - condition: {rain_intensity: [storm, downpour, extreme], impervious: [high]} + - condition: {rain_intensity: [storm, downpour, extreme], impervious: [high, medium]} probability: 0.72 # 大雨+长历时+高不透水面 - - condition: {rain_intensity: [heavy], duration: [long], impervious: [high]} + - condition: {rain_intensity: [heavy], duration: [long], impervious: [high, medium]} probability: 0.65 # 暴雨+城市用地+管网不足 - condition: {rain_intensity: [storm, downpour, extreme], landuse: [urban], pipe_density: [none, low]} probability: 0.68 # 大雨+中高不透水面 - - condition: {rain_intensity: [heavy, storm, downpour], impervious: [medium, high]} + - condition: {rain_intensity: [heavy, storm, downpour], impervious: [high, medium]} probability: 0.60 # 极端累计+低洼区(不透水面不高也会积水) - - condition: {accum_rain: [extreme], elevation: [basin, plain_urban]} + - condition: {accum_rain: [extreme], elevation: [very_low, low]} probability: 0.58 # 饱和土壤+暴雨+低洼区:入渗饱和后地表积水 - - condition: {soil_moisture: [saturated], rain_intensity: [heavy, storm, downpour, extreme], elevation: [basin, plain_urban]} + - condition: {soil_moisture: [high], rain_intensity: [heavy, storm, downpour, extreme], elevation: [very_low, low]} probability: 0.55 # === 中风险(0.25-0.45)=== # 大雨+中高不透水面 - - condition: {rain_intensity: [moderate, heavy], impervious: [medium, high]} + - condition: {rain_intensity: [moderate, heavy], impervious: [high, medium]} probability: 0.40 # 中等累计+管网不足 - - condition: {accum_rain: [moderate, heavy], pipe_density: [none, low], impervious: [medium]} + - condition: {accum_rain: [moderate, heavy], pipe_density: [none, low], impervious: [high, medium]} probability: 0.38 # 暴雨+低不透水面(非城区但排水不畅) - - condition: {rain_intensity: [storm, downpour, extreme], impervious: [low]} + - condition: {rain_intensity: [storm, downpour, extreme], impervious: [none, very_low, low]} probability: 0.30 # 近河道+暴雨:排水出口受河道水位顶托 - - condition: {dist_to_river: [very_close, close], rain_intensity: [heavy, storm, downpour, extreme], elevation: [basin, plain_urban]} + - condition: {dist_to_river: [very_close, close], rain_intensity: [heavy, storm, downpour, extreme], elevation: [very_low, low]} probability: 0.35 # 农田积水:低洼农田排水不畅 - - condition: {landuse: [farmland], rain_intensity: [heavy, storm, downpour, extreme], elevation: [basin, plain_urban]} + - condition: {landuse: [farmland], rain_intensity: [heavy, storm, downpour, extreme], elevation: [very_low, low]} probability: 0.30 # === 低风险兜底(≤0.05)=== @@ -299,7 +299,7 @@ waterlogging: probability: 0.05 - condition: {rain_intensity: [no_rain, light]} probability: 0.02 - - condition: {impervious: [low], pipe_density: [medium, high]} + - condition: {impervious: [none, very_low, low], pipe_density: [medium, high]} probability: 0.03 # ---------------------------------------- @@ -318,45 +318,45 @@ collapse: rules: # === 极高风险(≥0.70)=== # 暴雨+陡坡+松散岩性(黄土/碎屑岩):黄土塬边崩塌 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], lithology: [terrigenous, unconsolidated, mixed_clastic]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [high, very_high], lithology: [terrigenous, unconsolidated, mixed_clastic]} probability: 0.72 # 近河道+松散堆积物+陡坡:河流侧蚀致崩塌(渭河/灞河/浐河) - - condition: {dist_to_river: [very_close, close], lithology: [unconsolidated], slope: [steep, very_steep, extreme_steep]} + - condition: {dist_to_river: [very_close, close], lithology: [unconsolidated], slope: [high, very_high]} probability: 0.70 # === 高风险(0.50-0.65)=== # 暴雨+陡坡+断裂带附近:岩体破碎 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [moderate, steep, very_steep, extreme_steep], dist_to_fault: [very_close, close]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [medium, high, very_high], dist_to_fault: [very_close, close]} probability: 0.65 # 暴雨+中陡坡+饱和:岩土体强度降低 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [moderate, steep, very_steep, extreme_steep], soil_moisture: [wet, saturated]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [medium, high, very_high], soil_moisture: [medium, high]} probability: 0.60 # 近河道+暴雨+中陡坡:岸坡浸泡+洪水冲刷 - - condition: {dist_to_river: [very_close, close], rain_intensity: [storm, downpour, extreme], slope: [moderate, steep, very_steep, extreme_steep]} + - condition: {dist_to_river: [very_close, close], rain_intensity: [storm, downpour, extreme], slope: [medium, high, very_high]} probability: 0.58 # 暴雨+中陡坡 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [moderate, steep, very_steep, extreme_steep]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [medium, high, very_high]} probability: 0.50 # 长历时+大雨+陡坡+松散岩性:持续入渗软化 - - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], slope: [steep, very_steep, extreme_steep], lithology: [terrigenous, unconsolidated, mixed_clastic]} + - condition: {duration: [long], rain_intensity: [heavy, storm, downpour, extreme], slope: [high, very_high], lithology: [terrigenous, unconsolidated, mixed_clastic]} probability: 0.55 # === 中风险(0.20-0.40)=== # 近河道+缓坡+松散堆积物:侧蚀累积效应 - - condition: {dist_to_river: [very_close, close], lithology: [unconsolidated], slope: [moderate]} + - condition: {dist_to_river: [very_close, close], lithology: [unconsolidated], slope: [medium]} probability: 0.35 # 大雨+中坡 - - condition: {rain_intensity: [heavy], slope: [moderate, steep]} + - condition: {rain_intensity: [heavy], slope: [medium, high]} probability: 0.30 # 断裂带+陡坡(无强降雨也有蠕变崩塌风险) - - condition: {dist_to_fault: [very_close], slope: [steep, very_steep, extreme_steep]} + - condition: {dist_to_fault: [very_close], slope: [high, very_high]} probability: 0.25 # 暴雨+缓坡+松散岩性 - - condition: {rain_intensity: [storm, downpour, extreme], slope: [gentle, moderate], lithology: [unconsolidated]} + - condition: {rain_intensity: [storm, downpour, extreme], slope: [low, medium], lithology: [unconsolidated]} probability: 0.22 # === 低风险兜底(≤0.05)=== - condition: {rain_intensity: [no_rain, light]} probability: 0.01 - - condition: {slope: [flat, gentle]} + - condition: {slope: [very_low, low]} probability: 0.01 diff --git a/app/config/dbn/rainfall_dbn_graph.yaml b/app/config/dbn/rainfall_dbn_graph.yaml index da4185c..f0740e2 100644 --- a/app/config/dbn/rainfall_dbn_graph.yaml +++ b/app/config/dbn/rainfall_dbn_graph.yaml @@ -142,22 +142,23 @@ node_states: duration: [short, medium, long] accum_rain: [trace, light, moderate, heavy, extreme] - # 环境层(离散字段状态名与数据库编码一一对应,连续字段用工程分级) - elevation: [basin, plain_urban, transition, low_mountain, mid_mountain, high_mountain] - slope: [flat, gentle, moderate, steep, very_steep, extreme_steep] - aspect: [north, east, south, west, north_loop] + # 环境层(离散字段状态名与数据库编码一一对应,连续字段用分位数分箱) + # 基于1201个样本的实际数据分布,2026-06-06更新 + elevation: [very_low, low, medium, high, very_high] + slope: [very_low, low, medium, high, very_high] + aspect: [flat, north, east, south, west] soil_type: [ultisol, entisol, fluvo_aquic, yellow_brown] lithology: [acid_rock, basic_rock, carbonate, metamorphic, mixed_clastic, terrigenous, unconsolidated] landuse: [forest, farmland, urban, water, barren] terrain: [mountain, plain, deep_valley, hill, gentle_hill, low_mountain, flat_plain] - impervious: [low, medium, high] - ndvi: [water, bare, sparse, moderate, dense, very_dense] - sand_content: [low, medium, high] - ph: [acidic, neutral, alkaline] - soil_moisture: [dry, moist, wet, saturated] - organic_carbon: [low, medium, high] - dist_to_river: [very_close, close, moderate, far] - dist_to_fault: [very_close, close, moderate, far] + impervious: [none, very_low, low, medium, high] + ndvi: [very_low, low, medium, high, very_high] + sand_content: [very_low, low, medium, high, very_high] + ph: [very_low, low, medium, high, very_high] + soil_moisture: [very_low, low, medium, high] + organic_carbon: [very_low, low, medium, high, very_high] + dist_to_river: [very_close, close, moderate, far, very_far] + dist_to_fault: [very_close, close, moderate, far, very_far] pipe_density: [none, low, medium, high] # 灾害层