气候数据API接口-openmeteo

气候数据API接口-openmeteo

专用API
服务商 服务商: open-meteo
【更新时间: 2024.07.18】 Open-Meteo Climate API提供高分辨率气候模型数据,支持10公里精度,源自IPCC CMIP6项目。该服务帮助用户分析区域气候,评估气候变化对农业和公共卫生等领域的影响。
服务星级:2星
⭐ ⭐ 🌟 🌟 🌟 🌟 🌟
调用次数
0
集成人数
0
商用人数
0
! SLA: N/A
! 响应: N/A
! 适用于个人&企业
收藏
×
完成
取消
×
书签名称
确定
<
产品介绍
>

什么是openmeteo的气候数据API接口?

Open-Meteo Climate API 提供了基于区域的气候模型数据,这些模型的分辨率高达20公里,是IPCC CMIP6项目的一部分。该API将数据细化到10公里分辨率,允许用户获取区域而非大陆级别的气候数据。这些数据可用于比较不同的气候模型,识别气候变化影响的脆弱区域,或评估气候变化对特定领域(如农业或公共卫生)的影响。

什么是openmeteo的气候数据API接口?

由服务使用方的应用程序发起,以Restful风格为主、通过公网HTTP协议调用openmeteo的气候数据API接口,从而实现程序的自动化交互,提高服务效率。

openmeteo的气候数据API接口有哪些核心功能?

  1. 多模型数据集成:提供来自不同气候模型的数据,允许用户比较和分析不同模型的预测。

  2. 高分辨率数据:将气候数据缩小至10公里分辨率,提供比传统气候模型更精细的区域气候信息。

  3. 历史和预测数据:覆盖1950年至2050年的每日天气变量数据,包括历史气候数据和未来气候预测。

  4. 定制化查询:用户可以指定地理位置坐标、时间间隔和感兴趣的天气变量,进行定制化的数据检索。

  5. 多种数据变量:提供广泛的天气变量,包括温度、风速、云量、相对湿度、降水量、土壤湿度等。

openmeteo的气候数据API接口的核心优势是什么?

本地和全球模型

Open-Meteo 汇集了来自著名国家气象服务机构的尖端本地(1 公里分辨率)和全球(11 公里)天气模型。这意味着您可以获得全球任何地点最准确的预报。

国家气象服务机构包括 Deutscher Wetter Dienst (DWD)、国家海洋和大气管理局 (NOAA)、Meteofrance 和加拿大气象中心 (CMC)。

高分辨率

Open-Meteo API 旨在为您提供您所在位置最精确的天气信息。我们选择最高分辨率的天气模型,确保为您的特定区域提供详细的预报。如果您在欧洲或美国,我们会利用令人印象深刻的 1-2 公里高分辨率模型来获得更高的精度。

我们的 API 每小时提供 7 天的天气预报数据。预测的前 2-3 天是使用高分辨率模型计算的,为您提供详细的预测。此后,全球天气模型开始发挥作用。这种无缝集成可以为未来一周提供简单而可靠的每小时预测。

每小时更新

在 Open-Meteo,我们了解最新天气信息的重要性。这就是为什么我们的本地 1 公里分辨率模型每小时更新一次,以确保我们的预测始终是最新且准确的。

为了向您提供可靠的预测,我们的天气模型结合了实时测量、飞机数据、浮标、雨雷达和卫星观测。这些信息来源有助于提高我们数值天气预报的准确性,为您提供有关您所在位置的最可靠的数据。

80年历史数据

借助我们的历史天气 API,您可以访问 80 多年的每小时天气数据,覆盖地球上的任何位置,分辨率均为 10 公里。这个广泛的数据集允许您深入研究过去并分析历史天气模式。

不仅如此,我们的 API 还会持续存档数据,确保您可以无缝检索最新的预测,同时还可以访问过去数周的数据。这对于训练机器学习应用程序和从历史天气趋势中获取洞察尤其有价值。

专业预测

在 Open-Meteo,我们超越标准天气预报。除了提供温度、云和降雨的预测外,我们还提供一系列特殊因素的详细预测。其中包括太阳辐射、高海拔风、蒸腾作用、土壤湿度、土壤温度、波浪和空气质量。

无论您是规划太阳能项目、评估风况还是监测环境因素,我们的专业预测都能满足您的需求。深入了解对您最重要的天气的具体方面。

地理编码、海拔、时区

借助我们的实用程序 API 集合,您可以轻松处理各种任务。需要查找城市名称的精确坐标?我们的地理编码 API 可以帮助您将城市名称解析为坐标。

想知道特定点的海拔高度吗?我们的海拔 API 为您提供准确的海拔数据,让您轻松规划活动或分析地形。

当涉及到管理时区时,我们的 API 可以自动解析各自时区的坐标。告别与时区相关的麻烦,并确保您的应用程序和系统始终同步。

