精华内容
下载资源
问答
  • 【功能】 1. 快速准确抓取数据 2. 断点续抓(关闭程序后,下次打开,可自动继续抓取,不用从头开始) ... 5. 目标网站根目录以及数据文件保存路径可配置 6. 内置关闭程序事件的处理方法(暂时没有启用)
  • 2019年国家行政区划5级数据 。下载时间为2020年8月4日。含爬虫代码以后可自行爬取最新年度数据。之前上传的一版存在生僻字乱码。如自行源码拉取请将GB2312改为GBK执行。此包执行结果文件已改。
  • 2016年统计用区划代码和城乡划分代码 山西2016年5级行政区划数据
  • 2016年统计用区划代码和城乡划分代码 河北2016年5级行政区划数据
  • 2016年统计用区划代码和城乡划分代码 北京市2016年5级行政区划数据
  • 通过个人开发的数据抽取工具,从国家统计局官方网站中提取出全国行政区划数据,包括省、市、县、乡(镇)、村五级行政区划数据数据包含行政区划代码、名称,级别以及上级行政区划等信息,数据文件为db格式。
  • 之前我爬了datav的地图选择器中全国省市区的...index_2019_level_5.json:全国省市区县乡镇 5 12 位行政区划代码 province 文件夹是全国各省行政区划代码(文件名开头的两位数为各省行政区划代码前两位) provinc

    之前我爬了datav的地图选择器中全国省市区的geoJSON数据

    为了获取最新省市区的行政区划代码用于级联组件,又爬了国家统计局的内容

    https://github.com/lyhmyd1211/AreaJson_CN

    index_2019_level_3.json:全国省市区 3 级 6 位行政区划代码

    index_2019_level_5.json:全国省市区县乡镇 5 级 12 位行政区划代码

    province 文件夹是全国各省行政区划代码(文件名开头的两位数为各省行政区划代码前两位)

    province/level_3 为各省 3 级 6 位行政区划代码
    province/ level_5 为各省 5 级 12 位行政区划代码

    getArea.py 为简易的爬虫脚本,需要修改爬取内容的见脚本说明

    脚本说明:

    # config #
    
    year = '2019'       # 年份,目前国家统计局官网有2009-2019年的数据
    level = 3           # 可选:3|5   获取的层级 3层为省-市-区  最多5级省-市-区-县(街道)-乡镇(居委会)
    digit = 6           # 可选:6|12  行政区划代码位数  层级为3级时通常使用6位代码 如110000,层级为5级时使用12位代码 如 110000000000
    head_url = "index"  # 可选:index|各省行政区划前两位  要从哪开始获取 index为全国所有省份  要获取单独的省份修改为省行政区划的前两位
    
    # config #
    

    按照注释修改 config 中的内容再运行脚本可以获取自己想要的结果

    展开全文
  • 行政区划代码,省/市/区*(县)/街道(镇)/居委会(村),国家统计局官方网站数据,cvs格式,utf-8编码,在excel中打开可能是乱码,在notepad+中可正常打开,可以加工为脚本导入数据库
  • 本文主要记录了 中华人民共和国 国家行政区划单位数据的查询和统计常用sql语句数据来源本示例中使用的数据来自国家民政部发布的《2019年5月中华人民共和国县以上行政区划代码》www.mca.gov.cn/article/sj/xzqh/2019/...

    本文主要记录了 中华人民共和国 国家行政区划单位数据的查询和统计常用sql语句

    数据来源

    本示例中使用的数据来自国家民政部发布的《2019年5月中华人民共和国县以上行政区划代码》

    www.mca.gov.cn/article/sj/xzqh/2019/

    民政部对国家行政区划每月进行更新和调整。

    查询代码(mysql)

    -- 直辖市数量

    select count(*) from xzqh201905 where SUBSTR(code,3,4)='0000' and instr(name,'市')>0;

    -- 直辖市清单

    select * from xzqh201905 where SUBSTR(code,3,4)='0000' and instr(name,'市')>0;

    -- 省级行政区划单位数量

    select count(*) from xzqh201905 where SUBSTR(code,3,4)='0000';

    -- 省级行政区划单位清单

    select * from xzqh201905 where SUBSTR(code,3,4)='0000';

    -- 地级市数量

    select count(*) from xzqh201905 where SUBSTR(code,3,4)!='0000' and SUBSTR(code,5,2)='00' and instr(name,'市')>0;

    -- 地级市清单

    select nlt.upcode as pro_code , plt.name as pro_name,nlt.code,nlt.name from (select CONCAT(substr(code,1,2),'0000') as upcode, code,name from xzqh201905 where SUBSTR(code,3,4)!='0000' and SUBSTR(code,5,2)='00' and instr(name,'市')>0) nlt ,(select * from xzqh201905 where SUBSTR(code,3,4)='0000') as plt where plt.code =nlt.upcode;;

    -- 地级行政区划单位数量

    select count(*) from xzqh201905 where SUBSTR(code,3,4)!='0000' and SUBSTR(code,5,2)='00' ;

    -- 地级行政区划单位清单

    select * from xzqh201905 where SUBSTR(code,3,4)!='0000' and SUBSTR(code,5,2)='00' ;

    -- 县级市数量数量

    select count(*) from xzqh201905 where SUBSTR(code,5,2)!='00' and instr(name,'市')>0;

    -- 县级市清单

    select * from xzqh201905 where SUBSTR(code,5,2)!='00' and instr(name,'市')>0;

    -- 各省行地级政区划数量统计

    select plt.name,nlt.count,nlt.list from (select CONCAT(substr(lt.code,1,2),'0000') as code , count(*) as count,GROUP_CONCAT(name) as list from xzqh201905 lt where substr(lt.code,3,2)!=00 and substr(lt.code,5,2)='00' group by substr(lt.code,1,2)) as nlt,(select * from xzqh201905 where SUBSTR(code,3,4)='0000') as plt where plt.code =nlt.code;

    -- 各省县级市行政区划数量统计

    select plt.name,nlt.count,nlt.list from (select CONCAT(substr(lt.code,1,2),'0000') as code , count(*) as count,GROUP_CONCAT(name) as list from xzqh201905 lt where substr(lt.code,3,2)!=00 and substr(lt.code,5,2)!='00' and instr(lt.name,'市')>0 group by substr(lt.code,1,2)) as nlt,(select * from xzqh201905 where SUBSTR(code,3,4)='0000') as plt where plt.code =nlt.code;

    -- 三级行政区划清单

    select nlt.pro_code as pro_code, plt.name as pro_name, nlt.dis_code as dis_code,nlt.dis_name as dis_name,'' as code,'' as name from (select CONCAT(substr(code,1,2),'0000') as pro_code , name as pro_name, code as dis_code,name as dis_name from xzqh201905 where SUBSTR(code,1,2) in ('11','12','31','50') and SUBSTR(code,3,2)!='00') as nlt,(select * from xzqh201905 where SUBSTR(code,3,4)='0000') as plt where nlt.pro_code=plt.code

    UNION ALL

    select nlt.pro_code as pro_code, plt.name as pro_name, nlt.dis_code as dis_code,dlt.name as dis_name,nlt.code,nlt.name from (select CONCAT(substr(code,1,2),'0000') as pro_code,CONCAT(substr(code,1,4),'00') as dis_code,code,name from xzqh201905 where SUBSTR(code,5,2)!='00') as nlt,(select * from xzqh201905 where SUBSTR(code,3,4)!='0000' and SUBSTR(code,5,2)='00') as dlt,(select * from xzqh201905 where SUBSTR(code,3,4)='0000') as plt where nlt.pro_code=plt.code and nlt.dis_code=dlt.code;

    -- 三级行政区划树

    select '' as parent_code,'000000' as code ,'全国行政区划' as name

    UNION all

    select if(SUBSTR(code,3,4)='0000','000000',if(SUBSTR(code,5,2)='00',CONCAT(SUBSTR(code,1,2),'0000'),if(SUBSTR(code,1,2) in ('11','12','31','50'),CONCAT(SUBSTR(code,1,2),'0000'),CONCAT(SUBSTR(code,1,4),'00')))) as parent_code,code,name from xzqh201905 ;

    展开全文
  • 由于工作需要用到地址五联动,爬取了国家统计局的行政区划代码2019年的数据(暂时最新就是2019年的),包含省、市、县/区、街道/镇、社区/村,精确至社区/村。 SqlServer数据库导出csv文件,逗号分隔符,总计...
  • 全国五级行政区划数据(省市区县乡镇村),共计74万多条,有需要的请下载,记得关注、点赞哦!
  • 最新行政区划数据5级地址 2019-01-31国家统计局发布截止20181031日止的行政区划数据: 省、市、区、街道(乡镇)、居委会 可与国家统计局数据一一对比,数据很全面的,无错误数据,无乱码,无遗漏,区划编码和名称...
  • 最新全国5级行政区划数据抓取(国家统计局),支持多线程,速度快,C#开发的工具,如果不能运行,请先确认是否有安装.net framework4.0 ,抓取完后数据会存在同目录下的data.csv文件中,含编码、上级编码、名称、层级...
  • 最全的五城市数据mysql数据库,下载直接用navicat导入即可,亲自测试过,总共767965条数据
  • 中国目前最新最全的全国5级行政区划代码,省(市)、市(区)、县(区)、街道(乡镇)、居委会(乡村),以上是MySQL脚本。数据来源:国家统计局。
  • 2017最新全国街道乡镇村级以上行政区划代码表,总共752233条数据
  • 省市区级联完整版本,最新完全版本,包含区号、坐标等
  • 2019年全国行政区划数据,近70万条,包含省、市、县、镇5级,有CSV、TXT、XLSX、SQL四种格式,有开发需要的朋友可以下载使用。
  • 2019年最新5级行政区划数据,包括全国乡镇村,五级联动,从省到村都有。一共有70多万条数据。100M以上数据
  • 2009-2016年全国5级行政区划-最新最全-解压后CSV格式,数据总量5490858条,如果需要清洗,需要自己写程序。
  • 全国五级行政区划数据(省市区县乡镇村),共计70多万条,在一个txt文件中,数据用##分隔,数据很全,有需要的朋友花点时间处理一下就好了。
  • 在工作中,老是会遇到地址多级关联,于是自己整合了最新数据2019-05,直接生成了Access数据库表
  • 2018-06-20 统计局发布的省市县乡村5级政区划编码 2018最新全国行政区划编码 Oracle。 国家统计局 2018-06-20 发布的最新2018年统计用区划代码和城乡划分代码(截止2017年10月31日) 本次修订增加了一些符合条件的开发...
  • Java获取高德API行政区划数据存到数据库,维护到乡镇一 文章目录Java获取高德API行政区划数据存到数据库,维护到乡镇一1.申请高德行政区划API的[key](https://lbs.amap.com/api/webservice/guide/api/district/)...

    Java获取高德API行政区划数据存到数据库,维护到乡镇一级

    1.申请高德行政区划API的key

    2.pom文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.0</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.hyd</groupId>
        <artifactId>area</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>area</name>e
        <description>获取高德api行政区划</description>
    
        <properties>
            <java.version>1.8</java.version>
            <mybatis.plus.version>3.4.1</mybatis.plus.version>
            <knife4j.version>1.9.6</knife4j.version>
            <validation.version>2.0.1.Final</validation.version>
            <fastjson.version>1.2.74</fastjson.version>
            <hutool.version>5.4.7</hutool.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis.plus.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
            <!--swagger-->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>${knife4j.version}</version>
            </dependency>
            <!-- 阿里JSON解析器 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
    
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${validation.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.springframework.boot</groupId>
                                <artifactId>spring-boot-configuration-processor</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    

    3.yml文件

    # 数据库配置
    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/AREA?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
        username: root
        password: root
    # 获取行政区划信息
    area:
      url: https://restapi.amap.com/v3/config/district
      key: 你申请的key
    

    4.数据库结构

    CREATE TABLE `t_area` (
      `ad_code` bigint(32) NOT NULL COMMENT '主键(区域编码)\r\n',
      `parent_code` varchar(32) DEFAULT NULL COMMENT '父级区域编码',
      `name_` varchar(64) DEFAULT NULL COMMENT '行政单位名称',
      `city_code` varchar(32) DEFAULT NULL COMMENT '城市编码',
      `type_` varchar(32) DEFAULT NULL COMMENT '行政单位类别 省 市 区/县 街道/乡镇',
      `center` varchar(64) DEFAULT NULL COMMENT '经度,纬度',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      `update_time` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`ad_code`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    

    5.获取yml配置文件配置类

    package com.hyd.area.config;
    
    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    /**
     * <p>
     * 获取yml配置文件信息
     * </p>
     *
     * @ClassName AreaConfig
     * @Date 2020/12/2 13:37
     * @Author hzy
     */
    @Data
    @Component
    @ConfigurationProperties(prefix = "area")
    public class AreaConfig {
        /**
         * 请求地址
         */
        private String url;
    
        /**
         * APIkey
         */
        private String key;
    }
    
    

    6.实体类

    package com.hyd.area.entity;
    
    import com.baomidou.mybatisplus.annotation.TableField;
    import com.baomidou.mybatisplus.annotation.TableName;
    import com.hyd.area.base.BaseEntity;
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.*;
    
    import java.util.List;
    
    /**
     * <p>
     * (t_area)实体类
     * </p>
     *
     * @Classname Area
     * @Date 2020-12-01 09:59:38
     * @Author hzy
     */
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @ToString
    @Builder(toBuilder = true)
    @TableName("t_area")
    @EqualsAndHashCode(callSuper = true)
    @ApiModel(value = "(t_area)实体类", description = "(t_area)实体类")
    public class Area extends BaseEntity<Long> {
        private static final Long serialVersionUID = -14216400471825395L;
       /**
         * 区域编码  街道没有独有的adCode,均继承父类(区县)的adCode
         */
        @TableField(value = "ad_code")
        @ApiModelProperty(value = "区域编码  街道没有独有的adCode,均继承父类(区县)的adCode", notes = "区域编码  街道没有独有的adCode,均继承父类(区县)的adCode")
        private String adCode;
    
        /**
         * 父级id
         */
        @TableField(value = "parent_code")
        @ApiModelProperty(value = "父级id", notes = "父级id")
        private String parentCode;
    
        /**
         * 名称
         */
        @TableField(value = "name_")
        @ApiModelProperty(value = "名称", notes = "名称")
        private String name;
    
        /**
         * 城市编码
         */
        @TableField(value = "city_code")
        @ApiModelProperty(value = "城市编码", notes = "城市编码")
        private String cityCode;
    
        /**
         * 等级  国家 省 市 区/县
         */
        @TableField(value = "type_")
        @ApiModelProperty(value = "等级  国家 省 市 区/县", notes = "等级  国家 省 市 区/县")
        private String level;
    
    
        /**
         * 经度,纬度
         */
        @TableField(value = "center")
        @ApiModelProperty(value = "经度,纬度", notes = "经度,纬度")
        private String center;
    
        /**
         * 子节点
         */
        @TableField(exist = false)
        private List<Area> districts;
    }
    

    7.httpUtil

    package com.hyd.area.common;
    
    import lombok.extern.slf4j.Slf4j;
    
    import javax.net.ssl.HostnameVerifier;
    import javax.net.ssl.SSLSession;
    import javax.net.ssl.X509TrustManager;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.ConnectException;
    import java.net.SocketTimeoutException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.nio.charset.StandardCharsets;
    import java.security.cert.X509Certificate;
    
    /**
     * <p>
     * 通用http请求
     * </p>
     *
     * @ClassName HttpUtil
     * @Date 2020/12/1 10:08
     * @Author hzy
     */
    @Slf4j
    public class HttpUtil {
        /**
         * 向指定 URL 发送GET方法的请求
         *
         * @param url   发送请求的 URL
         * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
         * @return 所代表远程资源的响应结果
         */
        public static String sendGet(String url, String param) {
            return sendGet(url, param, Constants.UTF8);
        }
    
        /**
         * 向指定 URL 发送GET方法的请求
         *
         * @param url         发送请求的 URL
         * @param param       请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
         * @param contentType 编码类型
         * @return 所代表远程资源的响应结果
         */
        public static String sendGet(String url, String param, String contentType) {
            StringBuilder result = new StringBuilder();
            BufferedReader in = null;
            try {
                String urlNameString = url + "?" + param;
                URL realUrl = new URL(urlNameString);
                URLConnection connection = realUrl.openConnection();
                connection.setRequestProperty("accept", "*/*");
                connection.setRequestProperty("connection", "Keep-Alive");
                connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
                connection.connect();
                in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType));
                String line;
                while ((line = in.readLine()) != null) {
                    result.append(line);
                }
            } catch (ConnectException e) {
                log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e);
            } catch (SocketTimeoutException e) {
                log.error("调用HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e);
            } catch (IOException e) {
                log.error("调用HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e);
            } catch (Exception e) {
                log.error("调用HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e);
            } finally {
                try {
                    if (in != null) {
                        in.close();
                    }
                } catch (Exception ex) {
                    log.error("调用in.close Exception, url=" + url + ",param=" + param, ex);
                }
            }
            return result.toString();
        }   
    }
    
    

    8.获取行政区划信息工具类

    package com.hyd.area.common;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.hyd.area.config.AreaConfig;
    import com.hyd.area.entity.Area;
    import org.springframework.stereotype.Component;
    
    import javax.annotation.Resource;
    import java.util.List;
    
    /**
     * <p>
     * 获取行政区划工具类
     * </p>
     *
     * @ClassName AreaUtils
     * @Date 2020/11/30 15:55
     * @Author hzy
     */
    @Component
    public class AreaUtils {
    
        /**
         * 获取配置信息
         */
        @Resource
        private AreaConfig areaConfig;
    
        /**
         * 获取行政区划方法
         *
         * @param param       规则:只支持单个关键词语搜索关键词支持:行政区名称、cityCode、adCode
         * @param subDistrict 规则:设置显示下级行政区级数(行政区级别包括:国家、省/直辖市、市、区/县4个级别)
         *                    <p>
         *                    可选值:0、1、2、3
         *                    <p>
         *                    0:不返回下级行政区;
         *                    <p>
         *                    1:返回下一级行政区;
         *                    <p>
         *                    2:返回下两级行政区;
         *                    <p>
         *                    3:返回下三级行政区;
         * @return list
         */
        public List<Area> getInfo(String param, String subDistrict) {
            String result = HttpUtil.sendGet(areaConfig.getUrl(), "keywords=" + param + "&subdistrict=" + subDistrict + "&key=" + areaConfig.getKey());
            JSONObject jsonObject = JSON.parseObject(result);
            String country = jsonObject.getString("districts");
            return JSON.parseArray(country, Area.class);
        }
    }
    
    

    9.controller,递归。

    package com.hyd.area.controller;
    
    import cn.hutool.core.util.StrUtil;
    import com.hyd.area.common.AreaUtils;
    import com.hyd.area.entity.Area;
    import com.hyd.area.service.AreaService;
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.util.CollectionUtils;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import java.util.Comparator;
    import java.util.List;
    import java.util.stream.Collectors;
    
    /**
     * <p>
     * (t_area_ultimate)服务实现层
     * </p>
     *
     * @ClassName AreaController
     * @Date 2020-12-01 09:59:38
     * @Author hzy
     */
    @RestController
    @RequestMapping("area")
    @Api(value = "获取行政区划", tags = "获取行政区划数据")
    @Slf4j
    public class AreaController {
        /**
         * 服务对象
         */
        @Resource
        private AreaService areaService;
    
        @Resource
        private AreaUtils areaUtils;
    
        /**
         * 标识符
         */
        private static final String NONE = "[]";
    
        private static final String STREET = "street";
    
        private static final String PROVINCE = "province";
    
        /**
         * 只保存省级行政单位下3级的数据
         */
        @GetMapping(value = "/getActive")
        @ApiOperation(value = "只保存省级行政单位下3级的数据", notes = "只保存省级行政单位下3级的数据")
        public void getActive() {
            // 获取国家节点数据
            List<Area> countryList = areaUtils.getInfo("", "1");
            countryList.forEach(country -> {
                // 获取国家下面的所有省份
                List<Area> provinceList = country.getDistricts();
                // 排序
                provinceList = provinceList.stream().sorted(Comparator.comparing(Area::getAdCode)).collect(Collectors.toList());
                provinceList.forEach(province -> {
                    List<Area> cityList = areaUtils.getInfo(province.getAdCode(), "3");
                    recursion(cityList, province.getAdCode());
                });
            });
            log.info("数据拉取保存成功!");
        }
    
        /**
         * 递归保存数据
         *
         * @param parentList 父级行政单位数据
         */
        public void recursion(List<Area> parentList, String parentCode) {
            if (CollectionUtils.isEmpty(parentList)) {
                return;
            }
            // 对街道,乡镇adCode特殊处理
            for (int i = 0; i < parentList.size(); i++) {
                Area area = parentList.get(i);
                if (StrUtil.equals(NONE, area.getCityCode())) {
                    area.setCityCode("");
                }
                if (StrUtil.equals(STREET, area.getLevel())) {
                    Long streetId = Long.valueOf(area.getAdCode().concat(String.format("%02d", i + 1)));
                    area.setAdCode(String.valueOf(streetId));
                }
            }
            parentList.forEach(child -> {
                // 设置父id
                if (StrUtil.equals(PROVINCE, child.getLevel())) {
                    child.setParentCode(String.valueOf(0));
                } else {
                    child.setParentCode(parentCode);
                }
                // 保存数据
                if (areaService.save(child)) {
                    if (!CollectionUtils.isEmpty(child.getDistricts())) {
                        recursion(child.getDistricts(), child.getAdCode());
                    }
                }
            });
    
        }
    }
    
    
    

    10.点我直接下载我弄好的数据。

    展开全文
  • 原标题:广西自治区乡镇行政区划数据 精度1:10万数据简介行政区划是国家为了进行分级管理而实行的区域划分。中国现行六行政区,即省级、地级、县级、乡级、村级、组,其中省、县、乡三为基本行政区。广西自治...

    原标题:广西自治区乡镇行政区划数据 精度1:10万

    数据简介

    行政区划是国家为了进行分级管理而实行的区域划分。中国现行六级行政区,即省级、地级、县级、乡级、村级、组级,其中省、县、乡三级为基本行政区。

    广西自治区,是中国沿海的省级行政区,位于中国南部边疆,简称桂。南濒北部湾,北、东、西三面分别与贵州省、湖南省、广东省、云南省等省相邻。西南与越南毗邻,陆界国境线637公里。辖8地区、5地级市、7县级市、63县、13自治县。

    广西自治区位于东经104°26′-112°04′北纬20°54′-26°24′之间,全区陆地面积约23.66万平方公里。

    ,是结合野外实测资料,同时参照有关地理图件,采用人机交互的方式开展行政区划地图矢量化工作,最终获取广西自治区乡镇区划边界数据。主要包括省市乡、镇、街道矢量边界,精度满足1:10万比例尺要求。

    数据属性

    数据名称:广西自治区乡镇行政区划地图数据

    数据类型:矢量

    数据格式:shp

    分辨率:1:1万

    投影坐标系:wgs84

    覆盖范围:广西市全域

    数据图例

    想要了解广西自治区乡镇行政区划数据技术方面的问题可到查看咨询。

    更多有关、气象气候、生态环境、等地理信息数据、、解决方案、可到官网查看。喜欢我的朋友可以从新浪微博@地理国情监测云平台,玩微信的可以加我微信公众号,搜索"DLGQJC"添加。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 最新 行政区划代码数据库省市区三4331行街道镇乡四44983行到村五678956行2021年1月5日发行版已经同步官方最新数据【民政部行政区划调整批复】省市区全面 标准 权威34个省份 396个城市 3857个区县功能区 特别...
  • 2020年中国全国5级行政区划(省、市、县、镇、村) 链接: GIT_ADDRESS 数据来源 中华人民共和国国家统计局 链接: 数据来源
  • [1/1] 正在抓取位置信息... [1/3317] 当前: 北京市 {"lng":116.39564503787867,"lat":39.92998577808024} [2/3317] 当前: 天津...[5/3317] 当前: 内蒙古自治区 {"lng":114.41586754816612,"lat":43.46823822194904}
  • 国家统计局 2017-05-16 发布的最新2016年统计用区划代码和城乡划分代码(截止2016年07月31日) 收集整理后做成oracle、Mysql数据库脚本,供大家统计、开发参考。 下载后请先看文件说明、版本说明,里面有Mysql版本和...
  • 2019年12月24日最新5级全国行政区划数据库(包括省/市/区县/乡镇/村) 采集于国家统计局发布的最新2019年统计用区划代码和城乡划分代码(截止2019年12月24日) 全部数据720630条记录,这次采集修正了爬虫,绝对包含...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

行政区划5级数据