refactor: CellData.sql 700M 物理站地市前缀通用化,不再写死江门

This commit is contained in:
2026-06-26 11:32:53 +08:00
parent 5914046dec
commit 909aaef113
3 changed files with 13 additions and 11 deletions
+1 -1
View File
@@ -998,7 +998,7 @@ CellData 处理日志细化(`app/services/cell_data.py`):
- 背景:`celldata.cellinfo`(自动处理、有数据源)→ `celldata.sector`(原人工整理)。新脚本自动逆推 sector 的 扇区/物理站/制式/频段/带宽/站型/网络。原 `区域` 列经全项目检索无任何引用(其余「区域」均为 UI 文案),已 `DROP COLUMN` 删除,CellData.sql INSERT 同步去除。
- 特征库 `sector_band_ref`(频点区间+PLMN→制式/频段,10 条):700M/广电同频 763.25 用 PLMN 区分(460-00/460-15);4.9G 用频点≥4000;4G FDD900/1800、TDD F/A/E/D 频按频点分档。**3DMM 在 cellinfo 无任何字段标注**(cellinfo.制式 仅 700M/TDD/FDD/2.6G,那 1400 个 sector-3DMM 在 cellinfo 全是 TDD/4G);按"3DMM 用 TDD 制式规则",脚本依频点判 TDD/D频 即正确,故制式实际正确率≈100%。
- 逆推 staging `_sector_infer`:预处理小区名(全角括号→半角、【】→()、去空格/制表符)→ 剥设备码正则 `[A-Z0-9]+-Z[A-Z0-9]{2}-[0-9]+$` 得 base;站型(码尾 W=室分 / 名称含"微小"=微站 / 否则宏站);制式频段经特征表 JOIN(未命中回落 cellinfo 制式);物理站(非700M 删全部成对括号+清悬空+回贴(微小X);700M 取"(江门"括号内容否则外层去CBN-);扇区=物理站+扇区号(700M 末位/其余 %100)。
- 逆推 staging `_sector_infer`:预处理小区名(全角括号→半角、【】→()、去空格/制表符)→ 剥设备码正则 `[A-Z0-9]+-Z[A-Z0-9]{2}-[0-9]+$` 得 base;站型(码尾 W=室分 / 名称含"微小"=微站 / 否则宏站);制式频段经特征表 JOIN(未命中回落 cellinfo 制式);物理站(非700M 删全部成对括号+清悬空+回贴(微小X);700M 取「外层去CBN-的前2字地市前缀」匹配同前缀括号内容、否则取外层——通用不写死江门,3字地市取前2字仍可);扇区=物理站+扇区号(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 正则字符类内的 `[ ]` 易误判,统一把名称中的 `[]` 转 `()` 后只处理圆括号。