在哪些场景会用到openmeteo的气候数据API接口?

户外活动

登山、飞行等户外活动爱好者和组织可以根据精准的天气预报规避风险。

农业

为农业提供关键的气象数据,帮助农民做出种植、灌溉和收获的决策。

环境监测与保护

监测气候变化对生态系统的影响,评估环境风险和制定保护措施。

建筑与工程

在建筑设计和施工计划中考虑气候因素,确保建筑的耐久性和能效。

航海

提供海洋天气预报,帮助航海者规划航线,避免风暴和其他危险天气。

旅行规划

帮助旅行规划应用利用精确的天气预报来帮助用户制定行程,避开恶劣天气。

<
产品价格
>

非商业用途免费

Open-Meteo API 对于非商业用途是免费的。我们不限制访问,但要求合理使用和归属。

请确保您的每日请求量保持在 10,000 以下。请注意,我们保留阻止滥用我们服务的应用程序和 IP 地址的权利。如需更多信息,请参阅条款和条件

<
使用指南
>

API响应

示例代码自动应用上面选择的所有参数。它包括缓存和到 Pandas DataFrame 的转换。 DataFrame 的使用完全是可选的。您可以在Python API 客户端文档中找到更多详细信息和示例。

Python

安装

pip install openmeteo-requests
pip install requests-cache retry-requests numpy pandas

用法

import openmeteo_requests

import requests_cache
import pandas as pd
from retry_requests import retry

# Setup the Open-Meteo API client with cache and retry on error
cache_session = requests_cache.CachedSession('.cache', expire_after = 3600)
retry_session = retry(cache_session, retries = 5, backoff_factor = 0.2)
openmeteo = openmeteo_requests.Client(session = retry_session)

# Make sure all required weather variables are listed here
# The order of variables in hourly or daily is important to assign them correctly below
url = "https://climate-api.open-meteo.com/v1/climate"
params = {
	"latitude": 52.52,
	"longitude": 13.41,
	"start_date": "1950-01-01",
	"end_date": "2050-12-31",
	"models": ["CMCC_CM2_VHR4", "FGOALS_f3_H", "HiRAM_SIT_HR", "MRI_AGCM3_2_S", "EC_Earth3P_HR", "MPI_ESM1_2_XR", "NICAM16_8S"]
}
responses = openmeteo.weather_api(url, params=params)

# Process first location. Add a for-loop for multiple locations or weather models
response = responses[0]
print(f"Coordinates {response.Latitude()}°N {response.Longitude()}°E")
print(f"Elevation {response.Elevation()} m asl")
print(f"Timezone {response.Timezone()} {response.TimezoneAbbreviation()}")
print(f"Timezone difference to GMT+0 {response.UtcOffsetSeconds()} s")

JSON 返回对象

成功后将返回 JSON 对象。请注意:生成的 JSON 大小可能有多个兆字节。

{
  "latitude": 52.52,
  "longitude": 13.419,
  "generationtime_ms": 2.2119,
  "timezone": "Europe/Berlin",
  "timezone_abbreviation": "CEST",
  "daily": {
    "time": ["2022-07-01", "2022-07-01", "2022-07-01", ...],
    "temperature_2m_max": [13, 12.7, 12.7, 12.5, 12.5, 12.8, ...]
  },
  "daily_units": {
    "temperature_2m": "°C"
  },
}

错误

如果发生错误,例如未正确指定 URL 参数,则会返回带有 HTTP 400 状态代码的 JSON 错误对象。

{

  "error": true,
  "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly"
}

 

详细指南https://open-meteo.com/en/docs/climate-api#daily=

