1.6 KiB
1.6 KiB
设计:Cesium 路口信号灯可视化
边界
信号灯属于 Cesium 验证预览层,不进入 QGIS、GeoPackage、场景九图层、Blender 或主 GLB。 区域构建只额外写入一个轻量的信号锚点 JSON;预览运行时读该 JSON 后以 Cesium 原生 Entity/Primitive 构成灯杆、灯头和发光灯珠。
锚点与几何
中间阶段已有 vehicle_stop_lines 和 intersection_surface。信号锚点生成器将停止线的
中点作为进口横向基准,依据相交路口面和停止线两端的方向判定来车朝向;灯杆置于停止线的
侧后方、道路外缘一侧,且朝向来车。没有可唯一关联的路口面、停止线过短或无法确定外侧时,
不输出锚点。
输出只保存区域局部 ENU 坐标、朝向和稳定 ID,避免浏览器重新解析 GeoJSON 或 OSM。每个 路口按相对进口方向分为两组对向相位;首版统一循环绿、黄、全红切换。没有车辆等待逻辑。
预览交互
预览加载锚点 JSON 失败时记录 warning,场景、路线与车辆仍可用。加载成功时信号灯默认显示, 并在现有 View 控件中提供独立 Signals 复选框。灯珠以 emissive 材质区分点亮和熄灭状态, 不依赖环境光;灯杆用低多边形几何,避免增加外部模型资产。
风险与回退
信号灯是示意设施,不能视为 OSM 语义。复杂交叉口或人工修补后的不完整标线宁可跳过,也不 摆放到行车道中央。删除新锚点输出及预览加载逻辑即可完整回退,不影响既有主 GLB 或路线 JSON。