2021SC@SDUSC 项目实训-气象数据获取

2023-11-06 01:50

本文主要是介绍2021SC@SDUSC 项目实训-气象数据获取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2021SC@SDUSC

文章目录

  • 一、数据来源
  • 二、数据的获取


一、数据来源

根据对相关内容论文的阅读[1] Yu Zheng, Furui Liu, Hsun-Ping Hsie. U-Air: When Urban Air Quality Inference Meets Big Data. 19th SIGKDD conference on Knowledge Discovery and Data Mining (KDD 2013).
[2] Yu Zheng, Xuxu Chen, Qiwei Jin, Yubiao Chen, Xiangyun Qu, Xin Liu, Eric Chang, Wei-Ying Ma, Yong Rui, Weiwei Sun. A Cloud-Based Knowledge Discovery System for Monitoring Fine-Grained Air Quality. MSR-TR-2014-40.
[3]Yu Zheng, Xiuwen Yi, Ming Li, Ruiyuan Li, Zhangqing Shan, Eric Chang, Tianrui Li. Forecasting Fine-Grained Air Quality Based on Big Data. In the Proceeding of the 21th SIGKDD conference on Knowledge Discovery and Data Mining (KDD 2015).
结合实际情况,我计划从多种渠道获取数据来源。初步计划包括但不限于AQI实时数据,天气相关数据(风速,温度,气压,湿度),路网数据(路网密度),poi(Point of Interest兴趣点)。

二、数据的获取

本文介绍气象相关信息的获取,首先要注意到的一个关键问题就是必须要有足够的访问量!!!
否则没办法撑起项目的运行(项目的运行必须需要每小时大量气象数据的获取),在网上多方查找,找到一个比较适合的网站:https://openweathermap.org/api。经过注册成为开发者用户可以提升权限,大概允许访问量如下。还是可以基本满足项目规模需要。
在这里插入图片描述
所需要访问的API接口地址如下https://openweathermap.org/current。感兴趣的可以自己去看,可以返回非常多类型种类的气象数据,粒度也足够细,使用起来应该比较好。
下面附可以批量访问的代码。

from urllib.parse import urlencode
import random
import requests
import traceback
from time import sleep
from lxml import etree
import pandas as pd
import datetime
import json
import jsonfrom AirDeploy import settings
headers = {
输入自己的请求头,其实没有也行,这种API网址随便跑的}
points=pd.read_csv('allPos',sep='\t',header=None)#批量给出经纬度import pandas as pd
data = pd.DataFrame(data=None,columns=['temperature','humidity','windspeed'])
for i in range(len(points)):X = str(points.loc[i,0])Y = str(points.loc[i,1])url1 = 'https://api.openweathermap.org/data/2.5/weather?lat='lat = str(Y)#print(lat)url2 = '&lon='lon = str(X)url3 = '&appid=你的key'url = url1 + lat + url2 + lon + url3response = requests.request("POST",url, headers = headers)#print(response)re = response.content.decode('utf-8')jsonData = json.loads(re)#print(jsonData)data.loc[i] = [jsonData['main']['temp'], jsonData['main']['humidity'],jsonData['wind']['speed']]
data.to_csv('./input/weather.csv',index=False)

这里注意获取到的数据格式其实是json形式的,我们通过json.loads()完成编码就可以轻松通过索引访问。

这篇关于2021SC@SDUSC 项目实训-气象数据获取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地