Need help with Administrative-divisions-of-China?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

modood
9.4K Stars 4.7K Forks Do What The F*ck You Want To Public License 131 Commits 28 Opened issues

Description

中华人民共和国行政区划:省级(省份直辖市自治区)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。

Services available

!
?

Need anything else?

Contributors list

Administrative-divisions-of-China

code style dependencies npm downloads license

中华人民共和国行政区划(五级):省级、地级、县级、乡级和村级。

数据来源

数据下载

| 文件列表 | JSON | CSV | |:-----------------------------|:-----|:----| | 省级(省份、直辖市、自治区) | provinces.json | provinces.csv | | 地级(城市) | cities.json | cities.csv | | 县级(区县) | areas.json | areas.csv | | 乡级(乡镇、街道) | streets.json | streets.csv | | 村级(村委会、居委会) | villages.json | villages.csv |

| 文件列表 | 普通 | 带编码 | |:--------------------------------------------|:-----|:-------| | “省份、城市” 二级联动数据 | pc.json | pc-code.json | | “省份、城市、区县” 三级联动数据 | pca.json | pca-code.json | | “省份、城市、区县、乡镇” 四级联动数据 | pcas.json | pcas-code.json | | “省份、城市、区县、乡镇、村庄” 五级联动数据 | - | - |

提示:需要打包下载全部文件,请看 Releases

数据更新

$ npm install
$ npm run fetch

如果需要更新所有数据,只需删除现有数据重新抓取即可:

# 删除现有的数据
$ rm dist/*.csv && rm dist/[a-z]*.json && rm dist/data.sqlite && touch dist/data.sqlite

拉数据(这个步骤比较耗时)

$ npm run fetch

格式化 json csv 和联动数据等

$ npm run build

[1/1]正在抓取省级数据...

[1/31]正在抓取地级数据,当前省级:11 北京市 [2/31]正在抓取地级数据,当前省级:12 天津市 [3/31]正在抓取地级数据,当前省级:13 河北省 [4/31]正在抓取地级数据,当前省级:14 山西省 ... [29/31]正在抓取地级数据,当前省级:63 青海省 [30/31]正在抓取地级数据,当前省级:64 宁夏回族自治区 [31/31]正在抓取地级数据,当前省级:65 新疆维吾尔自治区

[1/344]正在抓取县级数据,当前地级:1101 市辖区 [2/344]正在抓取县级数据,当前地级:1201 市辖区 [3/344]正在抓取县级数据,当前地级:1301 石家庄市 [4/344]正在抓取县级数据,当前地级:1302 唐山市 ... [342/344]正在抓取县级数据,当前地级:6542 塔城地区 [343/344]正在抓取县级数据,当前地级:6543 阿勒泰地区 [344/344]正在抓取县级数据,当前地级:6590 自治区直辖县级行政区划

[1/2856]正在抓取乡级数据,当前县级:110101 东城区 [2/2856]正在抓取乡级数据,当前县级:110102 西城区 [3/2856]正在抓取乡级数据,当前县级:110105 朝阳区 [4/2856]正在抓取乡级数据,当前县级:110106 丰台区 ... [2854/2856]正在抓取乡级数据,当前县级:659003 图木舒克市 [2855/2856]正在抓取乡级数据,当前县级:659004 五家渠市 [2856/2856]正在抓取乡级数据,当前县级:659006 铁门关市

[1/42951]正在抓取村级数据,当前乡级:110101001 东华门街道办事处 [2/42951]正在抓取村级数据,当前乡级:110101002 景山街道办事处 [3/42951]正在抓取村级数据,当前乡级:110101003 交道口街道办事处 [4/42951]正在抓取村级数据,当前乡级:110101004 安定门街道办事处 ... [42949/42951]正在抓取村级数据,当前乡级:659004502 兵团一零三团 [42950/42951]正在抓取村级数据,当前乡级:659006100 博古其镇 [42951/42951]正在抓取村级数据,当前乡级:659006101 双丰镇 [100%] 数据抓取完成!

数据校验

$ npm test

> eslint . && mocha -t 5000

中华人民共和国行政区划: ✓ “一级” 省级(省份、直辖市、自治区)数据 ✓ “二级” 地级(城市)数据 ✓ “三级” 县级(区县)数据 ✓ “四级” 乡级(乡镇、街道)数据 ✓ “五级” 村级(村委会、居委会)数据

联动数据 ✓ “省份、城市” 二级联动数据 ✓ “省份、城市、区县” 三级联动数据 ✓ “省份、城市、区县、乡镇” 四级联动数据 ✓ “某省、某市、某县、某镇” 不存在

9 passing (37ms)

数据库支持

目前本项目抓取的数据保存在 sqlite3,数据文件下载:data.sqlite

可以自己将数据迁移到其他数据库管理系统中(MySQL, Oracle, MSSQL 等)。

省级数据预览

| code | name | |:-----|:---------------| | 13 | 河北省 | | 14 | 山西省 | | 15 | 内蒙古自治区 | | 45 | 广西壮族自治区 |

地级数据预览

| code | name | provinceCode | |:-----|:-----------|:-------------| | 1301 | 石家庄市 | 13 | | 1401 | 太原市 | 14 | | 1525 | 锡林郭勒盟 | 15 | | 4503 | 桂林市 | 45 |

县级数据预览

| code | name | cityCode | provinceCode | |:-------|:---------|:---------|:-------------| | 130111 | 栾城区 | 1301 | 13 | | 140121 | 清徐县 | 1401 | 14 | | 152527 | 太仆寺旗 | 1525 | 15 | | 450305 | 七星区 | 4503 | 45 |

乡级数据预览

| code | name | areaCode | cityCode | provinceCode | |:----------|:---------------|:---------|:---------|:-------------| | 130111200 | 南高乡 | 130111 | 1301 | 13 | | 140121102 | 东于镇 | 140121 | 1401 | 14 | | 152527201 | 贡宝拉格苏木 | 152527 | 1525 | 15 | | 450305004 | 漓东街道办事处 | 450305 | 4503 | 45 |

村级数据预览

| code | name | streetCode | areaCode | cityCode | provinceCode | |:-------------|:---------------|:-----------|:---------|:---------|:-------------| | 130111200201 | 南高村委会 | 130111200 | 130111 | 1301 | 13 | | 140121102001 | 东于社区居委会 | 140121102 | 140121 | 1401 | 14 | | 152527201206 | 敦达乌苏嘎查 | 152527201 | 152527 | 1525 | 15 | | 450305004006 | 横塘社区 | 450305004 | 450305 | 4503 | 45 |

Stargazers over time

Stargazers over time

Contributing

  1. Fork it
  2. Create your feature branch (
    git checkout -b my-new-feature
    )
  3. Commit your changes (
    git commit -am 'Add some feature'
    )
  4. Push to the branch (
    git push origin my-new-feature
    )
  5. Create new Pull Request

License

This repo is released under the WTFPL – Do What the Fuck You Want to Public License.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.