--- title: 匹配、指标与覆盖逻辑 type: fact permalink: main/projects/62afe036-4c36-42b0-89fd-e2231d3d6788/匹配、指标与覆盖逻辑 stable_id: 05637a97-7c1e-407e-991e-7a6c4d8f0345 scope: project project_id: 62afe036-4c36-42b0-89fd-e2231d3d6788 memory_type: fact status: active revision: 1 restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 created_at: '2026-09-23T14:56:07.710366+00:00' updated_at: '2026-09-23T14:56:07.710463+00:00' tags: - matching - metrics - coverage - cache --- 输出工作簿含 5 个 Sheet:站点开通清单、范围小区匹配、开通前后对比、覆盖情况_楼宇、覆盖情况_栅格。范围小区匹配以 PL工单号为单位,用 cKDTree + Haversine 按经纬度和覆盖范围匹配小区;缺少自身对应基站ID 时补充该站全部小区;范围内只匹到自身站时再补充最近非自身站,若该站也在开通清单再补充最近非清单站。指标 CGI 为 gNBplmn-gNBId-cellId,按 CGI+周起始聚合总流量/话务量/用户数;开通当周浅红色标记,开通前后对比只取前一周和后一周。楼宇/栅格用 GPKG RTree + shapely 圆面相交;弱覆盖为 mr_dl_lt105_weak_cover_rate_yd > 20。GPKG 必须进程池并行,不能线程池调 shapely。指标 Excel 用 python-calamine 并行解析到 SQLite 缓存,按路径/大小/mtime_ns/schema 判断缓存有效。Windows 下 sqlite3 上下文不会自动 close,原子替换缓存前必须显式关闭连接。