给项目交付 GeoJSON 前,我会先做这份地图数据验收清单

假设你接到一个需求:把某市各区县的业务指标做成地图,并保留以后下钻的可能。下载一份行政区划文件只是第一步。真正需要交付的是“能够解释来源、层级和关联方式”的数据,而不是一个名字看起来正确的压缩包。

下面这份清单适合前端接入、数据整理和交接时一起使用。重点不是重复下载教程,而是让接收文件的人能判断:它能画什么,不能说明什么,还缺哪些核验。

1. 先写清楚地图需要表达的对象

“一张某市地图”可能指市级外轮廓,也可能指市内各区县的分区图。两者需要的要素不同。前者可能是一个面要素,后者通常是多个区县面;不能因为文件名写着城市名称,就认定里面已经包含下一级行政边界。

交接前至少写出目标范围、目标层级和业务用途。做区县着色统计,就抽查文件中几个要素的名称、编码是否确实对应区县。数量明显不符值得排查,但数量相近也不能代替覆盖核验。数据来源存在缺失时,直接列出缺口,比把缺失区域默认为零更可靠。

2. 把“联动目录”和“几何边界”分开存放

名称、编码、父子关系可以支持省市区县乡村的联动选择,却不一定包含边界坐标。一个目录能选到村,不代表另一个 GeoJSON 文件就具备该村的面数据。联动层级与可绘制层级,需要分别验收。

对于预期的面数据,查看顶层是否为 FeatureCollection,features 是否非空,每个 Feature 是否有 geometry。Polygon 与 MultiPolygon 都可能是正常面类型;多个分离部分不能随手丢弃。文件能解析成 JSON,只能说明语法可读,还不能证明它能完整表达目标区域。

可以把交接记录写成下面这样。它是记录模板,字段值需要以实际文件为准,不是某个网站的接口返回值:

来源链接:实际下载页面
取得日期:实际下载日期
目标范围:某市下属区县
实际层级:抽查并确认后填写
要素数量:解析 features 后填写
关联字段:边界编码字段 ↔ 业务表编码字段
未匹配项:分别记录双方缺失项
坐标与版本:以来源说明为准;未知则明确标注

3. 业务表先匹配,再谈配色

拿到边界文件后,先检查 properties 里的实际字段,别直接照搬示例中的字段名。编码适合作为标识字符串处理;名称可用于展示,但仅靠名称关联时,需要考虑后缀、同名地区与行政区划调整。

我建议在渲染前输出两份列表:边界有而业务表没有的区域,以及业务表有而边界文件没有的记录。前一类可能是数据缺报,后一类可能是编码版本或层级不一致。零值则表示已经有观测、结果为零,不能用它掩盖缺失。

先选一个业务数值已知的区域,核对名称、编码和轮廓,再接入其余数据。这样即使之后颜色不对,也能区分是数据关联问题还是地图配置问题。

4. 去哪里找文件,怎样理解免费与付费范围

GeoJSON 在线展示与下载 可以作为省市区县的免费入口。当前页面有省、市、区选择,支持按地域名称或行政编码命名单文件,并单列“全国省市区县乡村名称和编码”选项。下载前先明确自己要的是边界,还是名称编码联动目录。

2026 年 10 月 10 日查看时,村级数据明确标为“2023 快照”。因此,不能用“能选择村级数据”推导出“全国每个村的实时边界均已具备”,也不能把样例文件当成完整全国数据。

如果需要研究页面展示与下钻逻辑,可以阅读 echarts-map-demo 开源项目。项目便于理解实现思路,具体文件的版本、使用条件和适用范围仍应单独核对。本文不对未核验的覆盖率、精度或商业使用许可作承诺。

5. 坐标与格式问题要在交付前说明

同一份边界叠加不同底图出现偏移时,先查来源坐标说明和底图要求,不要靠随意挪动经纬度“对齐”。文件名或扩展名不足以判断坐标基准。无法确认时,把不确定项写入记录,再选择经过确认的处理方法。

需要 shp 的项目还要确认实际文件格式。GeoJSON 改名为 .shp 并不会完成转换;转换涉及工具、几何类型、字段和坐标说明,本篇不把未经核验的格式说成站点直接提供。区域面是否闭合、自交、包含洞,也应按项目要求进一步检查,不能仅以地图能显示作为通过标准。

最终交付时,把原始文件、处理后的文件与验收记录对应起来,保留来源和日期。这样下一次替换数据时,可以比较要素、字段和未匹配清单,明确哪些变化需要改业务逻辑,哪些只需要更新展示。

posted @ 2026-10-10 23:44  HashTang  阅读(8)  评论(0)    收藏  举报