区划码结构与数据模型
12 位统计用区划代码结构 2+2+2+3+3
11 01 01 001 001
省(2) 市(2) 县(2) 乡镇(3) 村(3)| 级 | 位段 | 语义 | DIVISION_LEVEL |
|---|---|---|---|
| 1 | 省(2) | 省/自治区/直辖市 | PROVINCE |
| 2 | +市(2) | 地级市/地区/州/盟 | CITY |
| 3 | +县(2) | 县/区/县级市 | COUNTY |
| 4 | +乡镇(3) | 乡/镇/街道 | TOWNSHIP |
| 5 | +村(3) | 村委会/居委会 | VILLAGE |
码工具(判级、取父码、补零)见 @cndiv/core。
2023 · NBS 五级全量 · cache.db
每下探一级,行政单元数量放大近一个数量级——村级独占全量 93%
102103104105
省级省/自治区/直辖市
<0.1%
地级地级市/州/盟
<0.1%
县级县/区/县级市
0.4%
乡级乡/镇/街道
6.2%
村级村委会/居委会
93.3%
存储范式:扁平邻接表
存储为扁平邻接表,复合主键 (code, year) 支持同一区划码跨年份版本化:
sql
divisions(
code, -- 12 位区划码
name,
level, -- 1..5
parent_code, -- 邻接表:指向父级 code
year, -- 版本维度,与 code 组成复合主键
status, -- active / deprecated ...
source_type, -- 来源置信度分档(见下)
confidence_score
)
-- PRIMARY KEY (code, year)完整 DATABASE_SCHEMA(Zod 单一真相源)见 @cndiv/data-protocol。
来源置信度分档
每条数据带来源类型,置信度由高到低 4 档:
official_nbs > mca_decree > community > shadow_map
国家统计局 民政部令 社区 Patch 商业地图影子两个必须知道的坑
- 复合主键
(code, year):任何点查都要带year,否则跨年份多条会歧义。@cndiv/reader已强制。 - 直辖市「市辖区」占位层:北京/上海等在 市→区 之间有一层「市辖区」占位。reader 的
skipPlaceholder可穿透到真实区县。