Skip to content

DTM Pro (地形大师) - 基于 PyQt5 和 Matplotlib 的数字地形模型(DTM)分析套件。支持TIN/Grid 3D渲染、土方量、坡度坡向、视域、断面、分区统计、坐标转换等功能。

Notifications You must be signed in to change notification settings

ForestSun2023/DTM-Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DTM Pro (地形大师) ⛰️

DTM Pro 是一个基于 Python、PyQt5 和 Matplotlib 开发的桌面应用程序,专为数字地形模型 (DTM) 的三维可视化与综合地形分析而设计。

它集成了数据加载、TIN/格网建模、多种地形因子计算、交互式分析工具(如断面、视域、土方量)以及测量学常用工具于一体,提供了一个集成的地形处理工作流。

核心功能

1. 数据加载与管理

  • 支持加载 .csv, .dat, .txt 等格式的 XYZ 散点数据。
  • 支持加载 .shp, .geojson 等 GIS 矢量图层(如道路、边界)并叠加显示。
  • 支持加载“对比 DTM” 数据,用于双曲面土方量计算。
  • 提供数据 Z 值(高程)过滤器。

2. 2D/3D 可视化

  • 3D 视图:
    • 渲染 TIN 三角网 (TIN Mesh) 模型。
    • 渲染平滑格网 (Smoothed Grid) 曲面模型。
    • 支持视角复位、鼠标滚轮缩放和中键平移。
  • 2D 视图:
    • 绘制 等高线图 (Contour),并支持自定义等高线间距。
    • 渲染 坡度图 (Slope)坡向图 (Aspect)
    • 渲染 差值图 (Difference Map) (需加载对比DTM)。
    • 渲染 视域分析图 (Viewshed)
  • 界面:
    • 支持暗色 (Dark) 与 玻璃 (Glass) 两种主题风格。
    • 支持 2D/3D 视图独立弹窗查看器。

3. 核心地形分析

  • 土方量计算:
    • 支持基于基准面的单曲面挖填方计算。
    • 支持基于对比 DTM 的双曲面挖填方计算。
  • 视域分析 (Viewshed): 基于格网数据,在 2D 视图上交互式选择观察点,快速计算可视区域。
  • 通视分析 (LOS): 交互式选择两点(观察点和目标点),分析两点间是否通视。
  • 断面分析:
    • 支持绘制单段断面线并弹出断面图。
    • 支持绘制多段断面线(折线),并可批量导出断面图至 Word 报告。
  • 分区统计 (Zonal Stats):
    • 基于加载的矢量多边形图层。
    • 统计每个多边形区域内的高程 (Elevation)、坡度 (Slope) 或坡向 (Aspect) 的最大/最小/平均/中位值等。

4. 交互式工具

  • 属性查询: 在 2D 视图上点击地图,查询任意点的 (X, Y) 坐标、插值高程 (Z)、所在三角面的坡度与坡向。
  • 数据编辑:
    • 添加数据点: 在 2D 视图上点击并输入 Z 值,动态添加新点。
    • 删除数据点: 在 2D 视图上点击,删除距离最近的数据点。
    • (数据编辑后,TIN 三角网会自动重新计算)

5. 测量工具集 (集成)

  • 坐标转换: 空间直角坐标系 (XYZ) <-> 大地坐标系 (BLH) 互转。
  • 前方交会: 计算前方交会点 P 的坐标。
  • 水准闭合差: 计算闭合水准路线的闭合差并进行平差。
  • 其他: 距离计算、地形图编号查询。

6. 导出功能

  • 将 2D 分析图 或 3D 模型图 导出为高分辨率 PNG 图像。
  • 将插值生成的格网数据导出为 ESRI ASCII Grid (.asc) 文件。
  • 一键生成包含项目概览、统计图表、分析地图和 AI 结论的 Word (.docx) 综合报告。
  • 导出修改后(增删点后)的 .csv 数据。

技术栈

  • 界面 (UI): PyQt5
  • 核心计算: NumPy, SciPy (Delaunay三角剖分, 线性插值)
  • 数据处理: Pandas, GeoPandas
  • 可视化: Matplotlib
  • GIS/栅格处理: Rasterio, Rasterstats
  • 报告/其他: python-docx, requests

About

DTM Pro (地形大师) - 基于 PyQt5 和 Matplotlib 的数字地形模型(DTM)分析套件。支持TIN/Grid 3D渲染、土方量、坡度坡向、视域、断面、分区统计、坐标转换等功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages