geoskill-滑坡易发性评估

内容来源:clawhub · 原始地址 · 查看安装指南

原始内容


name: landslide-susceptibility description: > Integrate terrain, geology, rainfall, land cover, roads, and historical landslide data to produce interpretable susceptibility zoning with spatial cross-validation.

Landslide Susceptibility Assessment

Integrates terrain, geology, rainfall, land cover, roads, and historical landslide data to produce interpretable susceptibility zoning with spatial cross-validation.

Trigger

Use when the user wants to:

  • Produce a landslide susceptibility map for a region
  • Compare statistical/ML models for landslide prediction
  • Evaluate factor contributions to landslide susceptibility
  • Generate susceptibility zoning with uncertainty estimates
  • Validate landslide models with spatial cross-validation

CLI Usage

# Synthetic demo mode (no input files needed)
python scripts/landslide_susceptibility.py --output-dir ./ls-output

# With custom model
python scripts/landslide_susceptibility.py --model random_forest --output-dir ./ls-output

# With custom parameters
python scripts/landslide_susceptibility.py \
  --model logistic_regression \
  --negative-sampling buffer \
  --cv-block-size 20 \
  --n-folds 5 \
  --class-schema five_class \
  --output-dir ./ls-output

# With custom factor config
python scripts/landslide_susceptibility.py \
  --factor-config ./my-factor-config.json \
  --output-dir ./ls-output

Data Download

This skill can auto-fetch a DEM (Copernicus GLO-30, 30 m) from the Microsoft Planetary Computer when given a bounding box + date range. The DEM is saved to <output-dir>/downloaded/ and the output-manifest.json will record the collection, bbox, and fetch timestamp. (The landslide inventory itself is not auto-downloaded — supply it via --landslide-inventory.)

# Fetch a DEM for the Beijing area and run the synthetic pipeline
python scripts/landslide_susceptibility.py \
  --bbox 116,39,117,40 \
  --date-range 2024-01-01,2024-12-31 \
  --output-dir ./ls-output

# Or via an AOI polygon file
python scripts/landslide_susceptibility.py \
  --aoi-file ./aoi.geojson \
  --output-dir ./ls-output

The PYTHONPATH must include the parent of _geoskill_data_fetcher/ (usually the same directory the 50 skills live in). Set it once:

export PYTHONPATH="/path/to/行业Skill创意-20260727"

Parameters

Parameter Default Description
--landslide-inventory None Path to landslide inventory (GeoJSON/Shapefile)
--factor-config None Path to factor configuration JSON (default: references/factor_config.json)
--model logistic_regression Model type: logistic_regression, random_forest, slope_baseline
--negative-sampling buffer Negative sampling strategy: random, buffer, spatial_block
--cv-block-size 20 Spatial CV block size in pixels
--n-folds 5 Number of CV folds
--class-schema five_class Classification schema: five_class, four_class
--output-dir ./ls-output Output directory

Output

File Description
susceptibility.tif Susceptibility probability map (0-1)
susceptibility_zones.geojson Susceptibility zone polygons
model_metrics.json Comprehensive model metrics with spatial CV results
factor_importance.csv Factor importance rankings
model_card.json Model card with limitations and metadata
request.json Analysis request metadata
dataset-manifest.json Dataset inventory
output-manifest.json Output file inventory
qa.json Quality assurance checks

Key Algorithms

Spatial Block Cross-Validation

Divides the AOI into spatial blocks. Each fold uses distinct geographic blocks for validation, preventing spatial autocorrelation from inflating accuracy metrics. Block size should match the spatial autocorrelation range.

Collinearity Check (VIF)

Computes Variance Inflation Factor for each factor. Factors with VIF > 5 are flagged as potentially collinear. High correlation pairs (|r| > 0.8) are reported.

Negative Sampling

Three strategies available:

  • random: Uniform random sampling across AOI
  • buffer: Samples drawn outside buffer zones around known landslides
  • spatial_block: Stratified sampling across spatial blocks

Model Types

  • logistic_regression: Interpretable linear model with probability output
  • random_forest: Ensemble of decision trees with permutation importance
  • slope_baseline: Simple slope-threshold baseline for comparison

Susceptibility Classification

Five-class: Very low (<0.2), Low (0.2-0.4), Moderate (0.4-0.6), High (0.6-0.8), Very high (>0.8)

Exit Codes

Code Meaning
0 Success
2 Argument error
3 Dependency missing
6 Data validation failure
7 Processing failure

Important Limitations

  • Output is susceptibility (relative likelihood), NOT temporal probability or risk
  • Requires trigger probability and exposure data for risk assessment
  • Model accuracy depends on landslide inventory completeness
  • Spatial transferability not guaranteed
  • Not for engineering safety decisions without expert review

References

  • Fell, R., et al. (2008). Guidelines for landslide susceptibility, hazard and risk zoning for land-use planning.
  • Reichenbach, P., et al. (2018). A review of statistically-based landslide susceptibility models.
  • Budimir, M.E.A., et al. (2015). A systematic review of landslide probability zonation.