22 KiB
POC-TSG匹配测试用例 DMK 库表清单
1. 设计结论
本次查询服务建议建设 dmk 模式下的两类表:td_ 维度/配置表和 tm_ 月粒度业务指标表。设计不采用“一个业务一两张超宽表”的方式,而是按楼宇、区域栅格、重点场景、聚类质差、报表导出五个查询主题拆分指标表;在各 tm_ 表中回填高频筛选、排序、列表展示字段,减少 Java 查询时的运行时关联。
业界实践可提炼为三点:
- 查询服务层优先围绕接口查询模式做反范式宽表,冗余常用维度字段,避免高频 Join。
- 维度表仍需保留,作为枚举、区域、楼宇、场景、图层口径的统一治理来源,避免不同指标表语义漂移。
- GIS 字段以 WKT 文本作为接口和数据交换口径,同时在 PostgreSQL/PostGIS 中使用生成列转换为
geometry,并建立 GiST 空间索引,兼顾 WKT 呈现和空间过滤性能;GeoServer 图层可按geom_column直接发布,也可在视图中统一别名为geom。
2. 命名和建模约定
| 项 | 约定 |
|---|---|
| 数据库 | PostgreSQL + PostGIS |
| Schema | dmk |
| 维度/配置表 | td_ 开头 |
| 指标/业务表 | tm_ 开头 |
| 时间粒度 | 月账期,统一字段 year_month,保留 year、month |
| GIS 存储 | 原始/接口字段使用 *_wkt,数据库生成 *_geom 空间列 |
| 坐标系 | EPSG:4326 |
| 分区建议 | 数据量大的 tm_*_m 表按 year_month 做月分区或冷热分层 |
| 字段命名 | 优先沿用 PRD 和接口清单中的 provincecode、citycode、regionid、x_offset_20、operator_name、network_class、rsrpcount、avgrsrp 等字段 |
3. 库表总览
3.1 维度/配置表
| 表名 | 粒度 | 主要用途 | 支撑接口/场景 |
|---|---|---|---|
td_account_period |
数据来源 + 月账期 | 可查询账期 | /api/common/account-periods |
td_region |
行政区域 | 省/市/区县树、分权分域、GIS 钻取 | /api/common/region-tree、质差地图 |
td_dict_item |
字典类型 + 字典值 | 枚举统一管理 | /api/common/dict、/api/common/dict/types |
td_metric_definition |
模块 + 指标 + 阈值 | 指标口径、算法说明 | /api/common/metric-definitions、报表口径弹窗 |
td_layer_config |
图层类型 + 图层角色 + 渲染模式 | GeoServer 图层基础配置 | 楼宇/栅格/场景/工参/聚类/质差 WMS 图层 |
td_layer_metric |
图层类型 + 指标 | 图层指标白名单和默认样式 | /api/common/layer-metrics |
td_layer_legend |
账号 + 图层 + 指标 | 自定义图例配置 | /api/layers/legends/* |
td_grid |
栅格 | 栅格空间维度和中心点 | 栅格详情、空间关联、GeoServer 发布 |
td_cell_param_m |
月账期 + 小区 + 网络制式 | 工参基础信息 | /api/layers/cells、/api/layers/cells/detail |
td_building |
楼宇 | 楼宇基础属性、AOI、楼宇类型 | /api/buildings/*、/api/ott/building-report |
td_building_grid_m |
月账期 + 楼宇 + 栅格 + 运营商 + 网络制式 + 频段 + 室内外 | 楼宇-栅格桥接、楼宇图层 | /api/buildings/layer |
td_building_cell_m |
月账期 + 楼宇 + 小区 + 运营商 + 网络制式 + 频段 + 室内外 | 楼宇-小区桥接、楼宇小区关系 | /api/buildings/cells |
td_scene |
重点场景 | 场景基础属性、AOI、场景类型 | /api/scenes/*、/api/ott/scene-report |
td_cluster_threshold |
账号 + 聚类类型 + 网络制式 | 在线调整聚类阈值 | /api/clusters/thresholds/* |
td_custom_region |
用户自定义区域 | GIS 绘制区域持久化和复查 | /api/grids/custom-region |
3.2 业务指标表
| 表名 | 粒度 | 主要用途 | 支撑接口/场景 |
|---|---|---|---|
tm_grid_coverage_m |
月账期 + 栅格 + 运营商 + 网络制式 + 频段 + 室内外 | 栅格级覆盖指标、GIS 渲染、单栅格详情 | /api/grids/layer、/api/grids/detail、区域/场景栅格聚合 |
tm_region_coverage_m |
月账期 + 行政区域 + 运营商 + 网络制式 + 频段 + 室内外 | 区域概览、覆盖统计、地市级 OTT 报表 | /api/grids/overview、/api/grids/coverage-stats、/api/ott/city-report |
tm_building_coverage_m |
月账期 + 楼宇 + 运营商 + 网络制式 + 频段 + 室内外 | 楼宇图层、概览、室内无线覆盖、竞对对比、4G/5G_SA 用户与市场份额、报表 | /api/buildings/overview、/api/buildings/layer、/api/buildings/compare、/api/buildings/report |
tm_scene_grid_coverage_m |
月账期 + 场景 + 栅格 + 运营商 + 网络制式 + 频段 + 室内外 | 场景栅格图层、场景-栅格覆盖 | /api/scenes/layer |
tm_building_user_wifi_m |
月账期 + 楼宇 + 运营商 | 楼宇 WiFi 用户、WiFi 市场份额和 WiFi 信号强度 | /api/buildings/detail |
tm_scene_coverage_m |
月账期 + 场景 + 运营商 + 网络制式 + 频段 + 室内外 | 重点场景概览、用户分析、单场景覆盖扩展、对比、报表 | /api/scenes/overview、/api/scenes/user-analysis、/api/scenes/detail、/api/ott/scene-report |
tm_cell_grid_coverage_m |
月账期 + 数据来源 + 运营商 + 网络制式 + 频段 + 室内外 + 小区 + 覆盖栅格 | 小区详情、覆盖扩展指标、单小区覆盖栅格、栅格与小区连线 | /api/layers/cells/detail、/api/layers/cells/cover-grid、/api/grids/detail |
tm_cluster_area_m |
月账期 + 聚类区域 | 聚类清单、覆盖扩展指标、加权得分、多维分析、聚类 WMS | /api/clusters/overview、/api/clusters/list、/api/clusters/detail、/api/clusters/score |
tm_cluster_feedback |
反馈记录 | 质差区域问题根因和解决措施 | /api/clusters/feedback/* |
tm_poor_region_metric_m |
月账期 + 区域 + 统计页签 + 质差类型 + 指标分组 + 场景类型 + 网络制式 + 指标 | 质差场景概览、趋势、地图、排名 | /api/poor-scenes/summary、/api/poor-scenes/trend、/api/poor-scenes/map、/api/poor-scenes/ranking |
tm_poor_scene_list_m |
月账期 + 质差场景记录 | 质差场景清单和导出 | /api/poor-scenes/list、/api/poor-scenes/export |
tm_poor_cell_list_m |
月账期 + 质差/超忙小区记录 | 质差小区、超忙小区清单和导出 | /api/poor-scenes/cells、/api/poor-scenes/export |
tm_export_task |
导出任务 | 异步导出任务状态、下载、取消 | /api/common/export-tasks/*、各导出接口 |
4. 主题域设计说明
4.1 通用配置域
包含 td_account_period、td_region、td_dict_item、td_metric_definition、td_layer_config、td_layer_metric、td_layer_legend、tm_export_task。该域不参与大规模指标计算,主要支撑通用筛选、口径说明、图层配置、导出任务。
td_layer_config 通过 layer_role 区分基础图层、视图层或发布层,通过 geom_column 明确 GeoServer 发布时实际使用的几何列名;若服务侧采用视图输出,则可统一别名为 geom。
4.2 区域栅格域
核心表为 td_grid、tm_grid_coverage_m、tm_region_coverage_m。tm_grid_coverage_m 保留栅格 WKT 和主要覆盖指标,便于 GeoServer 直接发布图层;tm_region_coverage_m 按省/市/区县提前聚合,用于概览卡片、覆盖统计和 OTT 地市报表,避免每次从栅格明细实时聚合。
4.3 楼宇域
核心表为 td_building、td_building_grid_m、td_building_cell_m、tm_building_coverage_m、tm_building_user_wifi_m。楼宇指标表回填楼宇类型、区域、中心点、楼宇面积、AOI WKT 等高频字段,支撑 2D/3D 图层、竞对对比、楼宇报表;室内 4G/5G_SA 无线覆盖通过 tm_building_coverage_m.network_class='4G'/'5G_SA' 与 indoor_flag=1 表达,并补充弱覆盖、重叠覆盖、过覆盖、MOD 干扰等覆盖扩展字段;楼宇无线市场份额不再作为单一核心指标,替换为 user_count_4g、user_market_share_4g、user_count_5g、user_market_share_5g。楼宇-栅格和楼宇-小区桥接表分别支撑楼宇图层与楼宇小区关系查询;WiFi 指标独立成表,避免在网络制式维度下大量重复 WiFi 字段。
4.4 重点场景域
核心表为 td_scene、tm_scene_grid_coverage_m、tm_scene_coverage_m。场景覆盖指标表回填场景类型、场景名称、AOI WKT、区域字段、用户统计字段和覆盖扩展字段,满足场景搜索、概览、用户分析、单场景详情、图层配置、场景级报表;场景-栅格桥接表支撑 /api/scenes/layer。
4.5 工参与小区覆盖域
核心表为 td_cell_param_m、tm_cell_grid_coverage_m。工参维度按月保留,避免工参随账期变化导致历史查询不一致;小区覆盖栅格表按小区与栅格关系展开,支撑单小区覆盖栅格、栅格 TOP 小区、栅格-小区连线和小区覆盖扩展指标。工参字段保留在 td_cell_param_m,覆盖统计字段统一落在 tm_cell_grid_coverage_m。入库时 WKT 需先校验类型、SRID=4326 与 ST_IsValid;若来源是 GeoJSON/BBox,先在 ETL/服务侧转换成 WKT 再入库。
4.6 聚类与质差域
核心表为 td_cluster_threshold、tm_cluster_area_m、tm_cluster_feedback、tm_poor_region_metric_m、tm_poor_scene_list_m、tm_poor_cell_list_m。聚类区域与质差概览分表,避免将聚类评分、质差趋势、清单导出全部塞入单张大表;tm_cluster_area_m 同时保留聚类区域覆盖扩展字段,用于聚类栅格详情和加权得分展示;清单表内回填排序、筛选和导出所需的区域、场景、小区字段。
5. 原始数据到 DMK 表映射
5.1 基础数据源说明
本项目所有计算依赖以下三张 ODS 基础表:
| ODS 表名 | 数据内容 | 主要字段 |
|---|---|---|
ods.OTT_GRID |
OTT 栅格级覆盖数据 | year_month, provincecode, citycode, districtcode, operator_name, network_class, regionid, x_offset_20, y_offset_20, center_lon, center_lat, earfcn, freq, rsrpcount, totalrsrp, totalsinr, totalrsrq, avgrsrp, avgsinr, avgrsrq, rsrpgoodcount_105, rsrpgoodcount_110, sinrgoodcount, rsrqgoodcount, compgoodcount_105_3, compgoodcount_110_3 及 RSRP/SINR/RSRQ 分级统计字段 |
ods.4G_MR_GRID_SCELL |
4G 小区-栅格 MR 数据 | provincecode, citycode, districtcode, cellkey, cell_name, cell_lon, cell_lat, cell_regionid, pci, indoor_flag, azimuth, freq, vendor, antenna_height, rspower, regionid, x_offset_20, y_offset_20, grid_lon, grid_lat, rsrpcount, totalrsrp, avgrsrp, weakcover_mrcount, overlap_mrcount, overlap_totalrsrp, overlap_avgrsrp, overshoot_mrcount, overshoot_totalrsrp, overshoot_avgrsrp, mod3interfer_mrcount, mod3interfer_totalrsrp, mod3interfer_avgrsrp, avg_sinr, is_highrail_grid, is_highway_grid, is_build_grid, is_road_grid 及 RSRP 5级分段统计字段 |
ods.5G_MR_GRID_SCELL |
5G 小区-栅格 MR 数据 | provincecode, citycode, districtcode, cellkey, cell_name, cell_lon, cell_lat, cell_regionid, pci, indoor_flag, azimuth, freq, vendor, antenna_height, rspower, regionid, x_offset_20, y_offset_20, grid_lon, grid_lat, ssrsrpcount, totalrsrp, avg_rsrp, weak_cover_mr_nums, overlap_mrcount, overlap_totalrsrp, overlap_avgrsrp, overshoot_mrcount, overshoot_totalrsrp, overshoot_avgrsrp, mod30interfer_mrcount, mod30interfer_totalrsrp, mod30interfer_avgrsrp, avg_sinr, is_highrail_grid, is_highway_grid, is_build_grid, is_road_grid 及 RSRP 10级分段统计字段 |
5.2 映射规则
| 原始/补充数据 | 入库目标 | 处理说明 |
|---|---|---|
ods.OTT_GRID |
tm_grid_coverage_m、tm_region_coverage_m、tm_building_coverage_m、tm_scene_coverage_m、tm_scene_grid_coverage_m |
从 OTT_GRID 提取 rsrpcount, totalrsrp, totalsinr, totalrsrq, avgrsrp, avgsinr, avgrsrq, rsrpgoodcount_105, rsrpgoodcount_110, sinrgoodcount, rsrqgoodcount, compgoodcount_105_3, compgoodcount_110_3 及分级统计字段;计算 mr_cover_rate_105 = rsrpgoodcount_105 / rsrpcount、mr_cover_rate_110 = rsrpgoodcount_110 / rsrpcount;回填 grid_count(范围内总栅格数)、mr_grid_count(有 MR 采样点的栅格数)、covered_grid_count_105/110;通过 network_class 区分 4G/5G_SA;operator_name 区分运营商 |
ods.4G_MR_GRID_SCELL |
td_cell_param_m、tm_cell_grid_coverage_m、tm_building_coverage_m、tm_scene_coverage_m、tm_cluster_area_m |
工参字段(cellkey, cell_name, cell_lon, cell_lat, pci, indoor_flag, azimuth, freq, vendor, antenna_height, rspower)入库 td_cell_param_m;覆盖指标(rsrpcount, avgrsrp, avg_sinr, weakcover_mrcount, overlap_mrcount, overlap_totalrsrp, overlap_avgrsrp, overshoot_mrcount, overshoot_totalrsrp, overshoot_avgrsrp, mod3interfer_mrcount, mod3interfer_totalrsrp, mod3interfer_avgrsrp)标准化到各指标表;4G MOD3 干扰字段按 mod3interfer_* 解释 |
ods.5G_MR_GRID_SCELL |
td_cell_param_m、tm_cell_grid_coverage_m、tm_building_coverage_m、tm_scene_coverage_m、tm_cluster_area_m |
工参字段同 4G 入库 td_cell_param_m;覆盖指标使用 ssrsrpcount, avg_rsrp, avg_sinr, weak_cover_mr_nums, mod30interfer_* 等字段;5G MOD30 干扰字段按 mod30interfer_* 解释;注意 5G 字段命名差异(ssrsrpcount vs rsrpcount,avg_rsrp vs avgrsrp) |
| 楼宇基础/AOI 数据 | td_building、td_building_grid_m、td_building_cell_m、tm_building_coverage_m |
统一 building_id、building_type、building_area、aoi_wkt、bbox、人口密度 |
| 场景 AOI 数据 | td_scene、tm_scene_grid_coverage_m、tm_scene_coverage_m、tm_poor_scene_list_m |
统一 scene_id、scene_type、aoi_wkt、场景搜索字段 |
| 用户统计补充表 | tm_region_coverage_m、tm_building_coverage_m、tm_scene_coverage_m、tm_cluster_area_m |
回填用户数、4G/5G_SA 用户数、市场份额;楼宇侧回填 user_count_4g、user_market_share_4g、user_count_5g、user_market_share_5g |
| WiFi 统计补充表 | tm_building_user_wifi_m |
回填楼宇 WiFi 用户数、WiFi 市场份额、WiFi 信号强度 |
| 聚类算法结果 | tm_cluster_area_m |
回填加权得分、五维权重、区域 WKT、TOP 档位排序字段 |
| 质差识别结果 | tm_poor_region_metric_m、tm_poor_scene_list_m、tm_poor_cell_list_m |
生成概览卡片、趋势、地图、排名、清单导出所需指标 |
5.3 字段命名差异说明
| 差异点 | 4G 字段 | 5G 字段 | 目标表统一字段 |
|---|---|---|---|
| MR 总数 | rsrpcount |
ssrsrpcount |
rsrpcount(4G 直接用,5G 映射) |
| 平均 RSRP | avgrsrp |
avg_rsrp |
avgrsrp(4G 直接用,5G 映射为 avgrsrp) |
| 弱覆盖数 | weakcover_mrcount |
weak_cover_mr_nums |
weakcover_mrcount(4G 直接用,5G 映射) |
| MOD 干扰 | mod3interfer_* |
mod30interfer_* |
mod_interference_*(通用字段,按 network_class 解释为 MOD3 或 MOD30) |
| 平均 SINR | avg_sinr |
avg_sinr |
avg_sinr |
6. 接口到表映射
| 接口组 | 主要读取表 |
|---|---|
| 通用基础接口 | td_account_period、td_region、td_dict_item、td_metric_definition、td_layer_metric、tm_export_task |
| 楼宇覆盖与 3D 图层 | td_building、td_building_grid_m、td_building_cell_m、tm_building_coverage_m、tm_building_user_wifi_m、td_layer_config、td_layer_legend、td_cell_param_m |
| 图层、工参与自定义图例 | td_layer_config、td_layer_metric、td_layer_legend、td_cell_param_m、tm_cell_grid_coverage_m、tm_scene_grid_coverage_m |
| 区域栅格 | tm_region_coverage_m、tm_grid_coverage_m、tm_cell_grid_coverage_m、td_custom_region |
| 重点场景 | td_scene、tm_scene_grid_coverage_m、tm_scene_coverage_m、td_layer_config、td_layer_legend |
| 聚类栅格与加权得分 | td_cluster_threshold、tm_cluster_area_m、tm_cluster_feedback、tm_export_task |
| 质差场景概览 | tm_poor_region_metric_m、tm_poor_scene_list_m、tm_poor_cell_list_m、tm_export_task |
| OTT 报表检索 | tm_region_coverage_m、tm_scene_coverage_m、tm_building_coverage_m、tm_export_task |
7. 覆盖扩展字段清单
7.1 通用覆盖扩展字段
以下字段用于承接模型修正表中“需要扩展字段”的覆盖呈现要求;同一条记录仍通过 operator_name、network_class、freq、indoor_flag 区分运营商、4G/5G_SA、频段与室内外,不新增 4G/5G_SA 成对物理字段。
| 字段 | 类型 | 含义 | 适用表 |
|---|---|---|---|
rsrpcount |
bigint |
RSRP/MR 采样点数 | 各覆盖指标表既有或新增 |
avgrsrp / avg_rsrp |
numeric(10,4) |
平均 RSRP(dBm) | tm_building_coverage_m、tm_scene_coverage_m、tm_cell_grid_coverage_m、tm_cluster_area_m |
avgsinr / avg_sinr |
numeric(10,4) |
平均 SINR(dB) | tm_building_coverage_m、tm_scene_coverage_m、tm_cell_grid_coverage_m、tm_cluster_area_m |
weakcover_mrcount |
bigint |
弱覆盖采样数 | tm_building_coverage_m、tm_scene_coverage_m、tm_cell_grid_coverage_m、tm_cluster_area_m |
overlap_mrcount |
bigint |
重叠覆盖采样数 | 同上 |
overlap_total_value |
numeric(20,4) |
重叠覆盖总值 | 同上 |
overlap_rate |
numeric(12,6) |
重叠覆盖率 | 同上 |
overlap_avgrsrp |
numeric(10,4) |
重叠覆盖平均 RSRP(dBm) | 同上 |
overshoot_mrcount |
bigint |
过覆盖采样数 | 同上 |
overshoot_total_value |
numeric(20,4) |
过覆盖总值 | 同上 |
overshoot_rate |
numeric(12,6) |
过覆盖率 | 同上 |
overshoot_avgrsrp |
numeric(10,4) |
过覆盖平均 RSRP(dBm) | 同上 |
mod_interference_mrcount |
bigint |
MOD 干扰采样数;4G 按 MOD3、5G 按 MOD30 解释 | 同上 |
mod_interference_total_value |
numeric(20,4) |
MOD 干扰采样点总值;4G 按 MOD3、5G 按 MOD30 解释 | 同上 |
mod_interference_avgrsrp |
numeric(10,4) |
MOD 干扰平均 RSRP(dBm);4G 按 MOD3、5G 按 MOD30 解释 | 同上 |
mod_interference_ratio |
numeric(12,6) |
MOD 干扰占比;4G 按 MOD3、5G 按 MOD30 解释 | 同上 |
7.2 分表补充字段
| 表名 | 本次补充字段 | 说明 |
|---|---|---|
tm_building_coverage_m |
avgrsrq、通用覆盖扩展字段、user_count_4g、user_count_5g、user_market_share_4g、user_market_share_5g |
支撑楼宇室内 4G/5G_SA 无线覆盖、竞对无线网络覆盖和“无线市场份额”替换指标。 |
tm_scene_coverage_m |
通用覆盖扩展字段 | 支撑单场景详情中的覆盖相关指标;用户数、市场份额和 5G 驻留比沿用既有字段。 |
tm_cell_grid_coverage_m |
totalsinr、rsrpgoodcount_105、rsrpgoodcount_110、mr_cover_rate_105、mr_cover_rate_110、通用覆盖扩展字段中该表原缺失字段 |
支撑小区维度和栅格小区维度的覆盖详情;avg_sinr 维持既有命名。 |
tm_cluster_area_m |
rsrpcount、通用覆盖扩展字段 |
支撑聚类栅格详情的覆盖指标;weak_grid_count/weak_grid_ratio 继续表示弱覆盖栅格数/占比,不替代弱覆盖采样数。 |
tm_building_user_wifi_m |
删除 total_user_count、user_count、market_share,保留 wifi_total_user_count、wifi_user_count、wifi_market_share、wifi_signal_strength |
楼宇无线用户数和市场份额迁移到 tm_building_coverage_m 的 4G/5G 拆分字段;该表仅承载 WiFi 指标。 |
8. 索引建议
| 表类型 | 索引策略 |
|---|---|
| 月粒度指标表 | 组合索引以 year_month 起始,追加区域、运营商、网络制式、频段、室内外等高频筛选字段 |
| 列表/排名表 | 对 weighted_score、rank_no、grid_cover_rate、mr_cover_rate 等排序字段建立局部或组合索引 |
| GIS 表 | 对 *_geom 生成列建立 GiST 索引;保留 bbox 供接口快速返回地图视野 |
| 模糊搜索 | 场景名、楼宇名可按实际 PostgreSQL 扩展情况补充 pg_trgm GIN 索引 |
| 写入配置表 | 按 account_id、layer_type、metric_code、cluster_type 建唯一或普通索引 |
9. 口径约束
mr_cover_rate_105 = sum(rsrpgoodcount_105) / sum(rsrpcount),主要支撑 FUNC-065 口径。mr_cover_rate_110 = sum(rsrpgoodcount_110) / sum(rsrpcount),主要支撑 FUNC-014、FUNC-016 口径。grid_cover_rate_105 = covered_grid_count_105 / mr_grid_count、grid_cover_rate_110 = covered_grid_count_110 / mr_grid_count,即 MR 覆盖率达到 -105/-110 阈值的栅格数除以有 MR 采样点的栅格数(rsrpcount > 0的栅格数);grid_count表示该范围内的总栅格数,仅作分母参考,不直接用于栅格覆盖率计算。- 4G/5G_SA 指标拆分优先通过
network_class='4G'/'5G_SA'表达,不新增avgrsrp_4g、avgrsrp_5g、grid_cover_rate_4g、grid_cover_rate_5g等成对物理字段。 RSRP低于-105/-110采样点可由rsrpcount - rsrpgoodcount_105/110派生,不在指标表中重复存储。- 楼宇无线市场份额不再作为单一核心指标,替换为
tm_building_coverage_m.user_count_4g、user_market_share_4g、user_count_5g、user_market_share_5g;楼宇 WiFi 用户与 WiFi 市场份额仍保留在tm_building_user_wifi_m。 operator_5g_reside_rate、user_market_share_*、tm_building_coverage_m.total_user_count来自用户统计补充表,不从 OTT 栅格表硬推导;其中total_user_count直接支撑/api/ott/building-report楼宇总用户数字段。楼宇侧 5G 驻留比按 CSV 标记不再作为新增核心字段,区域和场景侧继续保留。- 覆盖扩展字段中的
mod_interference_*为通用 MOD 干扰字段,4G 展示为 MOD3,5G 展示为 MOD30。 - CSV 标记“可废弃”的指标不作为本次新增核心字段;既有字段如
grid_cover_rate_105/110因区域、场景、图层和报表仍使用而保留。 cql_filter由 Java 服务基于白名单字段拼装;表中提供生成过滤条件所需的基础字段,不存储用户原始输入拼接结果。- WKT 入库前需做类型、
SRID=4326、ST_IsValid校验;GeoJSON/BBox 等来源统一先转换为 WKT 再写入,失败记录应返回明确的入库错误。