Skip to content

GIS引擎底座 概要设计文档 ​

文档版本:1.03 | 最近核对日期:2026-11-05

本设计将 GIS 拆分为共享业务与数据能力、二维编辑渲染和可选三维渲染。业务规则以需求分析为唯一正文;本文确定实现边界、数据职责和处理机制,不替代后续详细接口、数据库设计及真实验证。

2026-10-26 当前实施口径:原“监管中心”更名为“线网地图”,并作为系统默认地图场景(SYSTEM_DEFAULT)运行。线网地图的允许/默认底图、图层组合(全部图层/自选图层)、底图注记和默认视角统一从地图场景配置读取;默认入口与显式场景入口共用场景解析。场景目录由接口一次下发,默认视野按主体范围剔除离群图层,完整范围单独保留。

2026-10-23 历史实施口径:常规入口为 4 页;去掉专业和标段;线网地图为纯查看;上传只解析原始 CAD 平面,配准在数据管理版本工作台完成并派生平台成果;底图服务配置读库运行并固定 Web Mercator;旧坐标/转换页面、图纸级配准、同步导入、后端高德候选和 GIS 专题已退出;专业授权、要素几何编辑、驾驶舱和三维暂缓。此段为历史口径,当前实施以本页现行章节和详细设计为准。

文档控制 ​

项目内容
模块名称GIS引擎底座
实现范围说明已实现 4 个常规入口、天地图/OpenFreeMap 底图读库、DWG/DXF 原始平面异步解析、版本级高德配准、检查/生效、图层/图纸/任务联合管理、地图场景配置和要素台账。原始整文件下载按功能权+工程范围联合鉴权;原 CAD kkFileView 在线预览已于 2026-10-24 退役;原始/派生清单使用图层内有界分块。图层/要素全面专业过滤、几何编辑、真实进度联动、驾驶舱、三维和完整 CAD 对象覆盖尚未实现;本期不做专题
编写日期2026-10-20
关联需求GIS 需求分析
页面设计详细设计;当前 5 个菜单页面及检查/校准/场景预览等子页面
数据设计数据库设计;实际开发库结构与目标结构分开,生产未同步
决策状态当前 OpenLayers 纯查看地图、版本级高德配准、共享数据及权限;要素编辑、专业策略、进度口径和三维保留为后续

1. 架构位置与当前事实 ​

1.1 目标架构 ​

主系统与驾驶舱共享事实及授权;当前线网地图为纯查看,要素编辑留作后续。首期不以新部署通用制图平台或独立 GIS 服务器为默认前提,不将二维页面与三维页面各自保存为两套业务数据;若 CAD 验证需要使用已购超图,另按 Q-GIS-009 确定最小组件与部署范围。

图中解析任务、候选成果和有效版本链路已实现:POST /gis/drawings/receive 建立任务,受限线程池执行,候选版本检查通过后原子切换;旧同步导入入口已停用并返回 410。生产大图纸仍需按 NFR-GIS-004 验证容量、并发和恢复。

三维在图中是扩展边界,不代表首期必须安装、运行或验证三维模块。未来功能依赖实际可用服务,见需求 R-GIS-042~045。

1.2 已核对代码与未核对事实 ​

以下路径相对仓库根目录;它们是调查入口,不是必须保持不变的未来类清单。

位置2026-10-21 核对事实设计影响
digital-construction-ui/src/views/gis/scene/index.vue天地图矢量/影像 WMTS、图层树、按视野查询要素、图元弹窗和 CAD 导入对话框已有只读浏览闭环;编辑、业务联动和驾驶舱未实现
digital-construction-modules/digital-construction-gisGisSceneController 提供 /gis/scene;GisDrawingController 提供图纸/图层/要素/导入接口;旧 iServer 类与配置已移除新业务不依赖超图开关;工程/专业范围尚未接入
digital-construction-gis/src/main/resources/gis/cad_import.pyDWG→DXF(LibreDWG)→ezdxf/pyproj→GeoJSON;同步执行,源文件保留生产需异步任务、依赖安装、超时和容量治理;当前不能宣称全解析
digital-construction-admin 配置gis.scene、gis.tianditu、gis.cad、gis.storage-root;无 gis.iserver天地图浏览器 Key 由环境注入;超图 REST 配置已清除
digital-construction-api仍未发现可直接复用的专门工程授权 API工程范围与专业隔离仍需跨模块薄契约,当前未实施
EngineeringDataAccessHelper有专属工程组合、工点共享和整线三类现行判定尚未接入 GIS 查询;当前图纸未绑定工程
进度监管资料有进度看板和 Q-PS-008;部分正文仍为旧树与旧权限仅作业务需求来源,进度接口与实际数据尚未核对

本次已完成真实浏览器底图、三份样图入图、图层/要素查询验证;未查询生产、未完成官方坐标精度、CAD 全覆盖、权限矩阵或进度联调,不据此断言 GIS 正式验收通过。

1.3 2026-10-23 当前架构(高德配准新路线) ​

本节为当前设计口径,优先于下文仍保留的历史章节。

  • 入口:线网地图、数据管理、底图服务配置、地图场景配置四个常规入口;线网地图复用 SYSTEM_DEFAULT 场景,底图、图层组合、注记和视角均来自场景配置,默认入口不再硬编码底图顺序或注记默认值。旧“坐标系与转换方案”和 GIS 专题菜单、路由、接口、权限与表列均已退出。
  • 坐标链:新版本以原始 CAD x/y 为权威输入,在版本级高德配准工作台拟合到 GCJ02_WEB_MERCATOR 专用平面;保存时完整几何按 CAD x/y → 配准矩阵 → GCJ 墨卡托 → 反投影 GCJ → 本地近似逆算 WGS84 派生,地图只把 WGS84 投到 3857,不再二次套图纸级配准。
  • 数据:GIS_DRAWING_VERSION 保存 COORDINATE_PIPELINE、GEOREF_CONFIG、GEOREF_REVISION;GIS_LAYER 保存 DRAWING_VERSION_ID。原始清单和派生清单按层分块写入内网对象存储并回读摘要;同一实体使用“块实例路径+源 handle”稳定键,写库前校验唯一。V2 生效保留旧版图层/要素,当前查询、台账和导出按当前版本过滤。
  • 状态:版本级 REFERENCE/VERIFIED/UNVERIFIED 是权威,图纸资产不保存配准镜像。确认只推进配准修订,不重新派生几何。
  • 原始 CAD 预览(2026-10-24 已退役):早期版本曾提供“预览原 CAD”(短时票据+平台同源代理+kkFileView 回源,撤权后旧票据与转换成果地址返回 403);该能力已按用户决定整体移除,预览接口、回源、代理与专用配置不再存在,后续由 BIM 引擎建设。原始 CAD 源文件仍保留受控下载(功能权+工程范围)。
  • 网络:高德配准与既有天地图/OpenFreeMap 保留原访问链路。2026-11-05 起,交开投影像暂由浏览器向受控来源鉴权并取图。HTTPS 生产页面需要可达、允许跨域的 HTTPS 影像上游。
  • 配置:地图视图使用 EPSG:3857,底图源按协议关联 3857 或 4490。交开投场景接口提供上游地址、图层和网格,账号由前端部署配置提供,token 在浏览器内存中缓存。
  • 历史章节:下文 4.2 的默认方案粗转换、6.4.1~6.4.5 的重庆独立坐标标定和图纸级配准均为历史设计,相关代码、表和列已退出或物理删除,不再作为新版本转换/配准依据;当前以本节、详细设计为准。

