天地图全国幼儿园数据下载与处理分析

概述

在看天地图服务资源的时候看到有个“幼儿园”的数据,好奇点开看了下,下载下来数据差看了下,数据质量还不错。本篇文章给大家分享一下这个数据的处理以及一些简单的统计分析结果。

数据下载

通过地址https://service.tianditu.gov.cn/#/Detail?mc=幼儿园&id=7495获取数据的信息与下载地址,如下图所示。点击服务地址下载数据。

image.png

数据处理

1. 转换为geojson

上述地址返回的是json格式的数据,如下图所示。

image.png

通过js将其转为geojson。转换代码如下:

class Geojson {
  constructor(features = []) {
    this.type = "FeatureCollection";
    this.features = features;
  }
}

fetch("./yry.json")
  .then((res) => res.json())
  .then((res) => {
    res = res.data.results.map(({ gbcode, geojson, name }) => {
      geojson.properties = { gbcode, name }
      geojson.geometry = {
        type: "Point",
        coordinates: geojson.geometry.coordinates[0]
      }
      return geojson;
    });
    const json = new Geojson(res)
    console.log(JSON.stringify(json))
  });

2. 坐标转换

数据转换后用QGIS打开,并叠加高德地图作为底图,发现数据有些偏移,借助Geohey插件将坐标转换为火星坐标系。

image.png

转换前后位置示意比较图,转换后蓝色的点就跟高德地图的位置就一致了。

image.png

3. 数据处理

将转换后的数据导入到postgis数据库中,并添加provcity两个字段,跟城市面数据进行空间关联,并赋值。

update base_youeryuan set prov = (
	select a.province from base_city a where st_intersects(a.geom, base_youeryuan.geom)  limit 1
), city = (
	select a.name from base_city a where st_intersects(a.geom, base_youeryuan.geom)  limit 1
) where 1=1;

4. 数据分析

先通过省做一个分组统计,统计sql如下:

-- 进行分省统计
select prov, count(1) as num from base_youeryuan 
where prov is not null 
group by prov 
order by num desc; 

统计后的结果如下图,不难看出:1.人后大省的幼儿园比较多;2.幼儿园比较多的省份小朋友比较多,新生儿出生率对应的也会比较高。3.北上的人口比较多,但是幼儿园比较少,说明小孩子比较少,大家生孩子的意愿或积极性明显很低。
image.png

根据省分析完了我们在根据市做一个分组统计,由于市比较多,我们只取了前20作为结果,统计sql如下:

select city, count(1) as num from base_youeryuan 
where city is not null 
group by city
order by num desc;
limit 20;

统计后结果如下图。做个简单的分析:1.重庆依然成为了人口、新生儿第一的城市;2.幼儿园的数量代表着小孩子的多少,在前二十的城市里面,广东有三个城市进入,分别是广州、深圳、湛江,也从另外一个侧面说明了南方人生孩子的意愿比较强。
image.png

**申明:**文章中的的数据和分析仅供教学学习,不代表实际的情况与分析结论。

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 04:16:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 04:16:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 04:16:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 04:16:01       18 阅读

热门阅读

  1. 电子信息工程实践案例分析报告

    2024-03-15 04:16:01       20 阅读
  2. PHP伪协议详解

    2024-03-15 04:16:01       22 阅读
  3. LeetCode(力扣)算法题_2864_最大二进制奇数

    2024-03-15 04:16:01       19 阅读
  4. 2.Linux文件IO基础

    2024-03-15 04:16:01       20 阅读
  5. 查看Linux服务器配置

    2024-03-15 04:16:01       22 阅读
  6. leetcode:反转链表II 和k个一组反转链表的C++实现

    2024-03-15 04:16:01       22 阅读
  7. 网络学习DAY3--TCP并发

    2024-03-15 04:16:01       20 阅读
  8. LeetCode2864. Maximum Odd Binary Number

    2024-03-15 04:16:01       25 阅读
  9. 动态规划 Leetcode 494 目标和

    2024-03-15 04:16:01       20 阅读
  10. 缓存穿透和缓存击穿有什么区别?

    2024-03-15 04:16:01       22 阅读
  11. jsonl文件介绍

    2024-03-15 04:16:01       20 阅读