<
产品问答
>
?
订阅流程如何进行? 。
要订阅,您可以通过单击上面的订阅按钮使用信用卡进行注册。完成订阅后,您将立即收到 API 密钥和 PDF 发票。此 API 密钥允许您访问客户的专用 API 实例。如果您希望取消订阅,您可以随时通过客户门户取消订阅
?
如果我超过每月通话量会怎样?
如果您接近每月通话量的 80%、90% 或 100%,您将收到电子邮件通知以随时了解情况。但是,由于提供的 API 调用数量充足,您不太可能达到此限制。
?
免费 API 与客户 API 的区别是什么?。
每个人都可以出于非商业目的访问免费 API,并且不附带任何服务保证。另一方面,客户API专为商业用途而设计,提供专用的API服务器实例,以确保足够的资源和可靠的API性能。 为了区分两者,客户 API 使用不同的域,例如customer-api.open-meteo.com 并在 URL 中包含 API 密钥,表示为&apikey=abc123。除了这些变化之外,客户 API 的语法与免费 API 保持相同
?
使用标准API计划我可以使用历史、气候和集合数据吗?
对历史、气候和集合数据的访问仅限于专业API方案。如果您有兴趣利用这些数据,您可以通过访问 客户门户轻松升级您的订阅
?
一个API调用是如何定义的?
通常,一个 API 调用对应一个 HTTP API 请求。但是,如果您同时选择 200 个天气变量并大量使用 API,则 API 调用次数可能会增加。因此,涉及超过 10 个天气变量或超过 7 天的数据的 API 查询将被视为不仅仅是一次 API 调用。 为了准确计算 API 调用次数,使用小数计数。例如,15 个天气变量计为 1.5 个 API 调用,而 4 周的天气数据计为 3.0 个 API 调用。 这种区别对于同时开发多个位置的 API 等未来功能至关重要。
?
是否需要提供 Open-Meteo 的归属?
Open-Meteo 依赖于Attribution 4.0 International (CC BY 4.0)授权的开放数据。该许可证要求给予适当的信用并表明对数据所做的任何修改。虽然您可以使用和分发数据(包括用于商业目的),但本许可证要求注明归属。欲了解更多信息,请参阅许可证页面。
<
关于我们
>
Open-Meteo是一家提供开源天气API的公司,专注于为非商业用途提供免费访问,无需API密钥。该公司与国家气象服务合作,提供高分辨率的开放数据,覆盖全球范围,精确度从1公里到11公里不等。Open-Meteo的API智能选择最适合特定地点的气象模型,确保提供准确可靠的天气预报。用户可以通过简洁易用的JSON API获取天气数据,无论是开发应用程序还是个人使用,都能轻松集成和访问所需信息。此外,Open-Meteo还提供80年的历史气象数据,支持机器学习和深入气候分析。公司代码库在GitHub上开放,鼓励社区贡献和透明度。
联系信息
服务时间: 0点-24点
邮箱: info@open-meteo.com。

我们的核心理念是,每个人都应该免费获得天气信息。这就是我们在开放数据上构建天气 API 的原因 - 让所有人都能无障碍地访问它。我们的敬业开发人员和天气专家团队孜孜不倦地工作,以确保我们的 API 准确、可靠且易于使用。

我们了解天气信息在日常生活中的重要性。从计划周末度假到做出关键业务决策,准确和最新的天气数据可能是成功与失败的区别。我们的 API 以各种格式提供天气数据,使开发人员和企业可以轻松地将天气数据集成到他们的应用程序和服务中。

我们的目标是让每个人都可以访问天气数据 - 从爱好者和初创公司到大公司和政府机构。无论您需要个人还是专业用途的天气信息,我们的 API 都能满足您的需求。我们不断添加新功能并改进我们的 API,以更好地为用户服务。

感谢您选择我们的天气 API。我们期待为您提供最准确、最可靠的天气信息。

<
最可能同场景使用的其他API
>
API接口列表
<
产品价格
>

非商业用途免费

Open-Meteo API 对于非商业用途是免费的。我们不限制访问,但要求合理使用和归属。

请确保您的每日请求量保持在 10,000 以下。请注意,我们保留阻止滥用我们服务的应用程序和 IP 地址的权利。如需更多信息,请参阅条款和条件

<
使用指南
>

API响应

示例代码自动应用上面选择的所有参数。它包括缓存和到 Pandas DataFrame 的转换。 DataFrame 的使用完全是可选的。您可以在Python API 客户端文档中找到更多详细信息和示例。

Python

安装

pip install openmeteo-requests
pip install requests-cache retry-requests numpy pandas

用法

import openmeteo_requests

import requests_cache
import pandas as pd
from retry_requests import retry

# Setup the Open-Meteo API client with cache and retry on error
cache_session = requests_cache.CachedSession('.cache', expire_after = 3600)
retry_session = retry(cache_session, retries = 5, backoff_factor = 0.2)
openmeteo = openmeteo_requests.Client(session = retry_session)

# Make sure all required weather variables are listed here
# The order of variables in hourly or daily is important to assign them correctly below
url = "https://climate-api.open-meteo.com/v1/climate"
params = {
	"latitude": 52.52,
	"longitude": 13.41,
	"start_date": "1950-01-01",
	"end_date": "2050-12-31",
	"models": ["CMCC_CM2_VHR4", "FGOALS_f3_H", "HiRAM_SIT_HR", "MRI_AGCM3_2_S", "EC_Earth3P_HR", "MPI_ESM1_2_XR", "NICAM16_8S"]
}
responses = openmeteo.weather_api(url, params=params)

# Process first location. Add a for-loop for multiple locations or weather models
response = responses[0]
print(f"Coordinates {response.Latitude()}°N {response.Longitude()}°E")
print(f"Elevation {response.Elevation()} m asl")
print(f"Timezone {response.Timezone()} {response.TimezoneAbbreviation()}")
print(f"Timezone difference to GMT+0 {response.UtcOffsetSeconds()} s")

