refactor: CellData.sql 700M 物理站地市前缀通用化,不再写死江门
This commit is contained in:
@@ -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 正则字符类内的 `[ ]` 易误判,统一把名称中的 `[]` 转 `()` 后只处理圆括号。
|
||||
|
||||
@@ -73,13 +73,14 @@ cellinfo.制式 已给出粗类(FDD/TDD/700M/2.6G),频段再按频点细
|
||||
- **非 700M**:= 小区名去设备码后,删除所有括号/方括号内容,但**保留 `(微小X)`**。
|
||||
- 例 `江门台山河东家禽(从…搬迁)(微小M)(共…F-ZLH)F-ZLH-2` → `江门台山河东家禽(微小M)`。
|
||||
- 例 `江门鹤山坚美园52至53栋(共…E-ZLW)E-ZLW-8` → `江门鹤山坚美园52至53栋`。
|
||||
- **700M/广电**:名称结构 `CBN-<枢纽>(<真实站址>)<码>` 或 `CBN-<站址><码>`。
|
||||
- 去码后取**最后一个括号内容**作为物理站;若该内容**以「共」开头**(共建标注,如 `(共…E-ZLW)`)则改取**括号前的外层**(去 `CBN-` 前缀);无括号则取外层去 `CBN-`。
|
||||
- 取到的内容再删除其内部子括号(如 `(搬迁)(重建)`)。
|
||||
- 注意:`共和` 等地名(括号内容以「江门」开头、共字在中间)**不算共建**,仍取内层。
|
||||
- 例 `CBN-江门新会圭阳路(江门新会雍翠峰(搬迁))U-Z5H-0712` → `江门新会雍翠峰`。
|
||||
- 例 `CBN-江门台山通济公园U-Z5H-0713` → `江门台山通济公园`。
|
||||
- **700M/广电**:名称结构 `CBN-<枢纽>(<真实站址>)<码>` 或 `CBN-<站址><码>`,枢纽与站址**同地市前缀**。
|
||||
- **通用做法(不写死江门)**:取外层名(去 `CBN-`、首个括号前)的**前 2 个字**作为地市前缀,匹配 base 中**以该前缀开头的括号内容**为物理站;无匹配则取外层(去 `CBN-`)。
|
||||
- 前 2 字:2 字地市(江门/广州…)直接命中;3 字地市(石家庄…)取「石家」仍能与同地市站址括号匹配。
|
||||
- 共建(`(共…)`)/`从…拉远` 等注记括号不以地市开头,自然落外层 → 等价「共建取外层」;`共和` 等地名因括号以地市开头仍取内层。
|
||||
- 例 `CBN-江门台山田头接入间(江门台山狮山)(BBU搬迁)U-Z5H-0713` → 前缀「江门」→ `江门台山狮山`。
|
||||
- 例 `CBN-江门台山通济公园U-Z5H-0713`(无括号)→ 外层 `江门台山通济公园`。
|
||||
- 例 `CBN-江门鹤山铸德(江门鹤山共和鸿江工业区)U-Z5H-0712` → `江门鹤山共和鸿江工业区`。
|
||||
- 实测:对现有(全江门)数据,通用前缀写法与原写死「江门」结果 **100% 一致(19726/19726)**。
|
||||
|
||||
**扇区** = 物理站 + 扇区号(如 `江门新会五和农村二` + `1` = `江门新会五和农村二1`)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user