2. 设计决策与技术选择 ​

编号决策原因及适用边界
D-GIS-001首期 OpenLayers 二维地图;编辑扩展按需采用对应 CAD 分层、二维编辑和 WMTS,不代表原生具备 DWG 解析
D-GIS-002三维渲染作为可选适配,标准可读 3D Tiles 优先评估 CesiumJS;加密服务按供应方 SDK同一业务层支持演进,无法用引擎替代网络或解密授权
D-GIS-003CAD 文件解析与标准化在服务端异步执行大图纸、字体/外参和格式依赖不能全部压给浏览器或同步 HTTP 请求
D-GIS-004原文件、源语义、显示几何、人工覆盖分离保持完整性、坐标追溯、换版和后续三维复用
D-GIS-005后端执行工程范围与专业访问的联合过滤不下发后隐藏;保护混合专业文件及派生成果
D-GIS-006DM8 保存逻辑业务事实,几何交换使用标准格式当前无需强依赖 DM 空间扩展或 PostGIS;数据库迁移遵循平台规范
D-GIS-007不新建地图进度计算和填报体系使用原业务数据,通过稳定标识及适配接口联动
D-GIS-008已购超图保留为现有资产,但不作为当前运行依赖旧 iServer 代码、配置和权限已移除;使用其 CAD 能力仍需按 Q-GIS-009 验证真实版本、组件、格式与授权

2.1 组件候选与采用条件 ​

组件用途已核对边界
OpenLayersWMTS、矢量渲染、二维交互BSD-2-Clause;真实 WMTS 参数与版本兼容待验证
ol-ext按需图层控件、弹窗和变形交互项目列有 CeCILL-B 与 BSD 许可说明;锁定版本后核对实际条款和依赖。仅复用用到的能力
OpenLayers Editor可选编辑工具栏参考BSD-2-Clause;其 CAD 对齐工具不是 DWG 解析器,不与其他编辑器全量叠加
ezdxfDXF 候选解析器MIT;DWG 的 ODA 扩展依赖外部转换器,不能作为纯开源 DWG 方案已成立的证据
LibreDWGDWG 候选解析器GPL-3.0-or-later;官方列明部分高级对象覆盖限制,需验证真实样本及采用/分发条件
GDAL按需格式与地理数据处理逐驱动核对功能和依赖,不能以“用了 GDAL”概括全部 DWG 支持
CesiumJS后续三维候选Apache-2.0;可使用自有服务,不要求购买 Cesium ion;能否读取受限数据取决于实际服务
OL-Cesium后续视图与图层同步候选官方明确 OL 交互不支持直接在三维运行;同步不是完整编辑器迁移,自定义投影另需适配

当前实现锁定并使用以下版本(开发环境已验证,不代表生产许可和全样本覆盖已通过):

组件版本用途与边界
OpenLayers10.11.0WMTS 底图、矢量图层、交互和控件;BSD-2-Clause
LibreDWG0.14DWG→DXF 转换;GPL-3.0-or-later,生产分发与对象覆盖待确认
ezdxf1.4.5DXF 图元、块展开和文字解析;MIT
pyproj3.8.0图纸绝对坐标标注反算的相似变换与 Web Mercator 逆变换;需官方控制点复核

组件版本在实际选型验证后锁定,不在本文虚构测试过的版本组合。解析器以可替换能力接口接入,不预先同时运行多套完整转换栈。免费开源候选不满足全解析时,按 Q-GIS-009 回到技术取舍,不能静默降低需求或引入商业依赖。

3. 能力划分与集成边界 ​

能力输入输出与职责
地图展示与编辑受控底图配置、授权要素、编辑会话地图、选择/定位事件和编辑变更集,不直接写数据库
场景和图层编排工程上下文、图层元数据及专业策略当前用户可用图层及展示配置,不向前端暴露全量目录再过滤
CAD 资产和任务原文件、工程归属、已知坐标及映射版本、任务和检查结果;控制文件访问和候选成果生效
几何成果服务源图元、转换输出、人工覆盖按工程/专业/视口查询及事务保存,保留来源关系
联合授权策略当前用户、真实资源、操作和当前政策允许/拒绝、查询约束及可执行动作,不接受前端自报权限
业务适配工程/业务 ID、可见对象集合及期次有权访问的详情/进度摘要,不重算其他模块业务
三维适配(后续)可用三维服务、同一工程成果及高程说明三维显示、拾取及定位事件;不拥有独立业务事实

前端沿用现有地图入口“线网地图”,并按当前简化口径形成数据管理、底图服务配置和地图场景配置页面。地图侧栏只承担当前会话查看操作;独立管理页面承担图纸、图层和配置维护。菜单名称以开发库 SYS_MENU 当前登记为准,旧坐标/转换、旧配准和专题路由已删除。

3.1 页面与数据的协作 ​

目标为需求第 3.1 节的 5 个菜单页面,具体路由、字段与交互以详细设计为正文。

