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,以便后续模型直接读取。