ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Open-Meteo 自托管天气 API 完整指南:免 API Key 的免费预报与历史数据方案

Open-Meteo 自托管天气 API 完整指南:免 API Key 的免费预报与历史数据方案 Open-Meteo 自托管天气 API 完整指南免 API Key 的免费预报与历史数据方案【免费下载链接】open-meteoFree Weather Forecast API for non-commercial use项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo接天气数据时被需要 API Key卡住过吗Open-Meteo 是一个开源天气 API免 Key、非商业用途免费提供 16 天逐小时预报、80 年历史数据、空气质量与海洋数据。如果你是想低成本接入气象数据的开发者或研究者这篇指南就是为你写的。项目速览Open-Meteo 是一个自托管的天气 API 服务器它从各国气象机构下载原始预报转成自研的.om二进制时序压缩格式再对外提供/v1/forecast等查询接口。非商业用途免费无需 API Key支持 CORS无广告、无追踪、无 Cookie最长 16 天逐小时预报全球模型 11 km 分辨率区域模型最细到 1.5 km80 年历史天气ERA5 再分析另有空气质量、海洋、地理编码、高程等 API数据采用 CC BY 4.0 许可源码采用 AGPLv3Swift Vapor 编写编译成单个二进制为什么值得用4 个具体好处免 Key 直接调。传统商业天气接口要先注册、申请 Key、看配额。这里一条curl http://127.0.0.1:8080/v1/forecast?latitude47.1longitude8.4hourlytemperature_2m就拿到数据开发阶段零审批流程。多模型一次请求。同一条查询里用models参数切换或对比 DWD ICON、NOAA GFS、ECMWF IFS、MeteoFrance 等模型官方文档给出的响应时间在 10 毫秒以内。自托管不用搬全量模型。设好REMOTE_DATA_DIRECTORY后服务直接读 AWS 上的开源气象数据库并在本地做 LRU 缓存CACHE_SIZE默认 10GB首次启动无需自己下载 TB 级原始预报。自托管本身免费。AGPLv3 允许你商用场景自建需遵守开源条款配合 docs/sync-command.md 还能把数据库在多台机器间同步。上手体验Docker 三步跑起来我按 docs/getting-started.md 走了一遍三步docker volume create --name open-meteo-data docker run -d --rm --name open-meteo \ -v open-meteo-data:/app/data \ -e REMOTE_DATA_DIRECTORYhttps://openmeteo.s3.amazonaws.com/data/ \ -e CACHE_SIZE8GB \ -p 127.0.0.1:8080:8080 \ ghcr.io/open-meteo/open-meteo curl http://127.0.0.1:8080/v1/forecast?latitude47.1longitude8.4modelsecmwf_ifs025hourlytemperature_2m实际感受第一次curl要等几秒冷缓存从远端拉数据之后同坐标、邻近坐标的请求就快了。服务大约每 2 分钟检查一次远端数据更新并预加载变化。仓库里也带了docker-compose.ymldocker compose up -d效果相同。硬件上需要 8GB 起步建议 16GB内存、至少 100GB 存储NVMe SSD 体验最好。功能展示3 个真实场景场景 1天气 App 要 16 天逐小时预报痛点自己拉原始 GRIB 文件要处理网格、投影、二进制解码工作量巨大。Open-Meteo 的解法/v1/forecast直接按经纬度返回hourlytemperature_2m,relative_humidity_2m按需选变量models指定dwd_icon欧洲 2 km 级 ICON 区域模型、ncep_gfs025、ecmwf_ifs025等。你得到一次请求拿到多模型 16 天小时数据欧洲和北美模型每小时更新。场景 2科研回溯需要历史数据痛点气候分析要自己去 Copernicus 申请再分析数据并对齐格式。解法Historical Weather API 基于 ERA5覆盖过去 80 年想自托管的话download-era5命令可拉取注意每年约 60GB 磁盘占用且需要 CDS API Key。你得到可直接查询的长期温度、降水序列省掉数据清洗环节。场景 3空气质量与海洋数据痛点PM2.5、臭氧、浪高分散在 CAMS、各国海洋模型等不同来源。解法Air Quality API 与 Marine Forecast API 用同一套参数风格输出含空气质量指数、波高、风向等变量定义见 openapi/ 目录下的air-quality.yml、marine.yml。你得到一个接口风格覆盖天气之外的变量不用逐家对接。项目布局导读读源码从哪入手Sources/App/Controllers//v1/forecast入口与 JSON/CSV/XLSX/FlatBuffers 等输出格式的实现Sources/App/Commands/sync、download-gfs、download-era5等下载与多节点同步命令Sources/App/Icon/、Sources/App/Ecmwf/、Sources/App/Gfs/按气象机构分目录一个机构一个模块Sources/OmFileIO/.om数据格式的读写层含 LRU 缓存与 HTTP/S3 后端docs/自托管、模型下载、cron 任务与多节点部署的操作手册适合谁、不适合谁适合个人开发者与开源项目免费、免 Key、非商业直接用想自建气象数据库并做多节点部署的团队想研究高性能数据服务的工程师SIMD 优化、自研文件格式测试集中在 Tests/AppTests/不适合商业用途需要联系官方获取授权日请求量超过 10,000 次的应用官方公平使用条款要求提前联系单用户低频场景自托管冷缓存时一次请求要读数百个压缩文件、耗时数秒比官方免费 API 慢拿不到数据凭证又想自托管全量数据ERA5 需 CDS KeyECMWF IFS 存档有授权费用JMA、CMA、BOM 的访问信息不公开最后Open-Meteo 的价值在于把接一个气象 API这件事拆成了两个都能低门槛完成的选项要么直接用官方免费端点要么用 Docker 一条命令自建实例。建议你先用上面的curl看看数据格式是否满足需求再决定是否按 docs/getting-started.md 部署自己的版本。去 GitHub 上看仓库、点个 Star遇到问题提 issue 或贡献代码都受欢迎——这是它文档里明确写着的。【免费下载链接】open-meteoFree Weather Forecast API for non-commercial use项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表