Install
openclaw skills install @ruiduobao/geoskill-tailings-dam-riskScreen tailings dam bodies, reservoir areas, catchments, and downstream exposure using remote sensing change detection. Produce patrol priorities based on hazard, exposure, and evidence.
openclaw skills install @ruiduobao/geoskill-tailings-dam-risk⚠️ 必读 — 本 skill 不属于即用型,需要先准备特定文件才能跑。
本 skill 需要 设施清单 JSON(geometry + 属性)。--bbox 模式下 DEM 和 Sentinel-2 时序自动从 MPC 下载。
👉 完整教程见仓库根目录 PREREQUISITES.md 1.6 节。
先准备 X 文件:先准备一份 facilities.json(可手写小样本),其他自动下载。
快速试跑命令:
python tailings_dam_risk.py --bbox 116.30,39.85,116.45,39.95 --date-range 2023-06-01,2023-09-30 --facilities facilities.json --output-dir ./tdr
Screens tailings dam facilities using remote sensing and DEM analysis. Produces risk rankings and patrol priorities based on multi-temporal change detection, catchment analysis, and downstream exposure assessment.
Use when the user wants to:
# Basic screening with synthetic data (demo)
python scripts/tailings_dam_risk.py --output-dir ./tdr-output
# With custom facilities file
python scripts/tailings_dam_risk.py \
--facilities facilities.json \
--output-dir ./tdr-output
# With DEM and water masks
python scripts/tailings_dam_risk.py \
--dem-file dem.tif \
--water-masks water_2019.tif water_2021.tif water_2023.tif \
--output-dir ./tdr-output
# Full analysis with all options
python scripts/tailings_dam_risk.py \
--facilities facilities.json \
--dem-file dem.tif \
--water-masks water_2019.tif water_2021.tif \
--deformation-data insar_deformation.tif \
--exposure-objects downstream_objects.json \
--rainfall-scenario 500yr \
--runout-method simplified \
--deformation-threshold 15.0 \
--exposure-radius 8000.0 \
--output-dir ./tdr-output
本 skill 可自动从 Microsoft Planetary Computer 下载 DEM 和 Sentinel-2 (无需 API key):
# 自动下载 cop-dem-glo-30 DEM + sentinel-2-l2a 水体变化快照
python scripts/tailings_dam_risk.py \
--bbox 116.30,39.85,116.45,39.95 \
--date-range 2023-06-01,2023-09-30 \
--output-dir ./tdr-auto
下载的内容:
cop-dem-glo-30) — 替换 --dem-filesentinel-2-l2a) — 2 个时相的影像,生成水体变化,替换 --water-masks下载元数据(data_source, fetched_at, collection, dem_path, sentinel2_paths)会写入 output-manifest.json。
| Parameter | Default | Description |
|---|---|---|
--facilities | None | Path to facilities JSON file with geometry and attributes |
--dem-file | None | Path to DEM GeoTIFF file |
--water-masks | None | Input water mask GeoTIFF files (ordered by time) |
--deformation-data | None | Path to InSAR deformation rate GeoTIFF (mm/yr) |
--exposure-objects | None | Path to downstream exposure objects JSON |
--rainfall-scenario | 100yr | Rainfall scenario: 100yr, 500yr, 1000yr |
--runout-method | simplified | Runout method: simplified, energy_line |
--deformation-threshold | 10.0 | Deformation threshold in mm/yr |
--exposure-radius | 5000.0 | Exposure analysis radius in meters |
--risk-rules | None | Path to custom risk scoring rules JSON |
--output-dir | ./tdr-output | Output directory |
| File | Description |
|---|---|
facility_changes.geojson | Water surface change polygons (expansion/contraction) |
catchments.geojson | Upstream catchment boundaries |
screening_zones.geojson | Runout/impact zones |
downstream_exposure.csv | Downstream exposure statistics |
risk_report.html | Risk screening report |
request.json | Analysis request metadata |
dataset-manifest.json | Dataset inventory and quality info |
output-manifest.json | Output file inventory and results |
qa.json | Quality assurance checks |
run.log | Execution log |
| Code | Name | Description |
|---|---|---|
| 3 | HIGH | Combined score >= 70 |
| 2 | MEDIUM | Combined score >= 40 |
| 1 | LOW | Combined score >= 20 |
| 0 | UNKNOWN | Combined score < 20 |
Based on dam height, capacity, water surface change, catchment size, and runout potential.
Based on number of objects in impact zone and exposure area.
Based on observed water surface changes and catchment characteristics.
Compares binary water masks between time periods to detect expansion and contraction areas. Calculates change percentage and extracts change polygons.
Uses D8 flow direction algorithm on DEM to compute flow accumulation and delineate upstream watershed contributing to the dam location.
Two simplified methods for screening:
Both methods are SCREENING-ONLY and do not replace engineering analysis.
Analyzes objects within potential impact zone. Counts buildings, roads, and other infrastructure at risk.
Processes InSAR deformation data to identify areas with significant movement exceeding threshold.
Estimates peak flow using rational method (Q = C * i * A) for different return period events.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Argument error |
| 3 | Dependency missing |
| 6 | Data validation failure |
| 7 | Processing failure |
本 skill 可自动从 Microsoft Planetary Computer 下载数据 (无需 API key):
python tailings_dam_risk.py --bbox 116,39,117,40 --date-range 2024-06-01,2024-06-30 --output-dir <tmp>
--bbox W,S,E,N: WGS-84 边界框 (西, 南, 东, 北)--date-range START,END: 日期范围 (YYYY-MM-DD,YYYY-MM-DD)--aoi-file <path.geojson>: 替代 --bbox 的 GeoJSON 多边形--cache-dir <path>: 缓存目录 (默认 ~/.geoskill_cache)当用户只给 --bbox + --date-range (没有 --dem) 时,skill 自动下载数据。
当用户给 --dem 时,走原文件路径 (向后兼容)。