feat/vtk-3d-view #7
|
|
@ -40,11 +40,11 @@
|
|||
|
||||
---
|
||||
|
||||
## 3. 客户端当前做法(供确认/纠正)
|
||||
## 3. 客户端做法演变
|
||||
|
||||
- 竖直坐标用 **`y` 作深度**:每个格子 Z = `-y[j]`(深度向下取负),**未使用 `z` 和 `elevation`**。
|
||||
- 这与**二维"数据详情"反演图一致**(详情图 `ContourPlotItem` 也只用 `x`、`y` 画"距离 × 深度"矩形,不用 `z`/`elevation`)。
|
||||
- 即:3D 帘面 = 二维"距离×深度"剖面**立起来 + 沿真实测线(lat/lon)弯曲**,**平顶**、不随地表起伏。
|
||||
- **早期(已废弃)**:竖直 Z = `-y[j]`(把 `y` 当"深度向下"),平顶、不随地表。加真实地形底图后暴露问题:剖面整体沉到地下。
|
||||
- **当前(2026-06-17)**:竖直 Z = `+y[j]`(把 `y` 当**真实高程**),与同样按真实高程渲染的地形底图同系对齐 → 剖面顶≈地表、露出地面(复刻原版观感)。详见 §6。
|
||||
- 仍**未使用 `z` 和 `alt/elevation`**。
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -66,3 +66,19 @@
|
|||
|
||||
- 现状 (A) 已能正确渲染(与 2D 详情一致),可继续使用。
|
||||
- 若业务要 (B) 地形跟随,需上面第 2/3/4 项的明确定义后,客户端按真实竖向模型实现(避免凭猜测导致渲染错误)。
|
||||
|
||||
---
|
||||
|
||||
## 6. 进展(2026-06-17):原版 web 代码已部分解答,但仍有跨数据集风险
|
||||
|
||||
拿到原版 `commercial-admin` 代码(`dataView/threeMap/threeMap.vue` `addEntityToMap`)后确认其做法:
|
||||
- **`data.y` = 真实高程**(不是深度)。原版 `originY = data.y[0]`、`localY = data.y - originY`(相对形状),剖面世界 Z = `originY + localY = data.y`,并用 **`alt`(测线每点地表高程)** 算坡度/地表偏移;地形用 Mapbox 真实 DEM。两者同在真实高程系 → 剖面顶≈地表、露出地面。
|
||||
- **无垂直夸张**(`scale.y = 1`,真实比例)。
|
||||
|
||||
**客户端据此已改为 Z = `+y`(§3 当前)**,对 `y ≈ 真实高程` 的数据集(如射洪 `y`≈`elevation`≈287~353)对齐良好。
|
||||
|
||||
**⚠️ 仍未解决:§2 表中 `y` 跨数据集不一致**——香港 `T120526003-3`(`y`=13~26 但 `elevation`=41~51,差 ~28m)、演示 `ERT1-WS`(`y`=9.8~26.7 但 `elevation`=36~38,差 ~10~26m)这类,`y` 并不等于真实地表高程。对它们,仅用 `+y` 会让剖面整体偏离地表一个常量。
|
||||
|
||||
**稳妥的完整做法(= 原版)**:取 `alt`(测线每点地表高程)把剖面**顶部贴到地表**,`data.y` 只决定相对形状/深度跨度。即 `Z(列i, 行j) = altSurface(i) - (data.y[top] - data.y[j])`(或等价:用 alt 定地表、y 定相对位置)。这需要客户端**解析并使用 `alt`/`elevation` 字段**(当前未取)。
|
||||
|
||||
**待办**:客户端拉取 `alt`(或 `elevation`),按"地表 alt + y 相对形状"摆放剖面,消除跨数据集垂直偏移。在此之前,`+y` 是对 `y≈高程` 数据集成立的近似。
|
||||
|
|
|
|||
Loading…
Reference in New Issue