最近参与的某项目使用行政区划关系做工单流转(上报、下发)路由规则,由于地方政府为了满足基层治理的需求会增设区域和层级,故互联网上能收集到的行政区划数据只能作为项目所需数据的子集。而在公司内部的调查则显示目前并没有这样一个符合需求的数据集,故借此机会研究了相关国家标准和各部门规范,以便对已有项目中使用的数据进行了提取、梳理、清洗与整合。本文即对调研过程的一些记录。
由于相关资料均为通过网络搜索获取,各标准可能不是最新版本,在使用中可能还会按照实际情况调整。
行政区划的划分
- 省级行政区:
- 省、直辖市、自治区、特别行政区等
- 地级行政区:
- 地级市、自治州、地区、盟(内蒙古自治区)等
- 直辖市的市辖区、县等
- 县级行政区:
- 区
- 县级市、县、自治县、旗(内蒙古自治区)等
- 乡级行政区:
- 街道办事处
- 乡、民族乡、镇
- 区公所(早期)、苏木(内蒙古自治区)
- 类乡级行政区(3000 人以上)
- 村级行政区:
- 社区居民委员会
- 村民委员会(包括行政村和自然村)
- 类村级行政区(3000 人以下)
- 特殊分级:
- 地方政府设置的基层治理网格等
行政区划的命名
统计用区划代码的区划名称采用标准汉字、汉字数字(如一、二、三等)和全角单括号进行书写,其他字母、数字、标点、字符及空格均为错误。汉字书写不得使用繁体字,简化字应按国家颁布的简化字总表的规定书写。
编码体系
中国国家标准化管理委员会通过并公开发布的国家标准 《GB/T 2260-2007 中华人民共和国行政区划代码》 规定了县级及县级以上行政区划的名称、数字代码和字母代码。由于身份证号码已经广泛应用这套系统,6 位编码的含义就不再赘述。
县级以下行政区划一般由各省、自治区、直辖市标准化机构负责编码,编码规则可以参考 《GB/T 10114-2003 县级以下行政区划代码编制规则》。该标准一般与 GB/T 2260 配合使用,在国家统计局的 《统计用区划代码》 以及民政部的 《中华人民共和国行政区划代码》 中均有部分体现。
县级以下行政区划代码由上级行政区划代码拼接 3 位序列顺序码构成,具体划分为:
- 001-099 表示街道(地区)
- 100-199 表示镇(民族镇)
- 200-399 表示乡、民族乡、苏木
《标准》建议不属于行政区划范畴的政企合一单位(如农场、林场、牧场等)在区间 901~990 按顺序自定义编码,然而实际实践中也可能使用 400-599 这个区间表示类乡级行政单位。
国家统计局和民政部也为部分村级行政区编制了代码,在上一级行政区划代码的基础上再拼接 3 位顺序序列码:
- 居民委员会在 001-199 区间内编码
- 村民委员会、牧民委员会在 200-399 区间内编码
- 民政部门未确认的园区、工矿区、农场等类似村级单位中
- 类居民委员会使用 400-499(不含 498)
- 类村民委员会使用 500-599(不含 598)
一些特殊的编码问题
大部分内容来自民政部的《统计上使用的县以下行政区划代码编制规则》 ,有其他来源的会另行说明。
在街道及镇、乡地域范围以外,集企业与政府管理职能于一身的独立单位(即一个单位行使两种职能,如农林牧渔场、独立工矿区等),不论其隶属关系如何,分配相当于街道、镇、乡一级的代码。
然而在广西壮族自治区统计局的《统计上使用的县以下行政区划代码编制规则》中引用的《国家统计局办公室关于对县以下行政区划代码和城乡属性代码有关规定的调整和补充说明》则说明:
- 常住人口超过 3000 人的工矿区、开发区、农场、林场、科研单位、大专院校等区域属于乡级特殊区域;
- 常住人口不超过 3000 人,民政部门尚未确认的工矿区、开发区、农场、林场、科研单位、大专院校等区域属于村级单位;
- 乡级特殊区域有自己的地域,但未设村(居)委会,编码时,增设一个虚拟村级单位并编制代码;
- 开发区、科技园区、工业园区、工矿区、高校园区、科研机构园区等的虚拟村级单位的末 3 位编码为 498,命名为“××虚拟社区”;
- 农、林、牧、渔场等的虚拟村级单位的末 3 位编码为 598,命名为“××虚拟生活区”;
各种“开发区”(或工业园区)不是实际的行政区划,均不编制县及县以上的行政区划代码。可依据“开发区”范围内的街道、镇、乡和居民委员会、村民委员会的建制编制代码。
凡是未经省人民政府批准,而以“镇”命名的乡级区域(即未批镇),不属于镇的编码范围,仍按“乡”的代码编制其行政区划代码。
有些镇改为县级市后,暂时没有设下属镇,而是直辖村民委员会和居民委员会,空缺的镇的代码统一填写 198,其所辖的村民委员会和居民委员会仍按村民委员会和居民委员会进行编码。
乡镇直接管辖的村民小组,其空缺的村民委员会的代码填 398。
城乡属性代码与城乡分类代码
按《城乡划分实施办法》,第 13、14 位为城乡属性代码,在乡、村两级单位上编制。 乡级单位对应的第 13 位按照乡级属性编码方法编制,第 14 位编 0:
- 1:县级政府驻地
- 2:连接的乡级区域
- 3:其他乡级区域
村级单位对应的第 13 位为所属乡级单位的乡级属性代码,第 14 位按照村级属性编码方法编制:
- 1:乡级政府驻地
- 2:完全连接的村级地域
- 3:部分连接的村级地域
- 4:与其他区、市完全连接的村级地域
- 5:与其他区、市部分连接的村级地域
- 6:与其他镇完全连接的村级地域
- 7:与其他镇部分连接的村级地域
- 8:特殊地域
- 9:其他村级地域
第 15-17 位为城乡分类代码,编码规则如下:
- 111:主城区
- 112:城乡结合区
- 121:镇中心区
- 122:镇乡结合区
- 123:特殊区域
- 210:乡中心区
- 220:村庄
程序中的变量命名与枚举
主要依据来自相关国家标准中的英文翻译、城乡规划学名词、《广州市公共标识英文译写规范(2022 版)》与中国行政区划的英文,按照目前业务需求给出变量命名参考与枚举设计。
enum AdministrativeDivisionType:
# 省级行政区
PROVINCE
# 地级行政区
MUNICIPALITY
# 县级行政区
COUNTY
# 乡级行政区
TOWN
# 村级行政区
COMMUNITY
# 地方政府设置的基层治理网格
GRID
enum AdministrativeDivisionSubtype:
# 未划定
UNSET
# 省
PROVINCE
# 地级市
PREFECTURE
# 市辖区
DISTRICT
# 县级市
CITY
# 县
COUNTY
# 乡
TOWNSHIP
# 镇
TOWN
# 街道
SUBDISTRICT
# 民政部未认可的类乡级行政单位,主要是开发区、工矿区、农场、林场等
VIRTUAL_SUBDISTRICT
# 村民委员会或村民小组,包括行政村和自然村
VILLAGE
# 社区居民委员会
COMMITTEE
# 民政部门未认可的类似村级地域,主要是工矿区的家属社区、科研单位的居民社区,以及农场生活区等地域
VIRTUAL_COMMUNITY
# 村网格
VILLAGE_GRID
# 社区网格
COMMITTEE_GRID