页面组目标页面协作方式
地图应用线网地图共用地图引擎、授权要素和展示事件;驾驶舱复用只读模式;不做导入和编辑
数据管理数据管理目录为线路+物理工点;图纸版本产生任务和候选成果,经检查后进入有效图层;图层整层移动,要素只做内部记录
地图配置底图服务配置、地图场景配置底图服务配置读库、启用即切换;场景只配置底图、图层组合、样式覆盖和初始视图,不配置专题

配置引用关系为“标准坐标定义 ← 底图服务”“底图服务+业务图层 → 地图场景”。配准参数随图纸版本保存;成果记录输入尝试、源摘要和配准修订,场景读取配置仍按当前授权过滤。变更配置不触发无提示的全量重新解析或几何覆盖。

图纸检查、版本差异与转换校准是独立子页面;详情和轻量样式维护按复杂度使用详情页、弹窗或抽屉。菜单通过平台动态菜单机制承载,直接跳转的内部子页面有明确路由注册,不能因隐藏菜单或刷新而变成 404。

数据管理以线路/工点导航承接 CAD 主要上传入口,固定工程归属并复用图纸/任务服务;工点不再要求选择标段。导航由现有工程授权裁剪,上传后仍执行完整文件工程范围和成果检查,不能由“选中工点”直接产生权限。

4. 核心流程与事务 ​

4.1 地图读取 ​

  1. 从平台登录态取得身份;校验地图功能权限。
  2. 校验工程上下文,取得有效工程范围和专业操作范围。
  3. 返回过滤后的配置与图层;按视口/工程范围加载成果,避免一次下载全域完整 CAD。
  4. 对可见业务 ID 批量读取有权访问的进度摘要,独立加载详情。
  5. 前端以 ID 合并并渲染,取消过期异步请求的回填,防止切换工程后显示上一工程结果。

WMTS 的层级和矩阵来自供应方元数据,不把天地图/示例服务的坐标、矩阵标识及编号规则套用到一张图。

目录、要素及摘要的授权以请求时点为准;批量接口逐对象校验,不能因一条记录有权就返回整批。查询必须有可验证的完整性标识:分页/分块返回时说明续取条件,超过限制时明确提示或要求缩小视口,不能静默截断成“完整成果”。简化或裁剪几何只能用于展示;进入编辑时重新取得完整几何和当前资源版本。编辑中的要素固定在会话内,视口移出、翻页或专题刷新不得直接卸载并丢失草稿。

4.2 图纸上传与转换 ​

上传先检查文件内容、大小和工程归属。源文件是受限资产,上传成功不表示可公开,也不表示转换合格。2026-10-23 起新版本不再使用全局转换方案粗定位:解析只生成原始 CAD 平面清单,版本级高德配准后再派生 WGS84 成果;旧同步 /gis/drawings/import、旧参数和旧显示成果已退出。

尚未确定专业的源文件及解析结果进入隔离检查范围。检查/归类入口必须验证需求第 7.2 节的文件整体处理授权;不能因为普通数据查询拒绝未分类成果,就给所有上传者临时全专业权限。一个输入包含多个工程或专业时,声明的归属只用于待核对信息,不能覆盖真实内容判定;无法确认完整范围时不得向普通用户提供原图或完整预览。

任务输入绑定源文件摘要、图纸版本、坐标方案、专业映射版本和转换器版本。独立执行单元处理源文件;其访问由服务身份和指定资产约束,不接受任意文件路径或任意远程 URL。

创建任务与业务记录使用短事务。大型解析在事务外执行;完成后凭任务尝试标识核验当前版本,再以短事务写入成果引用及状态。异步执行不继承过期用户请求对象,查询和成果生效时重新验证当前授权。

对象存储写入与数据库不是同一事务:使用暂存成果、确认引用和受控清理机制;失败只回收可确认属于本次尝试的孤立输出,不能清理共享文件或上一有效版本。重试建立可追溯尝试,不用无条件覆盖原任务结果。

4.3 二维编辑与保存(本期未实现) ​

线网地图本期为纯查看;本节保存协议、几何编辑和协同冲突保留为后续能力。当前可用的写操作是版本级配准保存/确认/清除,不是要素几何编辑。

前端保存以“资源真实归属+预期版本+请求标识+新增/修改/删除变更集”为语义输入。图层切换及底图状态不影响业务 ID。

后端顺序:校验请求 → 逐项取得真实资源/目标归属 → 检查每类动作权限 → 联合工程及专业校验 → 版本和几何校验 → 事务持久化 → 返回最新版本与服务端成果。

混合变更集同时含新增、编辑、删除时分别校验动作,不能只检查 edit 后执行删除;修改专业或工程归属同时校验源和目标范围。除前端交互外,服务端不能信任客户端传来的“原专业”“原版本对象”或操作人。

保存采用受影响资源版本检查与请求幂等。相同请求标识/相同内容返回原结果;相同标识/不同内容拒绝。并发冲突语义为 409,沿用平台真实错误响应机制;前端保留草稿并提示重新读取,不自动覆盖。请求超时后先确认请求结果再重试。

幂等标识绑定发起主体、操作上下文及请求内容摘要;结果查询和重复请求仍检查当前身份与资源访问权,不能在权限撤销后从幂等缓存返回原先可见的几何。结果未知时保留原请求标识,不生成新的标识重复提交。版本检查必须与写入原子完成,不能仅先查询版本再无条件更新。

编辑变换在已确认的工程米制坐标中计算,地图投影只负责展示;不直接以经纬度差或 Web Mercator 显示米数充当工程尺寸。详细设计固定宽长的参考方向、旋转正方向、固定锚点与保持比例规则;非矩形几何的包围框尺寸不得冒充实际边长。捕捉只使用当前可读、可见且允许作为参考的几何,像素吸附容差与工程坐标验收误差分开。曲线转成折线后的局部顶点编辑记录为派生几何覆盖,不能假称仍保留未经修改的精确曲线表达。

保存中的事务只覆盖本次成果与关联,不包含大文件解析和远程业务调用。跨模块业务详情读取失败不能回滚已成功保存的几何事实,也不能假报详情加载成功。

4.4 换版 ​

每个图纸资产维护可追溯版本及当前有效版本引用。候选成果合格后才允许切换;切换检查预期当前版本,避免两次转换完成顺序导致旧版覆盖新版。

