From 4a680cc18a3fc3fa2d4fa7b0a22e3ad7c4dade55 Mon Sep 17 00:00:00 2001 From: gaozheng Date: Wed, 17 Jun 2026 18:37:40 +0800 Subject: [PATCH] =?UTF-8?q?docs(vtk):=20=E6=9B=B4=E6=AD=A3-=E5=8E=9F?= =?UTF-8?q?=E7=89=88=E5=89=96=E9=9D=A2=E7=AB=96=E5=90=91=3Ddata.y(?= =?UTF-8?q?=E5=AE=9E=E8=AF=81threeMap.vue:676),=E9=9D=9Ealt=E8=B4=B4?= =?UTF-8?q?=E5=9C=B0=E8=A1=A8(=E8=87=86=E6=B5=8B,=E5=B7=B2=E6=92=A4);?= =?UTF-8?q?=E8=B7=A8=E6=95=B0=E6=8D=AE=E9=9B=86y=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4=E4=B8=BA=E6=95=B0=E6=8D=AE=E5=B1=82=E9=9D=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98,=E5=8E=9F=E7=89=88=E5=90=8C=E6=A0=B7=E5=AD=98?= =?UTF-8?q?=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...026-06-16-反演剖面竖向字段(y-z-elevation)语义待确认.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/questions/2026-06-16-反演剖面竖向字段(y-z-elevation)语义待确认.md b/docs/questions/2026-06-16-反演剖面竖向字段(y-z-elevation)语义待确认.md index c0f986e..3dd7f69 100644 --- a/docs/questions/2026-06-16-反演剖面竖向字段(y-z-elevation)语义待确认.md +++ b/docs/questions/2026-06-16-反演剖面竖向字段(y-z-elevation)语义待确认.md @@ -75,10 +75,8 @@ - **`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)对齐良好。 +**客户端据此已改为 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` 字段**(当前未取)。 - -**待办**:客户端拉取 `alt`(或 `elevation`),按"地表 alt + y 相对形状"摆放剖面,消除跨数据集垂直偏移。在此之前,`+y` 是对 `y≈高程` 数据集成立的近似。 +**⚠️ §2 表中 `y` 跨数据集不一致是数据层面问题,原版同样存在**:原版也按 `data.y` 摆放,对 `y≠真实高程` 的数据集(香港 `T120526003-3` `y`=13~26 而 `elevation`=41~51)一样会整体偏离地表。客户端与原版行为一致,非客户端 bug。若要纠正,属数据/业务侧(统一 `y` 的高程基准),非渲染侧凭 alt 推算。