wecatch/china_regions

广东省东莞市 为不设区的地级市 数据缺失

mlzk opened this issue · 5 comments

mlzk commented
广东省东莞市 为不设区的地级市 数据缺失

@mlzk 有5个地级市作为特例也不设立市辖区,包括广东省的中山市、东莞市,海南省的三沙市、儋州市,甘肃省的嘉峪关市(嘉峪关市自行设立的区是人民政府的派出机构,不是国务院正式批准的市辖区),被称为“直筒子(地级)市”。除儋州市外,其余4个地级市也由全国人大授权,具有“设区的市”的法律权责[1]。,参考:https://zh.wikipedia.org/zh-hans/%E4%B8%8D%E8%AE%BE%E5%8C%BA%E7%9A%84%E5%B8%82

@mlzk 有5个地级市作为特例也不设立市辖区,包括广东省的中山市、东莞市,海南省的三沙市、儋州市,甘肃省的嘉峪关市(嘉峪关市自行设立的区是人民政府的派出机构,不是国务院正式批准的市辖区),被称为“直筒子(地级)市”。除儋州市外,其余4个地级市也由全国人大授权,具有“设区的市”的法律权责[1]。,参考:https://zh.wikipedia.org/zh-hans/%E4%B8%8D%E8%AE%BE%E5%8C%BA%E7%9A%84%E5%B8%82

政策是这么说,但是统计局的东莞数据http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/44/4419.html
可是旗下有对应的镇的。
这部分是缺失数据。

@mlzk 我这里补充了一个东莞的信息:
{
"441900000000": [
{
"name": "东城街道办事处",
"id": "441900003000",
"city": "东莞市"
},
{
"name": "南城街道办事处",
"id": "441900004000",
"city": "东莞市"
},
{
"name": "万江街道办事处",
"id": "441900005000",
"city": "东莞市"
},
{
"name": "莞城街道办事处",
"id": "441900006000",
"city": "东莞市"
},
{
"name": "石碣镇",
"id": "441900101000",
"city": "东莞市"
},
{
"name": "石龙镇",
"id": "441900102000",
"city": "东莞市"
},
{
"name": "茶山镇",
"id": "441900103000",
"city": "东莞市"
},
{
"name": "石排镇",
"id": "441900104000",
"city": "东莞市"
},
{
"name": "企石镇",
"id": "441900105000",
"city": "东莞市"
},
{
"name": "横沥镇",
"id": "441900106000",
"city": "东莞市"
},
{
"name": "桥头镇",
"id": "441900107000",
"city": "东莞市"
},
{
"name": "谢岗镇",
"id": "441900108000",
"city": "东莞市"
},
{
"name": "东坑镇",
"id": "441900109000",
"city": "东莞市"
},
{
"name": "常平镇",
"id": "441900110000",
"city": "东莞市"
},
{
"name": "寮步镇",
"id": "441900111000",
"city": "东莞市"
},
{
"name": "樟木头镇",
"id": "441900112000",
"city": "东莞市"
},
{
"name": "大朗镇",
"id": "441900113000",
"city": "东莞市"
},
{
"name": "黄江镇",
"id": "441900114000",
"city": "东莞市"
},
{
"name": "清溪镇",
"id": "441900115000",
"city": "东莞市"
},
{
"name": "塘厦镇",
"id": "441900116000",
"city": "东莞市"
},
{
"name": "凤岗镇",
"id": "441900117000",
"city": "东莞市"
},
{
"name": "大岭山镇",
"id": "441900118000",
"city": "东莞市"
},
{
"name": "长安镇",
"id": "441900119000",
"city": "东莞市"
},
{
"name": "虎门镇",
"id": "441900121000",
"city": "东莞市"
},
{
"name": "厚街镇",
"id": "441900122000",
"city": "东莞市"
},
{
"name": "沙田镇",
"id": "441900123000",
"city": "东莞市"
},
{
"name": "道滘镇",
"id": "441900124000",
"city": "东莞市"
},
{
"name": "洪梅镇",
"id": "441900125000",
"city": "东莞市"
},
{
"name": "麻涌镇",
"id": "441900126000",
"city": "东莞市"
},
{
"name": "望牛墩镇",
"id": "441900127000",
"city": "东莞市"
},
{
"name": "中堂镇",
"id": "441900128000",
"city": "东莞市"
},
{
"name": "高埗镇",
"id": "441900129000",
"city": "东莞市"
},
{
"name": "松山湖管委会",
"id": "441900401000",
"city": "东莞市"
},
{
"name": "东莞港",
"id": "441900402000",
"city": "东莞市"
},
{
"name": "东莞生态园",
"id": "441900403000",
"city": "东莞市"
}
]
}

2019的数据 只剩下 中山、东莞、儋州 3个没有区级。

举例中山,看地图上 这几个地区面积明显和同类小很多。

统计局原始数据这样:广东-中山-?-沙溪
地图上看面积应该是:广东-?-中山-沙溪

实际使用:广东-中山-中山-沙溪,能保证整个数据上下层级的结构一致性

并且统计局中的页面源码内通过class值也非常好判断缺失了区,我们可以补偿一个区,自然完美规避了此问题,我是参考别人这样处理的。

后面我找了https://github.com/modood/Administrative-divisions-of-China
上面这个库默认抓的数据都全包含了,然后我再参考了其他的写法,自己实现了一个解决方案:https://github.com/lazyphp/PESCMS-Ticket/blob/master/Expand/Form/theme/china_regions.php


最后呢,这个库其实挺不错的,把关系都处理后,作为后端的我用起来非常舒服,就是这里没解决,我用了其他库。大家遇到这样的问题,可以参考一下。