源图元标识只在所属源版本中有意义,不假定不同文件版本的 handle 永久稳定。换版建立明确来源映射,人工覆盖分为可迁移、待确认冲突和失去源对象等结果;自动匹配规则未验证时不得自动重绑。

新源版本不原地更新人工成果。冲突不被静默丢弃;旧版保留用于追溯。这里的有效版本是成果可用性,不增加审批流或审批待办。

业务要素 ID 与源图元 ID 分离。已确认同一业务对象在换版中继续使用原业务要素 ID,更新其来源映射及资源版本;图元拆分、合并、删除或无法对应时,展示差异并待确认关联处理,不按新 handle 批量新建业务对象导致原进度关联失效。候选版本生效前检查尚未解决的人工覆盖和关联冲突,存在影响有效成果的冲突时保持旧有效版本;版本切换与对应映射、覆盖及关联变更一并原子提交。

换版改变的要素同时更新并发校验版本,使基于旧图纸打开的编辑会话在保存时产生明确冲突,不能把旧草稿覆盖到新版来源上。历史查看使用对应版本的来源和覆盖快照,不能把当前覆盖直接套到历史图纸上。

5. 状态模型 ​

下表是实现所需技术状态语义,实际编码在详细设计统一;不得写成已存在字典,也不得复用流程审批状态表达解析过程。

对象状态进入与离开条件
转换尝试排队输入版本固定,尚未取得执行权;取得执行权后处理
转换尝试处理中解析/标准化/校验;成功、缺资料或处理错误后离开
转换尝试待处理坐标、专业映射、依赖或验收缺项;补正后创建新的输入明确的尝试
转换尝试成功本次输入对应候选成果完整且通过检查;不自动等于已切换为当前有效版本
转换尝试失败文件异常、转换错误、超时或资源失败;记录失败原因并按策略重试
图纸版本候选尚未成为当前有效版本;只在有权限的检查范围可见
图纸版本当前有效合格且原子切换为当前使用版本;新版生效后成为历史版本
图纸版本历史保留来源、关联及检查证据,不默认向所有用户开放
编辑会话无变更/有变更/保存中/失败或冲突仅描述前端会话;保存成功后按服务端成果重置,失败保留本地变更

失去权限时后续请求拒绝,并停止渲染或自动提交无权成果;本地草稿不自动上传到公共持久化区域。

6. 逻辑数据设计 ​

6.1 对象关系 ​

text
图纸资产 1 ── N 图纸版本 1 ── N 转换尝试
                  │                └── 检查结果与输出文件
                  └── N 源图层 / 源图元
业务图层 1 ── N 地图要素 ── N 业务关联
                  ├── 来源图元引用(可空,人工新建时无源图元)
                  ├── 人工覆盖与资源版本
                  └── 明确的工程范围与专业归属
授权主体 ── N 带工程范围的专业操作授权

上述为逻辑对象,不要求一对象一张表。物理表、字段矩阵和索引在数据库设计阶段核查现有库后确定,不在本轮执行 DDL。

本轮已通过项目纳管入口只读核对开发库三表,并在数据库设计记录完整字段与目标差异。目标结构覆盖数据版本/任务、公共配置及联合授权;新增表和扩展列均为待实施设计,不能把表清单当作已建库。

对象关键业务信息一致性约束
图纸资产稳定资产 ID、工程归属、版本集合及当前有效引用文件自身不作为地图唯一业务主键;各版本内容变化仍需重新核对受控范围
图纸版本源文件引用及摘要、受控专业集合、版本序列、源空间/单位、高程说明、配准配置与修订版本绑定不可变源文件;一个资产的当前有效版本唯一,切换支持预期版本检查;配准事实只在版本
转换尝试输入版本组合、解析器版本、执行状态及结果重试可区分;过期尝试不得覆盖较新有效输入
源图元版本内标识、原图层、几何/块/曲线/文字语义、属性源版本+源标识 定位来源;块展开需要额外派生路径,不能仅用 handle 唯一标识全部成果
地图要素稳定 ID、源或人工来源、几何、包围盒、样式、版本ID 不随视口加载或数组排序变化;包围盒只是检索辅助,不作为授权依据
工程与专业归属线路/工点或标段工点组合、适用单位工程、专业代码工程关系真实有效;单位工程与专业、标段、工点一致;不允许任意组合
人工覆盖来源锚定、变化内容、编辑者及资源版本不改写原图;换版无法确定映射时保留冲突
业务关联要素、业务类型、稳定业务 ID、必要关联版本详情由对应业务域提供;GIS 不复制其状态计算
专业授权主体、工程范围、专业与允许操作保持范围与专业的绑定关系;空配置默认拒绝

6.2 几何与坐标 ​

  1. 源工程几何及 CAD 语义保留在源坐标空间;V2 版本源空间为 CAD_LOCAL_PLANE,单位来自 DXF $INSUNITS,缺失记 UNKNOWN;目标为 GCJ-02,平台派生为 EPSG:4326。旧版源 CRS/转换参数已不在数据结构中保留。
  2. 平台地图交换使用符合 RFC 7946 的 GeoJSON:WGS84、经度在前纬度在后,不使用旧式 crs 成员承载工程坐标。旧规格里把 GCJ-02 与标准 GeoJSON 混用的例子不沿用。
  3. CGCS2000、重庆工程坐标、地图显示投影等与交换坐标的关系必须显式核对;不能将 CRS 名称相近或低缩放看起来相近当作等价。
  4. 显示几何只是派生视图。保留块、曲线、文本参数等源数据,不能用一份扁平 GeoJSON 宣称保存了完整 CAD 内容。
  5. 后端校验坐标有限值、范围、类型、结构及合法性;按适用米制坐标/方法计算尺寸。显示离散化误差与坐标转换误差分别记录。
  6. 后续三维另行处理高程基准、椭球高/工程高程、贴地或离地模式;现有 Z 值不能未经转换直接用作三维高度。

查询、编辑、导出分别标明几何用途与来源版本。导入与展示不改变源 CAD 对象;地图编辑覆盖既要保存规范化几何,也要记录采用的编辑坐标方案,使后续重投影可以追溯。普通二维 GeoJSON 交换不夹带未经解释的工程 Z 值;有合法第三坐标时按 RFC 7946 的高度含义输出,否则高程信息放在独立元数据中。

