城市传感器气象数据集

举报
此星光明 发表于 2022/08/24 17:41:24 2022/08/24
【摘要】 ​ 此数据集包含PM2.5,湿度、臭氧和二氧化氮、一氧化碳等。数据集的时间范围为2021年1月1日至现在概述Project Eclipse Network 是一个低成本的城市空气质量传感网络,是微软研究院城市创新小组领导的一个研究项目。该网络于 2021 年 7 月开始部署,通过与芝加哥市、物联网项目、JCDecaux Chicago、环境法律和政策中心以及该市当地环境正义组织的合作。本演讲...

 此数据集包含PM2.5,湿度、臭氧和二氧化氮、一氧化碳等。数据集的时间范围为2021年1月1日至现在

概述

Project Eclipse Network 是一个低成本的城市空气质量传感网络,是微软研究院城市创新小组领导的一个研究项目

该网络于 2021 年 7 月开始部署,通过与芝加哥市、物联网项目、JCDecaux Chicago、环境法律和政策中心以及该市当地环境正义组织的合作。本演讲记录了网络设计和数据校准策略。

存储资源

数据存储在西欧 Azure 区域的 Azure Blob 存储中的Parquethttps://ai4edataeuwest.blob.core.windows.net/eclipse文件中,位于.

在该容器中,定期发生的快照存储在 中chicago/YYYY-MM-DD,其中YYYY-MM-DD对应于快照的日期。

每个快照都包含从文件夹名称 YYYY-MM-DD 上的日期开始的 Parquet 格式的未来 7 天的传感器读数。

许可和归属

请引用:Daepp、Cabral、Ranganathan 等人。(2022) Eclipse:用于城市低成本、超本地环境传感的端到端平台。传感器网络中的 ACM/IEEE 信息处理。意大利米兰。https://www.microsoft.com/en-us/research/uploads/prod/2022/05/ACM_2022-IPSN_FINAL_Eclipse.pdf

接触

有关此数据集的问题,请联系msrurbanops@microsoft.com@microsoft.com

学到更多

Eclipse 项目包含 Microsoft Research 项目 Eclipse的概述。


提供者

城市创新 (生产者、许可者、加工者)微软 (主持人)

空间范围


Location: IL, United States.

Map style: grayscale_light.

地图快捷方式:缩小:连字符。放大:加。向右平移 100 像素:右箭头。向左平移 100 像素:左箭头。向上平移 100 像素:向上箭头。向下平移 100 像素:向下箭头。顺时针旋转 15 度:shift + 右箭头。逆时针旋转 15 度:shift + 左箭头。将俯仰增加 10 度:shift + 向上箭头。将俯仰角减小 10 度:shift + 向下箭头。将焦点跳转到地图:逃生。




时间范围

2021 年 1 月 1 日 – 至今

项目级资产

数据集项目包含以下资产。

标题

STAC 密钥

角色

类型

存储选项

每周数据集
data
数据
镶木地板

帐户名称

ai4edataeuwest

每个表包括以下列。

姓名

描述

类型

城市
部署 Microsoft Eclipse 设备的城市
字节数组
设备ID
给定设备的 ID
整数32
地点名称
描述设备位置的唯一字符串
字节数组
纬度
设备位置的纬度
双倍的
经度
设备位置的经度
双倍的
阅读日期时间UTC
记录 Eclipse 传感器读数时的 UTC 日期时间字符串(如 2022-03-04 20:27:25.000)
整数96
PM25
未校准的细颗粒物 (PM 2.5),单位为 µg/m³
双倍的
校准PM25
校准后的 PM 2.5,单位为 µg/m³
双倍的
湿度
相对湿度
双倍的
O3
ppb 中未校准的臭氧
双倍的
NO2
未校准的二氧化氮(ppb)
双倍的
一氧化碳
PPM 中未校准的一氧化碳 (CO)
双倍的
电池电量
以伏特为单位的设备电池电量
双倍的
百分比电池
设备电池百分比
双倍的
细胞信号
以 dB 为单位的蜂窝信号强度
双倍的

数据集资产

资产

STAC 密钥

描述

角色

内容类型

abfs://eclipse/Chicago/
data
完整的镶木地板数据集
数据
应用程序/x-镶木地板
abfs://items/eclipse.parquet
geoparquet-items
导出为 GeoParquet 格式的集合的 STAC 项目的快照。
静态项目
应用程序/x-镶木地板

Project Eclipse Network是一个低成本的城市空气质量传感网络,是微软研究院城市创新小组领导的一个研究项目。

使用 STAC API

Eclipse 项目数据以一组 parquet 文件的形式分发——每周一个。我们可以使用 STAC API 来搜索特定周的文件。

 代码:

import pystac_client
import planetary_computer

catalog = pystac_client.Client.open(
    "https://planetarycomputer.microsoft.com/api/stac/v1",
)
search = catalog.search(collections=["eclipse"], datetime="2022-03-01")
items = planetary_computer.sign(search.get_all_items())
print(f"Found {len(items)} item")
item = items[0]
item
Found 1 item
<Item id=Chicago-2022-02-27>

We'll load the parquet file with pandas.

import geopandas
import pandas as pd

