# region-generator **Repository Path**: NemoAlex/region-generator ## Basic Information - **Project Name**: region-generator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-10 - **Last Updated**: 2025-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 行政区划数据生成器 从民政部网站获取公开的行政区划数据,并结合额外需要的增补区划,生成标准化的 JSON 和 YAML 格式数据文件。 注意:此项目用于特定的系统。 ## 功能特点 - 自动获取[2023年中华人民共和国县以上行政区划代码](https://www.mca.gov.cn/mzsj/xzqh/2023/202301xzqh.html) - 支持自定义额外数据(通过 YAML 文件配置) - 生成多种格式的数据文件: - JSON 格式: - `china_region.json`:标准区划数据 - `china_region_with_extra.json`:包含额外数据的完整版本 - YAML 格式: - `china_region.yaml`:标准区划数据 - `china_region_with_extra.yaml`:包含额外数据的完整版本 - 数据格式规范,按行政区划代码排序 ## 使用方法 你可以使用extra.yaml的内容,或者直接使用`dist`目录中的成果。 ## 生成器使用方法 ```bash # 使用 yarn 安装依赖 yarn install ``` ```bash # 或者使用 NPM npm install ``` 1. 运行生成器: ```bash node index.js ``` 2. 生成的数据文件将保存在 `dist` 目录下: - `dist/json/` 目录: - `china_region.json`:标准区划数据 - `china_region_with_extra.json`:包含额外数据的完整版本 - `dist/yaml/` 目录: - `china_region.yaml`:标准区划数据 - `china_region_with_extra.yaml`:包含额外数据的完整版本 ## Demo 示例 项目提供了一个区划选择器的示例页面,用于展示如何使用生成的数据。 你可以直接在线查看`demo`目录中的网页,或者在本地运行node服务。 ```bash # 启动 demo 服务 node demo/server.js ``` 启动后,在浏览器中访问 `http://localhost:3000` 即可查看示例页面。示例页面提供以下功能: - 展示标准区划数据的使用示例 - 展示包含额外区划数据的使用示例 - 提供省市区三级联动选择器 - 实时显示选中区划的代码和名称 注意:使用 demo 前请确保已经运行过数据生成器(`node index.js`)。 ## 自定义数据 可以通过编辑 `extra.yaml` 文件来添加自定义的行政区划数据。YAML 文件的结构应与生成的 JSON 文件结构保持一致。 ## 数据结构 生成的 JSON/YAML 文件结构如下: ```json { "regions": { "86": { "110000": "北京市", "120000": "天津市", "330000": "浙江省", // ... 其他省级行政区 }, "330000": { "330100": "杭州市", "330200": "宁波市", "330300": "温州市", // ... 浙江省其他地级市 }, "330100": { "330102": "上城区", "330105": "拱墅区", "330106": "西湖区", "330108": "滨江区", "330109": "萧山区", "330110": "余杭区", "330111": "富阳区", "330112": "临安区", "330113": "临平区", "330114": "钱塘区", "330122": "桐庐县", "330127": "淳安县", "330182": "建德市" } // ... 其他行政区数据 } } ``` ### 特殊说明 - 省级行政区代码放在了`regions['86']` - 特殊行政区划代码(第三、四位为90)会被特殊处理 - 为了方便开发,目前extra中的乡镇级区划,被合并到了县级列表中 ## License MIT