DM8 可先使用可迁移的大文本几何及普通元数据/包围盒检索方案,具体字段与容量需按真实负载设计。业务不依赖空间叠加分析;若负载证明需要空间索引或矢量瓦片,另评估必要增量,不能先行部署未经授权的新数据库或服务。

6.3 当前物理实现 ​

开发库已通过纳管入口创建 GIS_DRAWING、GIS_LAYER、GIS_FEATURE 三表:

  • GIS_DRAWING 保存图纸编码、名称、线路名、源文件名/格式/摘要/大小、源/目标 CRS、转换参数、导入状态、要素/图层数、整体 bbox 和审计字段。
  • GIS_LAYER 保存源图层名、显示名、类型、要素数、排序、默认显隐、样式色/线宽、缩放范围和 bbox。
  • GIS_FEATURE 保存图层、图纸、源 handle、几何类型、GeoJSON(EPSG:4326,CLOB)、源属性(CLOB)、排序和 bbox。

查询按 LAYER_ID 和 bbox 相交过滤,再用 FETCH FIRST 限制条数;没有使用 DM 空间扩展或空间索引。该实现足以支撑当前样图浏览,但正式容量、空间索引、分块/矢量瓦片和缓存策略仍需按 Q-GIS-007 及真实负载评估。源文件保存在 gis.storage-root 指定目录,生产环境需接入受控存储和清理策略。

6.4 CAD 坐标标定方案(历史) ​

6.4.1~6.4.5 为 2026-10-22 重庆独立坐标标定历史方案,已被 6.4.6 的版本级高德配准取代;不再作为新版本转换依据。

6.4.1 问题与证据 ​

重庆独立坐标系的官方参数涉密,不能靠猜测中央子午线、加常数或目视拖拽配准。27 号线 DWG 的 坐标标注 图层保留了 18 个绝对坐标标注,例如 X=3277476.288190 Y=474251.496577。这些值落在 CGCS2000 3 度带(中央子午线 106.5°、东坐标加常数 500000、GRS80)的合理范围;按该投影反算得到璧山附近约 106.234E、29.615N,与图纸西端位置一致。因此把这些图纸自带标注作为标定证据,而不是猜测官方参数。

标注文本的插入点是 CAD 局部坐标;标注里的绝对坐标是 CGCS2000 北/东坐标,经上述投影转 WGS84、再转 Web Mercator 作为目标点。文本插入点与真实标注点存在排版偏移,属于标定噪声。

6.4.2 相似变换模型 ​

对 18 组 CAD(x,y) → Web Mercator(u,v) 点做四参数相似变换最小二乘:

text
u = a*x - b*y + tx
v = b*x + a*y + ty

解算结果:

参数值
a1.1421714554847116
b-0.011989525767217738
tx11788665.485262021
ty3369101.135391359
比例1.14223
旋转-0.6014°
18 个标注拟合残差约 36m RMS

该残差主要来自标注文本相对实际点的排版偏移,不代表控制点本身的测量精度。

6.4.3 独立验证 ​

用公开地图站点 POI 对变换后的线路做最近距离检查(POI 通常是出入口/站台位置,线路是中心线,存在合理偏移):

线路站点线路到站点最近距离
15 号线西南政法大学167m
15 号线金山寺182m
15 号线欢乐谷278m
15 号线重光297m
15 号线金童路499m
27 号线后堡60m
27 号线南坪186m
27 号线磁器口214m
27 号线沙坪坝249m
27 号线石桥铺336m

15 号线重光站平面在变换后落在 106.5212–106.5253E、29.6483–29.6496N,重光站 POI 约 106.5264E、29.6512N;站点平面与 POI 的差异符合站厅/出入口与站中心的距离。24 号线与 15/27 号线共用同一 CAD 框架,变换后落在长生桥—迎龙—茶园东南走廊;由于 24 号线多数车站仍在建设、没有可用站点 POI,24 号线只完成了线路走廊目视核对,没有独立站点控制点验证。

2026-10-22 再次用高德站点和线路几何对照,确认这套三线共用参数仍存在明显偏差,且 CAD 站名注记大量是表格位置,不能直接作为控制点。因此该节结果只能证明“比早期公里级偏差更好”,不能作为当前显示精度或逐线配准参数继续复用;当前采用版本级高德配准,旧参数已退出。

6.4.4 实现与重导 ​

  • 历史实现曾由 cad_import.py 默认使用 SIMILARITY 做粗转换;2026-10-23 起解析器不再投影,也没有 TM_APPROX 分支。
  • 旧参数和 gis.cad.transform 配置已删除;当前解析器不读取转换参数,配准由版本工作台完成。
  • 三份样图已按新变换重新入图:15 号线 677 个图元/18 层,24 号线 754/11 层,27 号线 11,740/38 层;范围分别为 106.2925–106.8171E/29.5527–29.7094N、106.5997–106.7352E/29.4412–29.5617N、106.2139–106.7009E/29.4644–29.6379N。
  • 旧 TM_APPROX 参数已退出代码和配置,不得再作为任何定位结果。

6.4.5 适用边界 ​

该方案是图纸标定,不是官方重庆独立坐标系参数,也不是工程测量成果。18 个标注集中在 27 号线西端,15/24 号线自身没有绝对坐标标注;相似变换能修正整体平移、旋转和比例,但不能修正图纸内部的局部变形、源图断线或站名表位置。当前 60–499m 的站点距离包含 POI 与线路中心线的合理差异,不能据此宣称 R-GIS-013~017 的精度验收通过。

若后续取得少量官方控制点,或取得覆盖全线各段的绝对坐标标注,可在同一配置入口把相似变换替换为带控制点的 Helmert/七参数或分段仿射,并重新入图;页面、接口和数据库事实不需要重做。任何替换都必须记录控制点、残差、适用范围和版本,不能覆盖历史成果的坐标语义。

6.4.6 版本级高德配准(当前实现) ​

