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

2024-03-14 23:36

本文主要是介绍天地图全国幼儿园数据下载与处理分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

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

数据下载

通过地址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

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

这篇关于天地图全国幼儿园数据下载与处理分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810075

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T