# 供水 GIS 点位标注规范 ## 状态 accepted ## 决策 供水 GIS 一张图包含供水设施 GIS 一张图、监测设备 GIS 一张图和监测报警一张图。三张图共用统一地图页壳与交互框架,但数据边界、图层语义和详情内容不同。 统一地图使用 `GisMapCanvas` 渲染点位。输入坐标保持 WGS84;组件在渲染到百度地图前统一转换为 BD09。 统一页壳使用 `WaterGisPageShell` 承载页头、左侧信息面板和地图区;设施图、设备图和报警图只替换面板数据与地图内容。 ### 坐标点 - 使用百度地图官方 `T_MarkPoint_*` 图标素材和 `BMapGL.Marker + BMapGL.Icon` 渲染坐标点。 - 点位名称使用独立 `BMapGL.Label`,显示在坐标点上方;名称框宽度固定为坐标点图标宽度的 2 倍(56px),单行最多 6 个中文字符,超长自动换行。 - 点击点位或搜索结果时定位并放大到对应要素。 - 管网 `LineString` 只绘制管线,不绘制起点、终点坐标点;点击管线时由页面查询并展示详情。 ### 重叠点位合并 - 同屏相邻点位按像素半径(默认 48px)合并为一个簇,簇复用点位图标并显示数量;合并只发生在渲染层,不修改业务数据。 - 当簇内包含多种类型或多种状态图标时,使用 `T_MarkPoint_Colorful.png` 作为聚合图标。 - 聚合文本带业务前缀:设施图显示“设施集合:数量”,设备图显示“设备集合:数量”,报警图显示“报警集合:数量”。 - 点击簇时,画布优先缩放展开簇内点位;当簇内坐标完全重合、无法通过缩放展开时,画布发出 `cluster-click` 事件,由页面层展示簇内点位列表。 ### 设施类型颜色 设施类型与官方图标素材的映射如下: | 类型 | 名称 | 图标 | | --- | --- | --- | | `source` | 水源地 | `T_MarkPoint_Blue.png` | | `plant` | 水厂 | `T_MarkPoint_Green.png` | | `pumpStation` | 泵站 | `T_MarkPoint_Red.png` | | `pipe` | 供水管网 | `T_MarkPoint_Yellow.png` | | `user` | 用水户 | `T_MarkPoint_Black.png` | 该映射只表示设施类型,不表示设备运行状态。 ### 监测点状态颜色 监测设备和报警点位使用状态语义: | 状态 | 颜色/素材 | | --- | --- | | 正常 | 绿色 / `T_MarkPoint_Green.png` | | 报警 | 红色 / `T_MarkPoint_Red.png` | | 预警 | 黄色 / `T_MarkPoint_Yellow.png` | | 有关联工单 | 蓝色 / `T_MarkPoint_Blue.png` | | 离线 | 灰色 / `T_MarkPoint_Grey.png` | 状态判定不得替代设备状态、报警记录状态或工单状态的独立数据来源。 监测报警一张图使用报警点位接口提供地图坐标,并通过报警台账与设备点位补全状态来源。设备报警状态、报警记录状态和关联工单状态必须分别展示;任一来源缺失时显示“未获取”,不得由另一来源推导。 ### 统一交互 - 默认地图中心为沅陵县。 - 地图同时显示当前查询范围内全部有效点位和管线,不得只显示第一条记录。 - 点击地图点位或左侧搜索结果时,定位并放大到对应要素,并打开右侧详情抽屉。 - 左侧面板由 `side-panel-body` 统一采用有界滚动;统计、图层、图例和搜索结果完整可用,搜索结果不得再嵌套独立滚动。 - 设施详情抽屉中的字段名和枚举值必须使用中文业务口径,不得直接展示接口原始英文字段。