2026-10-23 起,配准以图纸版本为粒度:在数据管理版本行打开全屏工作台,左侧为原始 CAD 平面,右侧固定高德地图;支持线路名+站名多候选、选用候选后点一次 CAD 成对、地图手工取点、候选拖动/点图微调、单侧重选和删除,相似至少 3 对、仿射至少 4 对。保存由服务端重新拟合并派生完整 WGS84 成果,状态为 REFERENCE;人工确认后为 VERIFIED,清除为 UNVERIFIED。版本状态是唯一权威,图纸资产不保存镜像;地图不再二次套配准。高德 POI 和人工点选不是测量控制点,不能据此通过工程精度验收。

7. 联合权限设计 ​

7.1 判定和查询 ​

对普通用户,处理一次操作时,必须存在在目标资源同一工程上下文中有效的专业操作授权,同时满足功能权限及现有工程范围授权。

text
允许操作 = 功能动作允许
        且 工程范围判定允许(按资源类别)
        且 存在覆盖该工程、该专业、该操作的有效授权

多个有效授权可按完整授权单元取并集,但不能分别合并“所有工程”“所有专业”后做笛卡尔积。例如 A 工程电气与 B 工程土建,不推出 A 工程土建。角色/用户授权来源及继承按 Q-GIS-004 冻结;未配置不默认从标段专业推导用户专业权。

共享工点和专属组合是不同资源类别,不由客户端选择以降低权限。通用全线图形若属整线完整成果,按现行整线策略处理;需要允许部分范围用户查看时,必须提供真实可授权的分段成果,不能仅因几何经过其工点就暴露全线数据。

图层目录、要素、绑定业务 ID、统计和文件使用同一策略边界。数据库查询先过滤再分页/计数;视口条件与权限条件同时生效。授权检查异常拒绝,不能捕获后改成全量查询。

7.2 功能权限 ​

本期已登记的功能权限按当前菜单和按钮归属组织;动作白名单及三端一致性遵循公共约定,完整按钮层级见详细设计 1.5。

归属权限用途
线网地图gis:scene:query地图场景和基础查看,不代替数据维护或配置权限
GIS 根目录通用按钮gis:drawing:list、gis:layer:list、gis:feature:query跨线网地图、数据管理共用的图纸、图层和要素读取
数据管理gis:drawing:query/edit/upload/download、gis:task:list/query/submit、gis:layer:query/edit图纸、版本、任务和图层维护
底图服务配置gis:baseMap:add/query/edit/remove底图服务元数据、能力检查和启停
地图场景配置gis:sceneConfig:add/query/edit/remove场景组合、预览和启停
本期未登记要素维护/导出、专题、专业授权页面不在本期路由表,不保留空父节点和按钮权限

每个实际接口仍校验资源和数据范围。身份、操作人、工程归属关系由后端确定;授权管理不能由普通编辑权限间接获得。

图纸、图层和要素查询已通过 GisEngineeringAccessPort 叠加线路/整线/工点组合判定。2026-10-24 专业范围权限已按用户决定整体取消:专业授权矩阵、FILE_PROCESS 门槛与“未归类拒绝”退出,原始整文件下载/预览按“功能权限+工程范围”执行;R-GIS-026~035 中按专业限制访问的要求随之作废,仅保留功能权限、工程范围与“未授权数据不下发”的通用原则。专业授权页面/API 已删除,GIS_AUTH_SUBJECT/GIS_PROFESSION_GRANT 表已于 2026-11-02 从开发库删除,生产库原不存在。

(历史设计,专业范围权限已于 2026-10-24 取消)gis:drawing:query 本身不赋予完整原图读取能力,仍需功能权与工程范围判定;当前不再存在检查/归类授权、未分类图纸受控授权等前置条件。

7.3 文件、派生成果与缓存 ​

混合专业源图作为完整受限对象保存;地图成果按分类过滤或分包。同一原图的完整预览图也可能泄露其他专业,必须与源文件同等检查。

GIS 文件关联与通用 OSS 文件 ID 建立受控关系;所有下载路径检查真实业务资源。当前 GIS 源文件直接写入对象存储但不登记通用 SYS_OSS 文件记录,不提供 ossId 旁路;通用 OSS 下载无法凭 GIS 源文件 ID 取数。原 kkFileView 预览代理与回源已于 2026-10-24 退役;其他模块普通附件继续使用共享 FilePreviewDrawer 与通用 VITE_APP_KKFILE_URL,与 GIS 源文件访问无关。对象桶的公共读策略和通用附件入口仍需在部署环境按实际策略核对。

缓存包含资源版本和有效权限范围/修订标识,授权变化失效。公共底图缓存与业务成果缓存分开;不把用户专属输出放到可共享静态地址。日志及报错不返回未授权的图层名、全文图元或文件存储位置。

8. 接口职责与业务适配 ​

以下为逻辑接口族;具体 URL、DTO、分页结构、错误码及单次限制由详细设计确定,不提供可被误认为现有可调用接口的伪契约。

接口族调用方关键输入与输出必须执行的检查
场景与服务配置地图入口工程上下文、可用底图及能力功能权限、工程上下文、可公开配置白名单
配置维护与引用检查各配置管理页面配置版本、引用资源、验证结果、受控保存配置功能权、真实资源范围、引用一致性、密钥隔离及并发版本;不复用普通场景 DTO 暴露管理配置
坐标校准与任务恢复校准页、任务管理方案版本、控制点、验证结果及新尝试标识工程与专业范围、文件整体处理权、参数校验;不直接修改已生效成果
图层/要素查询二维及后续三维工程范围、视口、过滤后的目录及标准成果工程+专业;先过滤再分页/计数
要素变更集编辑工作台预期版本、请求标识、变更与最新成果每项动作、源/目标归属、几何、并发和幂等
图纸资产与任务上传/检查区域源文件、版本、转换输入、受控状态与检查结果上传、检查及文件内容范围;任务身份不代替用户权限
专业策略授权维护入口主体、工程上下文、专业动作集合授权维护权、可授予上限、并发版本、审计
业务绑定与摘要地图与业务端稳定业务对象 ID、期次、有权摘要GIS 可见性和原业务权限均满足;关系真实有效
业务进度覆盖(后续)主系统和驾驶舱可见对象集合、状态/颜色口径、数据时间只聚合授权对象,缓存不能泄露其他专业汇总;不在 GIS 保留专题配置
导出/文件读取已授权用户资源 ID、受控成果/文件内容当前授权、操作权、混合文件完整范围,禁止任意 URL 代理

