2.3 KiB
2.3 KiB
Skill: tm_cluster_area_m 聚类区域月表计算指导 (融合聚类版)
1. 实现目标
基于栅格级指标,通过空间聚类识别弱覆盖连片区域,并融合 OTT 规模指标与 MR 质量指标。
2. 计算拓扑 (Topology)
- 计算执行环境:PostGIS (PG)。
- 基本架构:采用“锚点聚类 + 空间回填”的两步走策略。
- 详细流程:
- Step A (锚点聚类):筛选
tm_grid_coverage_m中indoor_flag = -1(OTT) 的弱覆盖栅格,执行ST_ClusterWithinWin。 - Step B (几何生成):计算每个 Cluster 的外接矩形 (Envelope) 或凸包 (ConvexHull) 作为区域边界。
- Step C (空间回填):将生成的区域边界与 MR 侧栅格 (
indoor_flag ∈ {0, 1}) 进行空间交集关联 (ST_Intersects)。 - Step D (指标聚合):在区域范围内聚合 OTT 用户数与 MR 质差采样点指标。
- Step A (锚点聚类):筛选
3. 字段映射矩阵 (The Matrix)
| 目标字段 | 类型 | 取值逻辑 | 备注 |
|---|---|---|---|
year_month |
VARCHAR | 原始字段 | - |
cluster_id |
BIGINT | ST_ClusterWithinWin(geom_3857, 30) |
基于 OTT 栅格生成 |
data_type |
INTEGER | 对应 OTT 数据源标识 | 不产出 MR 独立聚类行 |
grid_count |
INTEGER | COUNT(*) |
仅统计锚点栅格数 |
total_user_count |
BIGINT | 基于锚点栅格 approx_count_distinct 聚合 |
规模指标来自 OTT |
overlap_mrcount |
BIGINT | 空间关联聚合:SUM(mr.overlap_mrcount) |
质量指标来自 MR 回填 |
avg_rsrp |
DECIMAL | SUM(totalrsrp) / SUM(rsrpcount) |
融合全源采样点计算 |
area_wkt |
TEXT | ST_AsText(区域几何) |
EPSG:4326 |
4. 关键计算原语 (Primitives)
- 空间回填关联:
SELECT cluster.*, SUM(mr.overlap_mrcount) FROM tmp_clusters cluster LEFT JOIN dmk.tm_grid_coverage_m mr ON ST_Intersects(cluster.geom, mr.grid_geom) AND mr.indoor_flag IN (0, 1) GROUP BY ... - 规模过滤:
HAVING COUNT(锚点栅格) > 3。
5. 存储与优化规范
- 最终结果存入 PG
tm_cluster_area_m。 - 注意:目标表结构中不包含
indoor_flag,该维度仅在中间聚类过程中作为隔离手段(若需要)。 - 必须对生成的
area_geom建立 GIST 空间索引。