真觉得县城比没有包邮的省份大,省市乡镇多级数据重装上阵下定决心进行大更新,发布了这个重(冲)版.除了省、直辖市、乡镇数据,坐标、边界范围、拼音一应俱全。GitHub:https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov在线预览:多级联动测试预览,转换成JSON城市坐标和边界范围坐标边界数据均来自高德地图接口(GCJ-02coordinatesDepartment),几张图的质量算是最好的了。保存为csv格式,导入到SQLServer中也很方便。先睹为快(大到不包邮?):从一张中国地图上看,大到不包邮的地方可能看起来不大;没有比较就没有伤害。挑出最大的一个县比较一下就可以感受得到。看看左边的纯色?这些坐标和边界数据是用js代码采集的,得到的csv文件130M+,压缩成7z文件,大小为13M,采集速度非常快。3分钟左右采集省市三级数据。目前GitHub仓库中的省、市、直辖市三级与高德地图上的城市相匹配。除了台湾的城市没有边界外,其他城市都有匹配的数据。采集源码见此目录:https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov/tree/master/src/坐标和边界再贴一张图数据仅取自统计局,及数据来源过于单一。后来合并了民政部的数据,数据还是不太好。很多人提醒,只用民政部的数据,不如用统计局的数据;有些甚至从许多来源获取城市数据,除了统计局。调研发现,高德地图和腾讯地图的行政区划都有开放接口提供数据,数据也不错。强迫症又要发作了。技能点综合分析了统计局、民政部、高德地图的行政区域、腾讯地图的行政区划,并结合各大网站的城市选择数据,如:淘宝、QQ、58等,发现统计局数据的主要问题出现在以下两点:缺失数据,有的确实缺失,有的是由于数据更新缺失导致的滞后,这只能靠我们自己完成。其中包括约160个开发区、经济区、高新区和国家级新区。这种分区应该算是特殊区域,一般由多个城市的区域组成,属于区级重复区域,需要剔除。但是,剔除之后,这些地区下的乡镇需要划分为实际所属的城市,难度很大,因为体量太大,几乎不可能一一核对归属地。围绕这两个要点,收集多个数据源的数据,然后用人工智能+人工智能(更人工),问题就可以解决了。何必呢?因为没有找到特别好的数据源,其他各大平台和网站的数据在感知上都不是很完善,综合起来舒服多了。采集源码见此目录(1-3开头的js文件):https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov/tree/master/src数据特征id号与国家统计局编号。方便以后更新。很多网站的界面数据里的城市编号基本都是这样的,包括民政部的城市数据,腾讯地图,高德地图。这组数字对大多数人来说都很常见。东莞、中山、儋州等不设区的直筒子城市没有三级区级,自动添加同名一级为区级,保证整个数据结构的一致性。两个0作为新的ID,这个结构的ID兼容性还不错,比如:东莞(4419)只有一个下属区,东莞(441900)。省直直辖县级市(河南济源、湖北潜江、海南五指山、新疆昆玉等)只能按编号归入区级,但为了方便用户,一律各直辖市自动新增同名市级,如:湖北-直辖市-仙桃-*镇调整为湖北-仙桃-仙桃-*镇,新增数据编号规则同第二条规则.如果市或区没有下属,则自动添加一个同名镇作为下属,编号规则同上,保证数据层级的一致性(任何数据都可以满足4级省、市、镇结构,不存在隔离);例如:福建-泉州-金门没有镇,调整后为福建-泉州-金门-金门;另外,民政部等数据源新增补全的城市也会有下属缺失,按此规则自动补全。台湾的数据只有省市三级,没有镇级,所以镇级是按照之前的规则自动填上的;香港和澳门数据源有两个级别,作为直分城市处理。比如香港被当做东莞,从面积和人口上来看是合理的,所以港澳三级省市数据是完全一样的,四级乡镇有城市数据,如:香港-香港-香港-湾仔区。地区名称通过直接去掉常见的后缀来简化,比如直接去掉末尾的市|区|县|街道办事处|XX民族自治X。数量少,一些名称中会引起歧义的后缀被去掉,没有简化。省市前三级数据合并:统计局数据与民政部数据交叉比对后合并;由于统计局数据明显滞后,民政部新增市、区将没有镇级(同名镇级自动补全);如果民政部数据中有明示撤销的市、区,则合并时删除统计局对应的数据。新嘉市莱芜区、港城区;民政部数据中没有统计局数据的,按原样保留。高德地图的行政区域会和腾讯地图的行政区划数据进行交叉比对,然后选择需要的数据。最后将前三层数据(国家统计局+民政部)和(高德地图+腾讯数据)交叉融合,得到[省市]≈[统计局数据]-[约160个开发区和经济区、高新区、国家级新区】-【封城】+【新城】+【港澳台】。四级乡镇主要使用腾讯地图的行政区划数据,结合高德和统计局的数据。与统计局数据相差3000左右,占比7.5%(3000/40000)。得到的【乡镇级别】≈【腾讯地图行政区划数据】。数据应用更新综合应用库提供在线测试页面,提供三级或四级数据的多级选择测试,并提供数据格式转换和导出,方便转换成需要的格式。城市数据、坐标和边界都可以导入数据中使用。因为所有城市数据都有拼音,所以在选择界面显示时很容易分组显示拼音前缀。省市三级拼音准确率极高,四级略差。边界坐标可以根据用户坐标分析城市信息,可以覆盖除台湾以外的所有城市。库中提供了采集源码,采集方法是在浏览器控制台执行js采集。所有自己收集也很快,30分钟左右就可以完成;当然直接下载也是可以的。更新计划目前新版数据的前三层貌似和其他大网站没有太大区别,比他们新,主要是160多个开发区和经济区的积分被舍弃了.4级,因为直接采用了腾讯地图的数据,与统计局相比,相差不大。与其他网站没有可比性。能提供这么深的层次还是比较少见的,数据量太大了。比较一个是不容易的。可信数据。目前,更新主要靠民政部。民政部有新数据出炉后,会比较数据是否有变化。如果没有变化,将全面更新。但是对于已经在使用的数据库中的旧数据进行更新,目前还没有简单的解决方案,因为更新数据库中的这种数据是一件非常麻烦的事情。==结束==