当前已实现的 HTTP 接口(开发环境事实,不作为未来接口冻结):

方法路径权限说明
GET/gis/scenegis:scene:query天地图 WMTS 场景、中心、层级和底图/注记定义
GET/gis/drawingsgis:drawing:list已成功入图的图纸目录
GET/gis/drawings/{drawingId}/layersgis:layer:list图层目录、样式、缩放范围和 bbox
GET/gis/layers/{layerId}/featuresgis:feature:query按 bbox 和 limit 返回 GeoJSON FeatureCollection;默认 20,000、最大 30,000,超限返回 truncated
POST/gis/drawings/importgis:drawing:uploadmultipart 上传 DWG/DXF,服务端同步解析并入图;返回图纸摘要

接口沿用平台 R、分页、异常和 ID 契约;Long ID 保持前端原值并复用后端大数序列化。前端类型不使用 any 掩盖坐标或关联字段差异。

工程授权薄契约由工程业务域提供真实资源判定及可用于查询的有效范围,不在 GIS 另造弱化版 SQL。进度适配器按 Q-GIS-005 暴露对象、期次、状态及更新时间,不把业务模块内部 Entity 直接当跨模块 DTO。

9. 二三维适配与业务状态 ​

共享业务层只维护工程上下文、当前图层偏好、选中业务 ID 及后续业务覆盖成果。OpenLayers Feature、Cesium Entity/Primitive 等保存在各自渲染适配器内,不作为数据库事实或跨业务事件对象。

两个渲染端各自完成:加载标准成果、定位、选择高亮、更新样式、释放资源。事件传稳定 ID 和明确坐标含义;相机状态属于渲染状态,不能用二维 zoom 数字直接替代三维相机高度。

未来供应方式接入分支验证条件
仅 WMTS保持二维;若 Cesium 显示影像仍不代表具有实景模型实际矩阵、投影和影像能力
标准可读 3D Tiles评估 CesiumJS 加载格式/扩展、鉴权、坐标、高程、资源完整性、内网性能
加密数据+指定 SDK增加供应方 SDK 适配合法客户端、解密/运行环境、叠加/拾取/事件接口
仅嵌入三维页面评估其受支持的页面联动接口嵌入策略、消息边界、身份、工程定位及业务叠加能力

OL-Cesium 可验证其同步能力,但不是必须依赖。二维交互不能直接用于三维;三维精细编辑不属于当前承诺。三维矢量需要明确贴地、贴模型、固定高程或工程高程模式,并检查遮挡和精度。

切换时保护未保存变更:本期仅保留处理接口与状态边界,不假装已有三维切换功能。未来实现优先按需加载三维代码,非活动视图暂停渲染或释放资源,避免同时运行造成无谓开销;实际策略按验证确定。

10. 业务进度展示与业务详情(后续阶段) ​

几何成果与进度摘要分别读取;数据以稳定 ID 关联。进度适配以业务数据源为权威,GIS 的颜色映射引用冻结后的业务状态口径,不重新计算加权进度。

一个图形对应多个对象时,按已确定的聚合规则处理;规则未定不能自行取最大、平均或第一条。无数据、未接入与加载失败分别返回,不与真实状态混用。业务覆盖样式叠加在基础样式之上,退出覆盖后恢复。

详情优先复用已有业务组件/页面,挂接 Vue 内容而不是不加处理地执行原图或外部 HTML。文本、图纸属性与富文本按平台规则处理,避免脚本注入。业务模块无对应读取权时不显示其敏感摘要。

11. 外部依赖、部署与故障 ​

依赖使用方式失败与安全边界
一张图 WMTS浏览器直连或受控代理,按 Q-GIS-001 确定CORS、HTTPS、鉴权和网络分别核实;代理仅白名单资源,不能提供任意目标转发
天地图(可选)浏览器直连使用浏览器端 Key;当前已用于矢量/影像 WMTS。真实值在私有根 README.md“其他服务与外部集成”下的“国家地理信息公共服务平台(天地图)”,通过环境配置注入浏览器端 Key 已在开发环境验证;服务器端 Key 未用于当前实现。两类 Key 不互换,服务器端 Key 不下发浏览器,公开文档和日志不保存真实值
LibreDWG / ezdxf / pyproj服务端 CAD 转换与解析,cad_import.py 以独立 Python 进程执行;路径通过 GIS_DWG2DXF_COMMAND、GIS_PYTHON_COMMAND 注入固定版本并限制输入、时长和并发;不调用在线第三方转换服务。LibreDWG 为 GPL-3.0-or-later,生产分发和生产依赖需合规确认;当前同步执行,正式大图纸需异步化
对象存储复用平台上传/存储契约,补足 GIS 文件访问控制不复制存储配置,不公开源文件和转换包长期直链
DM8复用平台持久化和事务表结构经纳管入口核对,厂商差异集中适配;不在业务代码散落方言
CAD 解析执行单元平台内网/本地环境隔离执行;当前由 Java 以同步子进程调用 Python worker固定依赖,限制资源与输入范围;不调用在线第三方转换服务;进程失败、超时和缺失依赖需明确返回,不能假报成功
未来三维服务仅在获准网络与客户端使用不打通公网转发受限资源,不将专线可达当作协议兼容

Worker 的进程/服务形态按真实依赖与任务规模决定,独立执行不必扩建一套微服务平台。先复用现有任务、文件、审计和监控能力;后台常驻进程的启停按项目环境规则执行。

任务不能只保存在进程内队列。任务输入和状态需可恢复,执行权通过平台适用的领取/租约机制保证;进程退出、超时或重复回调后能识别失效尝试并恢复处理。恢复不重复激活版本,也不让仍在运行的旧尝试覆盖新结果;实现所用队列或调度方式按现有基础设施选取,不据此默认新增消息中间件。

可观测信息包括任务时长、阶段、失败分类、成果数、缺项数、保存冲突和访问拒绝;不记录原始完整文件、密钥或未经授权的业务内容。底图失败不抹除业务图层,转换失败不替换有效版本,进度失败不伪造正常状态。

12. 实施顺序与编码交接约束 ​

12.1 可独立推进的顺序 ​

