- TerrainActor(buildTerrain): GDAL 读 dem.tif(高程)+ image.tif(影像); DEM CRS→4326→ GeoLocalFrame 配准成 vtkStructuredGrid warp 面; 影像经 GDAL 读像素(行翻转正立)作纹理, 按经纬→EPSG:3857→像素 算纹理坐标贴图(影像/DEM 异源 CRS 重投影对位)。影像读失败→按高程上色。 离屏 verify_terrain_3d.png 核对: 卫星影像正立贴微起伏面、配准对位。+2 单测。 - 注: 影像须 GDAL 读(vtkTIFFReader 对此压缩 TIFF 报错"reading the row")。 - dd_slice: 3D「视图详情」加「切片」图层 = vtkImagePlaneWidget 在体素 image 拖切面(spec M1-b)。 - 接入 app: 3D 浮层五图层(帘面/体素/切片/地形); repo.demPath()/imagePath(); PROJ 不可用则禁用。 - vcpkg 加 gdal(连带 hdf5/netcdf/geos 等, 已缓存); 全 40 测试绿; app 构建干净。 - 注: 地形/切片 Z 基准与帘面/体素纵向夸张未统一(spec M-3 待办); dem 低分辨率→起伏细微。 |
||
|---|---|---|
| ScreenShot | ||
| docs | ||
| resources | ||
| src | ||
| tests | ||
| tools | ||
| .clang-format | ||
| .clangd | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| README.md | ||
| vcpkg.json | ||
README.md
Geopro 3.0 桌面客户端
地球物理勘探数据可视化桌面客户端(Qt 6 + VTK 9,C++)。复刻 Geopro 3.0 核心「项目分析视图」。
M1 范围、架构与决策见 docs/superpowers/specs/2026-06-07-geopro-desktop-m1-design.md。 上位技术基线见 docs/Geopro3.0_技术选型与架构规约.md。 环境搭建见 docs/ENV_SETUP_Windows.md。
技术栈
Qt 6.8 LTS(QtWidgets)+ VTK 9.3+ · CMake + vcpkg(全量,含 Qt)· MSVC 2022 / C++17 · ADS 停靠 · GDAL/PROJ · OpenSSL · QtKeychain。
目录(设计 §3)
src/core/ 纯业务,零 Qt/VTK
src/data/ Repository + 解析器
src/net/ ApiClient / AuthService / Credential
src/render/ VTK 场景与 actor(单一场景 + 相机预设)
src/view/ QtWidgets 面板
src/controller/ 联动编排
src/app/ 入口 + 主窗(M1 spike:Qt+VTK 冒烟程序)
tests/ gtest / Qt Test
tools/ 离线验证脚本(validate_samples.py)
docs/ 规约、API、样本数据、设计文档
快速开始
前置:VS2022(C++ 桌面开发)、Git、vcpkg(设 VCPKG_ROOT)。详见 ENV_SETUP_Windows.md。
# x64 Native Tools 命令行,项目根
vcpkg x-update-baseline --add-initial-baseline # 锁依赖版本
cmake --preset msvc-debug # 首次编译 Qt+VTK,较久
cmake --build build/debug
.\build\debug\src\app\geopro_desktop.exe # spike 冒烟:应显示一个锥体
ctest --test-dir build/debug # 运行单测
当前状态
M1 设计完成(v2,经双专家评审)。进入 spike 预研(设计 §15):① 全 vcpkg 构建/部署 ② ADS + QVTKOpenGLStereoWidget 停靠稳定 ③ 真实样本跑通 banded contour。spike 通过后展开完整实现计划。