关于javascript:如何获取全国的省地县数据

49次阅读

共计 2430 个字符,预计需要花费 7 分钟才能阅读完成。

本文收录于 GitHub 日问: DailyQuestion,内含大厂内推机会、面经大全及若干面试题,每天学习五分钟,一年进入大厂中。

  • 大厂面经大全
  • 大厂内推

年初,疫情暴发于湖北,诸多互联网公司及集体开发者为了使人们可能实时获取疫情信息,开发了诸多疫情地图类利用。应势,我也写了一个对于 省市分项统计 的地图利用,开源在 Github,并播种了 500+ Star,最高时流量也有 50 万 PV: 2019-ncov

在此过程中,因为对中国行政区划的理解有余,呈现了许多问题,同时也取得了诸多乏味的新知:

  1. 天门、仙桃、潜江是三个省直管县,即由湖北省间接治理,而却是县级行政单位。但依然与地级行政区并列呈现在地图中。这样的中央在全国总共有十几个
  2. 恩施土家族苗族自治州等诸多自治州呈现在视线中,另外,施恩这个名字的来历也很有意思,感兴趣的能够搜一搜
  3. 山西、陕西因重音问题,陕西也会被拼成 shaanxi

我对诸如此类的地理知识原本也是浅尝辄止,不大做粗疏深刻的查究。随着国内疫情的大幅恶化,也很少去关注这些省市了。

然而最近又有一件事,我对此类省市县从新燃起了浓厚兴趣,那就是裸辞出游。长期游览是一件干燥、无聊且适度耗费精力的事件,唯有从中找出一点趣味,能力放弃短暂。

一座城市的天文、历史及倒退就是一件很有意思的事件,因而我每去一个中央,便会关上地图理解它的行政区划,维基百科理解它的天文与历史。以致于我当初曾经可能背全了我走过省份的所有地级市并理解他们的绝对地位:如陕西、甘肃、新疆与青海。

那中国有多少座地级市呢?

依据民政部官网统计:333

因而,我做了一个 package 来实现这件事件: china-region

const cn = require('china-region')

const cities = cn.getPrefectures()

console.log(cities.length)

以下,我对这个包来一个简介,感兴趣能够给我提 Issue

china-region

该包依据国家标准《中华人民共和国行政区划代码》即 GB2260 规范制订,用以查看各个省地县的行政区划代码,并反对多级联动查问

  1. 丰盛的 API,满足多种级联查问
  2. 较小的 npm 包体积

Install

$ npm install chaina-region

API

const cn = require('china-region')

cn.getCodeByProvinceName(name)

依据降级行政区名称或简称获取行政区划代码

// '140000'
cn.getCodeByProvinceName('山西省')

// '140000'
cn.getCodeByProvinceName('山西')

// '140000'
cn.getCodeByProvinceName('晋')

cn.info(code)

返回某个行政区号代表的行政区

// {name: '洪洞县', code: '141024', prefecture: '临汾市', province: '山西省'}
cn.get('141024')

// {name: '山西省', code: '140000', prefecture: null, province: null}
cn.get('140000')

cn.getProvinces()

返回中国所有的省级行政区

cn.getProvinces()

cn.getPrefectures(code)

返回中国 / 某省级行政区下所有的地级行政区

code 指行政区代码,code 为空时返回中国所有的地级行政区,不为空时返回该省级行政区的所有地级行政区

// 列出中国所有的地级行政区
cn.getPrefectures()

// 以下均列出 10 所代表省下辖的所有地级行政区
cn.getPrefectures('100000')
cn.getPrefectures('101000')
cn.getPrefectures('101010')

cn.getCounties(code)

返回中国 / 某省级行政区 / 某地级行政区下所有的县级行政区

code 指行政区代码,code 为空时返回中国所有的县级行政区,不为空时返回该省 / 市级行政区的所有地级行政区

// 列出中国所有的县级行政区
cn.getCounties()

// 列出 10 所代表省下辖的所有县级行政区
cn.getCounties('100000')

// 列出 1010 所代表地下辖的所有县级行政区
cn.getCounties('101000')

cn.getSpecialConties(code)

返回中国 / 某省级行政区下所有的省直管县。如海南省的各县和县级市、湖北省的仙桃市、潜江市、天门市、神农架林区、河南省的济源市、新疆的数个由自治区和新疆兵团双重领导的县级市等

code 指行政区代码,code 为空时返回中国所有的县级行政区,不为空时返回该省 / 市级行政区的所有地级行政区

// 列出中国所有的省直管县
cn.getSpecialCounties()

// 列出 10 所代表省下辖的所有省直管县
cn.getSpecialCounties('100000')

术语

对于行政区级别翻译参考知乎两篇对于地名翻译的文章

  • 乡、镇、屯、自然村、组、生产队、自治区等名词有官网的英语翻译吗?
  • 地名如何翻译
  • province,省级行政区,包含直辖市、省、自治区、特地行政区。
  • prefecture,地级行政区,包含地级市、地区、自治州、盟。
  • county,县级行政区,包含市辖区、县级市、县、自治县、旗、自治旗、特区、林区。
  • specialCounty,省直管县级行政区,如湖北的仙桃、潜江与天门

数据获取

行政代码在国家标准《中华人民共和国行政区划代码》即 GB2260 的规范下制订,能够在民政部统计数据中查问。

  • 2020 年中华人民共和国行政区划代码

相干仓库

  • china-area-data
  • province-city-china
  • GB2260

关注我

欢送关注公众号【互联网大厂招聘】,定时推送大厂内推信息及面试题简答,每天学习五分钟,半年进入大厂中

正文完
 0