阶段内容进入下一阶段的必要证据
1. 核对与契约核对旧接口调用方、现有库和公共能力;从开始即并行核查代表性 CAD、WMTS 与坐标条件;确定逻辑对象、资源归属、权限与接口契约详细设计及数据库设计对应本次实际范围,不把未核对字段/表标为现状
2. 联合授权与成果保存实现工程/专业策略、文件访问边界、标准几何与变更集直接接口越权、混合文件、并发和保存后回显验证
3. CAD 转换验证优先用代表性真实 DWG/DXF 跑完整链路,验证难图元和坐标覆盖矩阵及缺项;及早确定 Q-GIS-009,不能最后才发现 DWG 不可用
4. 地图工作闭环接入实际 WMTS、CAD 图层、标绘、关联和失败恢复实际入口完成上传—入图—编辑—保存—重载
5. 业务与驾驶舱按真实业务源接进度和详情,共用组件及授权真实状态/期次/颜色、无数据及跨专业场景验证
6. 性能及交付冻结负载阈值、定向优化、记录验收及操作资料功能、权限、异常、性能证据与文档一致
后续三维Q-GIS-008 条件满足且范围明确后实施获准网络下真实服务、数据叠加、高程、权限和性能验证

阶段可以按依赖交叉推进;不能因为三维尚未开放而停下已独立具备条件的二维工作,也不能为提前演示绕过 CAD 或权限要求。

2026-10-21 当前进度(历史):阶段 1 部分完成(接口、目标表、图纸绝对坐标标注反算的相似变换和样图范围已核对);阶段 2 部分完成(图纸/图层/要素查询已接入工程范围联合过滤,专业授权已实现存储与判定接口但尚未接入既有数据查询);阶段 3 已用 15/24/27 号线三份样图打通 LibreDWG→DXF→ezdxf/pyproj 链路,并在 142 上验证自带 Python 运行时与源码编译的 LibreDWG 可用,但全格式/全对象矩阵和官方控制点精度未完成;阶段 4 已完成只读底图、CAD 异步入图、版本检查与生效、图层管理、图纸/任务台账、底图/坐标/方案/场景/专题配置;几何编辑与真实换版差异仍待补齐;阶段 5 已实现专题配置与占位源、要素台账与业务绑定存储,真实进度数据和驾驶舱联动未开始;阶段 6 和三维未开始。

先交付一个有代表性的完整工程样本:实际 CAD → 受控解析和归类 → 坐标核验 → WMTS 叠加 → 编辑保存重载 → 业务关联;再扩展样本覆盖和容量。该样本验证只是降低技术风险,不能代替 AutoCAD 2004—2024 格式与对象覆盖验收。详细设计至少固定接口字段/错误语义、ID 与版本、授权粒度、编辑坐标、CAD 成果映射及失败恢复后,再实现依赖这些契约的业务代码;暂缺外部条件的适配契约可明确留空并继续独立部分。

12.2 必须保持的契约 ​

  1. 先读需求分析第 2、7、12 节,区分已保留范围、未决条件及历史规格失效部分。CAD 全解析、专业隔离、复杂空间分析和 BIM 是不同边界。
  2. 不把候选库的安装成功、示例出图或 Mock 返回当作真实 CAD、WMTS、进度或三维服务已验收。开发夹具明确隔离,不默认出现在正式数据入口。
  3. 不擅自加入高德、在线 CAD 转换、商业插件、Cesium ion 或仅免费不开放源码的必需组件。开源链有缺口时说明具体样本与对象,不删除需求。
  4. 不从旧进度资料复制单棵工程树、角色数据范围和独立 OR 放行;不把 BIM 进度任务作为 GIS 的默认业务源。
  5. 不把工程授权和专业授权分别全量合并;不把专业可见性仅做成前端图层隐藏;不遗漏源文件、预览、导出和通用附件旁路。
  6. 旧 iServer 接口、权限和配置已移除;新场景/图纸接口保持稳定契约,修改字段、权限或菜单时核对前端、菜单和既有调用方。新业务服务不依赖超图开关,超图资产是否保留以兼容和许可调查为准。
  7. 页面范围以需求第 3.1 节和详细设计为准,11 个菜单及其子页面不能缩成一个地图页,也不能只建空壳;不要额外扩为通用地图门户、重复驾驶舱或独立审批平台。必要技术选择在既有授权内自主完成;新业务取舍和实质扩围按项目规则处理。

12.3 未决事项处理 ​

业务及外部条件统一维护在需求分析第 12 节,不在本文创建第二份决定清单。实施者对缺项记录已查证据及影响,只暂停依赖该事实的部分;不反复请求已明确范围的授权,也不自行作出会改变业务结果的假设。

13. 验证范围与需求追踪 ​

层次验证内容对应需求验收
真实浏览器入口工程选择、真实底图、图层、上传、编辑、保存重载、详情和驾驶舱AC-GIS-001~009、014~017
接口与权限功能动作、三类工程资源、专业组合、目录/统计过滤、授权变更AC-GIS-010、011、013、016
文件与旁路原图、完整预览、转换包、通用下载/预览、缓存AC-GIS-012、013
CAD 内容核对原文件对照、块/曲线/中文/填充、依赖与缺项检查、来源映射AC-GIS-003~006、009
数据与并发纳管回读、变更事务、幂等、版本切换和孤立输出处理AC-GIS-007~009、017
真实业务源进度粒度、期次、聚合、颜色、详情权限、空数据与失败AC-GIS-014~016
架构与后续三维引擎对象不入业务模型、坐标/高程边界及后续服务验证计划AC-GIS-018;未来真实三维另验收
性能与资源冻结负载后的浏览器、解析任务、接口及瓦片分项测量AC-GIS-019
依赖与部署实际组件/字体许可、固定版本、本地资源及文件处理外联检查AC-GIS-020
页面体系与配置4 个常规入口及子页面直接访问/返回、底图服务引用、无专题场景AC-GIS-021~024;页面用例见详细设计

功能实现后执行项目要求的真实入口操作,接口、构建和自动化只作对应辅助证据;CAD 内容核对须使用有权读取的真实样本,不能只用自动生成直线。2026-10-21 已在开发环境完成底图、三份样图入图、图层/要素查询、文字注记、图元弹窗和基础布局验证;完整 AC-GIS 验收、权限矩阵、编辑、进度、性能和三维仍未执行,本节其余内容仍为后续验证方案。

14. 相关规范与参考 ​