JSON 返回对象

成功后将返回 JSON 对象。请注意:生成的 JSON 大小可能有多个兆字节。

{
  "latitude": 52.52,
  "longitude": 13.419,
  "generationtime_ms": 2.2119,
  "timezone": "Europe/Berlin",
  "timezone_abbreviation": "CEST",
  "daily": {
    "time": ["2022-07-01", "2022-07-01", "2022-07-01", ...],
    "temperature_2m_max": [13, 12.7, 12.7, 12.5, 12.5, 12.8, ...]
  },
  "daily_units": {
    "temperature_2m": "°C"
  },
}

错误

如果发生错误,例如未正确指定 URL 参数,则会返回带有 HTTP 400 状态代码的 JSON 错误对象。

{

  "error": true,
  "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly"
}

 

详细指南https://open-meteo.com/en/docs/climate-api#daily=

<
依赖服务
>
<
产品问答
>
?
订阅流程如何进行? 。
要订阅,您可以通过单击上面的订阅按钮使用信用卡进行注册。完成订阅后,您将立即收到 API 密钥和 PDF 发票。此 API 密钥允许您访问客户的专用 API 实例。如果您希望取消订阅,您可以随时通过客户门户取消订阅
?
如果我超过每月通话量会怎样?
如果您接近每月通话量的 80%、90% 或 100%,您将收到电子邮件通知以随时了解情况。但是,由于提供的 API 调用数量充足,您不太可能达到此限制。
?
免费 API 与客户 API 的区别是什么?。
每个人都可以出于非商业目的访问免费 API,并且不附带任何服务保证。另一方面,客户API专为商业用途而设计,提供专用的API服务器实例,以确保足够的资源和可靠的API性能。 为了区分两者,客户 API 使用不同的域,例如customer-api.open-meteo.com 并在 URL 中包含 API 密钥,表示为&apikey=abc123。除了这些变化之外,客户 API 的语法与免费 API 保持相同
?
使用标准API计划我可以使用历史、气候和集合数据吗?
对历史、气候和集合数据的访问仅限于专业API方案。如果您有兴趣利用这些数据,您可以通过访问 客户门户轻松升级您的订阅
?
一个API调用是如何定义的?
通常,一个 API 调用对应一个 HTTP API 请求。但是,如果您同时选择 200 个天气变量并大量使用 API,则 API 调用次数可能会增加。因此,涉及超过 10 个天气变量或超过 7 天的数据的 API 查询将被视为不仅仅是一次 API 调用。 为了准确计算 API 调用次数,使用小数计数。例如,15 个天气变量计为 1.5 个 API 调用,而 4 周的天气数据计为 3.0 个 API 调用。 这种区别对于同时开发多个位置的 API 等未来功能至关重要。
?
是否需要提供 Open-Meteo 的归属?
Open-Meteo 依赖于Attribution 4.0 International (CC BY 4.0)授权的开放数据。该许可证要求给予适当的信用并表明对数据所做的任何修改。虽然您可以使用和分发数据(包括用于商业目的),但本许可证要求注明归属。欲了解更多信息,请参阅许可证页面。
<
关于我们
>
Open-Meteo是一家提供开源天气API的公司,专注于为非商业用途提供免费访问,无需API密钥。该公司与国家气象服务合作,提供高分辨率的开放数据,覆盖全球范围,精确度从1公里到11公里不等。Open-Meteo的API智能选择最适合特定地点的气象模型,确保提供准确可靠的天气预报。用户可以通过简洁易用的JSON API获取天气数据,无论是开发应用程序还是个人使用,都能轻松集成和访问所需信息。此外,Open-Meteo还提供80年的历史气象数据,支持机器学习和深入气候分析。公司代码库在GitHub上开放,鼓励社区贡献和透明度。
联系信息
服务时间: 0点-24点
邮箱: info@open-meteo.com。

我们的核心理念是,每个人都应该免费获得天气信息。这就是我们在开放数据上构建天气 API 的原因 - 让所有人都能无障碍地访问它。我们的敬业开发人员和天气专家团队孜孜不倦地工作,以确保我们的 API 准确、可靠且易于使用。

我们了解天气信息在日常生活中的重要性。从计划周末度假到做出关键业务决策,准确和最新的天气数据可能是成功与失败的区别。我们的 API 以各种格式提供天气数据,使开发人员和企业可以轻松地将天气数据集成到他们的应用程序和服务中。

我们的目标是让每个人都可以访问天气数据 - 从爱好者和初创公司到大公司和政府机构。无论您需要个人还是专业用途的天气信息,我们的 API 都能满足您的需求。我们不断添加新功能并改进我们的 API,以更好地为用户服务。

感谢您选择我们的天气 API。我们期待为您提供最准确、最可靠的天气信息。

<
最可能同场景使用的其他API
>