asset = item.assets["data"]
df = pd.read_parquet(
    asset.href, storage_options=asset.extra_fields["table:storage_options"]
)
df
City DeviceId LocationName Latitude Longitude ReadingDateTimeUTC PM25 CalibratedPM25 Humidity O3 NO2 CO BatteryLevel PercentBattery CellSignal
0 Chicago 2002 State & Garfield (SB) 41.804031 -87.631180 2022-02-27 00:04:04 9.126071 10.39 59.703064 37.728996 142.770187 0.105193 4.143906 91.634804 -83.0
1 Chicago 2002 State & Garfield (SB) 41.793957 -87.631485 2022-02-27 00:09:14 10.927937 11.60 60.223389 40.901974 142.898773 0.114015 4.142812 91.634804 -80.0
2 Chicago 2002 State & Garfield (SB) 41.804031 -87.631180 2022-02-27 00:14:24 10.395282 11.01 60.884094 33.247395 137.301682 0.096386 4.141094 91.634804 -82.0
3 Chicago 2002 State & Garfield (SB) 41.804031 -87.631180 2022-02-27 00:19:33 9.431242 10.61 61.984253 37.036892 130.622101 0.119355 4.142969 91.385475 -81.0
4 Chicago 2002 State & Garfield (SB) 41.793957 -87.631485 2022-02-27 00:24:44 9.648221 10.79 62.377930 36.423344 149.283890 0.125682 4.142344 91.385475 -82.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
195436 Chicago 2212 EPA Springfield Pump Station E 41.909859 -87.722046 2022-03-05 23:34:33 12.480565 14.46 55.670166 40.417656 96.079803 0.252798 4.156719 87.191406 -86.0
195437 Chicago 2212 EPA Springfield Pump Station E 41.909859 -87.722046 2022-03-05 23:39:43 10.866013 13.39 55.938721 44.407310 96.909615 0.249360 4.156719 87.191406 -86.0
195438 Chicago 2212 EPA Springfield Pump Station E 41.909859 -87.722046 2022-03-05 23:44:53 12.153159 14.26 56.143188 37.700886 101.764137 0.254816 4.157187 87.074219 -86.0
195439 Chicago 2212 EPA Springfield Pump Station E 41.909859 -87.722046 2022-03-05 23:50:03 15.439072 16.17 56.408691 28.147001 97.074806 0.242335 4.155937 87.074219 -85.0
195440 Chicago 2212 EPA Springfield Pump Station E 41.909859 -87.722046 2022-03-05 23:55:13 10.189906 12.80 56.704712 34.585629 101.608673 0.238499 4.156250 87.074219 -87.0

195441 rows × 15 columns

# 41.8556863344578, -87.93552154031771
df = df[(df.Longitude > -89) & (df.Longitude < -86)]
len(df)
187943
ts = df.resample("H", on="ReadingDateTimeUTC")[
    ["CalibratedPM25", "Humidity", "O3", "NO2", "CO"]
].mean()
ts.plot(subplots=True, sharex=True, figsize=(12, 12));

 编辑

 该数据集包含了每个传感器的许多观测数据。我们可以通过选择每个传感器的第一个观测值,用地理坐标绘制每个传感器的位置。

代码:

gdf = geopandas.GeoDataFrame(
    df, geometry=geopandas.points_from_xy(df.Longitude, df.Latitude), crs="epsg:4326"
)


gdf[["LocationName", "geometry"]].drop_duplicates(
    subset="LocationName"
).dropna().explore(marker_kwds=dict(radius=8))

编辑 

使用一个命名的聚合,我们可以计算出每个传感器的摘要,并将其绘制在地图上。悬停在标记上可以看到每个传感器的平均校准PM25。 

average_pm25 = geopandas.GeoDataFrame(
    gdf.groupby("LocationName").agg(
        mean_pm25=("CalibratedPM25", "mean"), geometry=("geometry", "first")
    ),
    crs="epsg:4326",
)
average_pm25.explore(
    marker_kwds=dict(radius=10),
)

编辑

 阅读完整的数据集
STAC集合包括一个数据资产,它链接到parquet数据集的根。这可以用来读取所有跨时间的数据。我们将使用Dask来读入数据集。

eclipse = catalog.get_collection("eclipse")
asset = planetary_computer.sign(eclipse.assets["data"])
import dask.dataframe as dd

ddf = dd.read_parquet(
    asset.href, storage_options=asset.extra_fields["table:storage_options"]
)
ddf

Dask DataFrame Structure:

City DeviceId LocationName Latitude Longitude ReadingDateTimeUTC PM25 CalibratedPM25 Humidity O3 NO2 CO BatteryLevel PercentBattery CellSignal
npartitions=44
object int32 object float64 float64 datetime64[ns] float64 float64 float64 float64 float64 float64 float64 float64 float64
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

Dask Name: read-parquet, 44 tasks

​往期推荐:

Google Earth Engine(GEE)——Sentinel-2数据你真的用对了吗?

Google Earth Engine(GEE)—— GRIDMET: 爱达荷大学网格化地表气象数据集

Google Earth Engine——全球陆地冰层空间数据的介绍(内含常见错误)

利用GEE-APP(LT-GEE Time Series Animator)快速实现1984-2021年gif动图的下载

Google Earth Engine APP——不写代码实现影像图例添加和全球底图添加

Google Earth Engine APP——不写代码实现影像图例添加和全球底图添加

Google Earth Engine APP——gee-ui geetemp 前端团队组件库

Google Earth Engine——1980-至今全球50米压力、2 米温度、地表压力数据集

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。