跳转到主要内容

一个用于收集气象/海洋观测的Python库

项目描述

Build_Status

注意:Pyoos是一个非常正在进行中的项目,在1.0版本发布之前应被视为实验性的!

Pyoos旨在满足为通过许多不同网站和web服务公开提供的气象/海洋数据创建高级数据收集库的需求。

Pyoos将收集并解析以下数据服务到Paegan离散几何CDM

通用接口

数据过滤

地理

按经纬度范围过滤

# (minx, miny, maxx, maxy)
collector.filter(bbox=(-74, 30, -70, 38))

时间

从日期时间过滤('start' 参数)

from dateime import dateime, timedelta
collector.filter(start=datetime.utcnow() - timedelta(hours=1))

直到日期时间过滤('end' 参数)

from dateime import dateime
collector.filter(end=datetime.utcnow())

日期时间范围过滤('start' 和 'end' 参数)

from dateime import dateime, timedelta
collector.filter(start=datetime.utcnow - timedelta(hours=24), end=datetime.utcnow())

要素

如何识别独特的要素/站点/对象,这高度依赖于数据提供者。Pyoos 尽力确定您传递的内容。例如,您可以将 WMO ID 传递给 NDBC 收集器,Pyoos 将请求 NDBC SOS 的正确完整 URN。

检索可过滤的唯一要素列表

collector.list_features()

按唯一要素过滤

# Any iterable of strings
collector.filter(features=["21KY-BSW004"])

变量

Pyoos 尽力将任何字符串格式化为实际请求的正确格式。例如,您可以将来自 CF-1.6 的典型标准名称字符串传递给 NDBC 收集器,Pyoos 将将其转换为完整的 MMI URI。

检索可过滤的唯一变量列表

collector.list_variables()

按变量名称过滤

# Any iterable of strings
collector.filter(variables=["sea_water_temperature"])

清除活动过滤器

collector.clear()

过滤链

您可以一起串联多个 filter 调用(它返回一个收集器对象)

collection.filter(bbox=(-74, 30, -70, 38)).filter(end=datetime.utcnow())

您还可以将多个过滤类型组合成一个 filter 调用

collection.filter(bbox=(-74, 30, -70, 38), end=datetime.utcnow())

获取数据

作为 Paegan CDM 对象

collector.collect()

作为提供者的原始响应

collector.raw()

特定功能

每个收集器都可以实现一组特定于该集合的函数。请参阅 Wiki 了解此类功能的说明。

设置

您正在使用 virtualenv,对吗?

  1. 安装 virtualenv-burrito

  2. 创建名为“pyoos-dev”的虚拟环境:mkvirtualenv -p your_python_binary pyoos-dev

  3. 开始使用您的新虚拟环境:workon pyoos-dev

安装

Pyoos 需要 python 2.7.x 并且可在 PyPI 上使用。

安装 Pyoos 的最佳方式是通过 pip

pip install pyoos

Pyoos 需要以下 Python 库,这些库将通过 pip 下载和安装:

  • Paegan>=0.9.9

  • numpy>=1.7.0

  • scipy

  • netCDF4>=1.0.2

  • Shapely>=1.2.15

  • pytz

  • python-dateutil>=1.5

  • OWSLib(通过 pip 从 git 安装 pip install git+http://github.com/geopython/OWSLib.git

  • requests

  • Fiona==0.16.1

  • beautifulsoup4==4.2.1

  • lxml>=3.2.0

如果您的 NetCDF4 和 HDF5 库位于非常规位置,您需要将这些位置传递给 pip 命令

NETCDF4_DIR=path HDF5_DIR=path pip install pyoos

通过 pip 依赖链安装 numpy 似乎存在问题,因此您可能需要在执行上述操作之前安装 numpy

pip install numpy==1.7.0

路线图

  • 开发标准元数据概念,可能通过 SensorML 和/或 ISO 19115-2 实现

用例

提交您的用例 PR!

故障排除

Pyoos有一个谷歌群组邮件列表:https://groups.google.com/forum/#!forum/pyoos

如果您在使用Pyoos的任何功能时遇到问题,请尝试运行测试

git clone git@github.com:asascience-open/pyoos.git
cd pyoos
python setup.py test

贡献者

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

pyoos-0.8.4.tar.gz (43.3 kB 查看哈希值)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面