feat: CellData.sql 新增 cellinfo→sector 逆推(频段特征库+物理站/扇区/站型规则,补缺不覆盖)

This commit is contained in:
2026-06-26 10:45:57 +08:00
parent eb34f9804c
commit e7b35ca837
3 changed files with 253 additions and 3 deletions
+9
View File
@@ -972,6 +972,15 @@ CellData 处理日志细化(`app/services/cell_data.py`):
- 同扇区同运营商小区每项加详情图标按钮(`OpenOutline`),点击 `openDetail(sib.id)` 在抽屉内切换到该小区详情;`.cap-sib-item` 改 flex 行(`.cap-sib-body` 占主 + 右侧 `.cap-icon-btn`)。新增通用 `.cap-icon-btn` 样式(复制/详情共用)。
- 验证:`frontend` `vue-tsc --noEmit` 通过。
## 2026-06-26:CellData.sql 新增 cellinfo→sector 逆推(特征库 + 补缺不覆盖)
- 背景:`celldata.cellinfo`(自动处理、有数据源)→ `celldata.sector`(原人工整理)。新脚本自动逆推 sector 的 扇区/物理站/制式/频段/带宽/站型/网络(区域留空,最终不用)。
- 特征库 `sector_band_ref`(频点区间+PLMN→制式/频段,10 条):700M/广电同频 763.25 用 PLMN 区分(460-00/460-15);4.9G 用频点≥4000;4G FDD900/1800、TDD F/A/E/D 频按频点分档。**D频与3DMM 同频同PLMN同带宽不可区分**,统一判 D频(3DMM 为天线属性)。
- 逆推 staging `_sector_infer`:预处理小区名(全角括号→半角、【】→()、去空格/制表符)→ 剥设备码正则 `[A-Z0-9]+-Z[A-Z0-9]{2}-[0-9]+$` 得 base;站型(码尾 W=室分 / 名称含"微小"=微站 / 否则宏站);制式频段经特征表 JOIN(未命中回落 cellinfo 制式);物理站(非700M 删全部成对括号+清悬空+回贴(微小X);700M 取"(江门"括号内容否则外层去CBN-);扇区=物理站+扇区号(700M 末位/其余 %100)。
- 落库:`INSERT` 仅补 sector 中缺失 CGI(**不清空、不覆盖**已有行,保人工修正如 3DMM/15M/纠正物理站),末尾 DROP staging;`sector_band_ref` 作为持久特征库保留。
- 准确率(MCP 实测,重叠 66001):网络 100%、制式 97.88%(排除 3DMM 即 100%)、频段 97.6%、带宽 99.75%、站型 99.94%、**物理站 99.59%、扇区 99.20%**;残差为不可还原的人工差异(室分多载波编号、700M 个别人工编号、源数据制表符等)。详见 `docs/sector_inference_research.md`。
- 关键坑:MySQL 字符串字面量会吞掉未知转义的反斜杠,正则字面量需写 `\\(`(.sql 文件)/ JSON 调用需 `\\\\(`;ICU 正则字符类内的 `[ ]` 易误判,统一把名称中的 `[]` 转 `()` 后只处理圆括号。
## 2026-06-26:离线可用性全面审计(运行期零外网)
结论:**运行期已完全离线就绪,无需改运行时代码**;外网仅「构建期」需要。审计证据: