feat/vtk-3d-view #7
|
|
@ -75,10 +75,8 @@
|
||||||
- **`data.y` = 真实高程**(不是深度)。原版 `originY = data.y[0]`、`localY = data.y - originY`(相对形状),剖面世界 Z = `originY + localY = data.y`,并用 **`alt`(测线每点地表高程)** 算坡度/地表偏移;地形用 Mapbox 真实 DEM。两者同在真实高程系 → 剖面顶≈地表、露出地面。
|
- **`data.y` = 真实高程**(不是深度)。原版 `originY = data.y[0]`、`localY = data.y - originY`(相对形状),剖面世界 Z = `originY + localY = data.y`,并用 **`alt`(测线每点地表高程)** 算坡度/地表偏移;地形用 Mapbox 真实 DEM。两者同在真实高程系 → 剖面顶≈地表、露出地面。
|
||||||
- **无垂直夸张**(`scale.y = 1`,真实比例)。
|
- **无垂直夸张**(`scale.y = 1`,真实比例)。
|
||||||
|
|
||||||
**客户端据此已改为 Z = `+y`(§3 当前)**,对 `y ≈ 真实高程` 的数据集(如射洪 `y`≈`elevation`≈287~353)对齐良好。
|
**客户端据此已改为 Z = `+y`(§3 当前),与原版完全一致**(实证:`threeMap.vue:676` `position.z = originY + zCorrection`,`originY = data.y[0]`,注释明说"剖面底部对应真实海拔 originY",网格 `localY = data.y - originY`,`rotateX` 后竖向 = `data.y`)。
|
||||||
|
|
||||||
**⚠️ 仍未解决:§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` 仅用于**:水平定位(`geo2pos` 取 `.x/.y`)+ 坡度补偿 `zCorrection`(而对应的 `rotateZ` 在 667 行被注释掉、实际不生效)。**原版并不用 alt 把剖面顶贴地表**——之前文档此处的"alt 贴地表"为臆测,已更正。
|
||||||
|
|
||||||
**稳妥的完整做法(= 原版)**:取 `alt`(测线每点地表高程)把剖面**顶部贴到地表**,`data.y` 只决定相对形状/深度跨度。即 `Z(列i, 行j) = altSurface(i) - (data.y[top] - data.y[j])`(或等价:用 alt 定地表、y 定相对位置)。这需要客户端**解析并使用 `alt`/`elevation` 字段**(当前未取)。
|
**⚠️ §2 表中 `y` 跨数据集不一致是数据层面问题,原版同样存在**:原版也按 `data.y` 摆放,对 `y≠真实高程` 的数据集(香港 `T120526003-3` `y`=13~26 而 `elevation`=41~51)一样会整体偏离地表。客户端与原版行为一致,非客户端 bug。若要纠正,属数据/业务侧(统一 `y` 的高程基准),非渲染侧凭 alt 推算。
|
||||||
|
|
||||||
**待办**:客户端拉取 `alt`(或 `elevation`),按"地表 alt + y 相对形状"摆放剖面,消除跨数据集垂直偏移。在此之前,`+y` 是对 `y≈高程` 数据集成立的近似。
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue