跳转至

DEM 与地形因子

DEM 是滑坡易发性评价中最基础的数据源之一。常见地形因子包括高程、坡度、坡向、曲率、地形湿度指数和地形起伏度。

本节对应完整代码:

examples/01_dem_factor_extract

核心代码

examples/01_dem_factor_extract/run.py
from __future__ import annotations

import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[2]
sys.path.insert(0, str(PROJECT_ROOT / "src"))

from landslide.config import read_simple_yaml
from landslide.features import synthetic_dem, terrain_derivatives
from landslide.plotting import save_factor_maps


def main() -> None:
    config_path = Path(__file__).with_name("config.yml")
    config = read_simple_yaml(config_path)

    dem = synthetic_dem(
        rows=config["rows"],
        cols=config["cols"],
        random_state=config["random_state"],
    )
    factors = terrain_derivatives(dem, cell_size=config["cell_size"])
    save_factor_maps(factors, PROJECT_ROOT / config["output_dir"])

    print(f"Saved factor maps to {config['output_dir']}")


if __name__ == "__main__":
    main()

输出结果

运行 demo 后会在 examples/01_dem_factor_extract/output/ 中生成坡度、坡向和曲率图。真实工程中建议同时保存 GeoTIFF,以便后续模型直接读取。