如何得到最新、权威的全国县级以上行政区划代码

行政区划代码是国家用于统计地域相关数据的重要参考,高德、百度的地图API也都有这个代码与GPS坐标之间的相互解析。如果我们的应用和地域相关,不妨直接用这套编码,既通用又方便。

然而很多人不知道这个代码怎么获取,虽然CSDN有好多下载资源,但有的数据太老,并且“价格”不菲。这里介绍一种方法,可以获得最新权威版本。

  • 打开民政部网站 www.mca.gov.cn ,(这个域名后缀就决定了数据的权威性)
  • 这个数据经常更新。找到最新的打开,CTRL-A复制全部,粘贴到notepad++
     

- 掐头去尾,只留下代码和区域名称
- 正则替换(为6位数字后面加上逗号): (\d{6})\s  --> ($1),

- 正则替换(去掉所有空格和制表符):[ \t]+ --> 空

现在得到了一个csv,可以利用工具导入数据库了。

  •  进一步得到json

- 正则替换(行首换为双引号"): ^ -> "
- 替换:, --> ,"
- 正则(行尾换成 "],):$ --> "],
- 最开始加上[, 最后去掉,换成] ,现在得到了一个json二维数组,每一个元素都是一个代码和一个区域名。

至此,一份最新的行政区划代码数据就是你的了。其特点是:省级(直辖市)后四位是0,市级后两位是0,县(区)级后两位有值。县级把后两位置为0,就是其所属的市级单位,市级后四位置零就是省级单位代码。

当然,会爬虫的同学处理这个页面更不在话下了。

  • 更进一步:得到行政区划的边界数据

行政区划区域,可以看成是一个多边形。边界数据(或者叫围栏数据)就是这个多边形的坐标了。github上有人整理过这些数据:https://github.com/Vonng/adcode,但是已经是两三年前的内容了。

幸运的是,百度地图提供了这个API,可以利用上面得到的行政区划代码,自动地批量从百度地图获取边界数据。

API参考:http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a7b48

如果想自己重新获取边界数据,可以自己申请一个百度API的key,参考这个:https://download.csdn.net/download/nullpointer2008/11978464

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值