Python:如何批量下载CLMS NDVI V3数据集?
01 说明
1.1 产品和API说明
如果只是小批量下载,直接使用Copernicus Broswer或者下载或许更为方便,具体网址见:
Copernicus Broswer:https://browser.dataspace.copernicus.eu/
Land-Copernicus Broswer:https://land.copernicus.eu/en/map-viewer
我所下载的NDVI产品是:Normalised Difference Vegetation Index 1999-2020 (raster 1 km), global, 10-daily – version 3(在上述网址均可检索到),全球范围.
具体产品信息说明见:https://land.copernicus.eu/en/products/vegetation/normalised-difference-vegetation-index-v3-0-1km
关于该数据集的API信息见: https://land.copernicus.eu/api/en/products/vegetation/normalised-difference-vegetation-index-v3-0-1km
关于CLMS API使用的官方脚本示例(使用的应是官方库terracatalogueclient,但底层应是调用CLMS API)见:https://land.copernicus.eu/en/technical-library/bulk-download-clms-data
关于CLMS API的官方文档(非terracatalogueclient的使用文档):https://eea.github.io/clms-api-docs/download.html
CLMS涉及的所有数据集(2025/8/30查询)见附录(title | collection_id, 若使用terracatalogueclient库下载可用于检索查看)。
目前(2025/8/30)下载CLMS NDVI V3数据集无需token等密钥, 故此处创建密钥步骤略.
1.2 其他说明
由于下载需求为全球范围、时间范围为2000-2020年。因此代码中没有涉及覆盖范围参数的选取(不清楚对于全球是否会进行云处理裁剪之后返回)。
02 代码
from datetime import date
from terracatalogueclient import Catalogue
from terracatalogueclient.config import CatalogueConfig, CatalogueEnvironment
# 准备
config = CatalogueConfig.from_environment(CatalogueEnvironment.CGLS) # 创建默认配置(默认配置无需API认证例如账户和密钥)
catalogue = Catalogue(config) # 实例化CLMS数据集目录
out_dir = r'F:\PyProJect\veg_growing_mountain\Src\Download\NDVI_V3_2010_DOWNLOADS' # 输出目录
start_date = date(2000, 1, 1) # 检索的起始日期
end_date = date(2020, 12, 31) # 检索的终止日期
collection_id = "clms_global_ndvi_1km_v3_10daily_geotiff" # 通过下方的c.id获取
# 打印所有的数据集合的标题和id(id用于下方的collection参数), 用时较长
for c in list(catalogue.get_collections()):
print("{} | {}".format(c.properties.get("title"), c.id))
# 数据集下载(Normalised Difference Vegetation Index 1999-2020 (raster 1 km), global, 10-daily – version 3)
products = list(catalogue.get_products(
collection_id, # 填入数据集id
start=start_date,
end=end_date,
# 如需要限制覆盖范围指定bbox=(west, south, east, north)
))
# 下载检索到的数据集
catalogue.download_products(products, out_dir) # 输入y确认下载
03 附录
CLMS涉及的所有数据集(2025/8/30查询):
| Title | Colleciton ID |
|---|---|
| Burnt Area: global daily (raster 300m) | clms_global_ba_300m_v3_daily_geotiff |
| Burnt Area: global daily (raster 300m) | clms_global_ba_300m_v3_daily_netcdf |
| Burnt Area: global monthly (raster 300m) | clms_global_ba_300m_v3_monthly_geotiff |
| Burnt Area: global monthly (raster 300m) | clms_global_ba_300m_v3_monthly_netcdf |
| Dry Matter Productivity: global 10-daily (raster 1km) | clms_global_dmp_1km_v2_10daily_geotiff |
| Dry Matter Productivity: global 10-daily (raster 1km) | clms_global_dmp_1km_v2_10daily_netcdf |
| Dry Matter Productivity: global 10-daily (raster 300m) | clms_global_dmp_300m_v1_10daily_geotiff |
| Dry Matter Productivity: global 10-daily (raster 300m) | clms_global_dmp_300m_v1_10daily_netcdf |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fapar_1km_v1_10daily_geotiff |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fapar_1km_v1_10daily_netcdf |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fapar_1km_v2_10daily_geotiff |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fapar_1km_v2_10daily_netcdf |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 300m) | clms_global_fapar_300m_v1_10daily_geotiff |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 300m) | clms_global_fapar_300m_v1_10daily_netcdf |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fcover_1km_v1_10daily_geotiff |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fcover_1km_v1_10daily_netcdf |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fcover_1km_v2_10daily_geotiff |
| Fraction of Absorbed Photosynthetically Active Radiation: global 10-daily (raster 1km) | clms_global_fcover_1km_v2_10daily_netcdf |
| Fraction of Vegetation Cover: global 10-daily (raster 300m) | clms_global_fcover_300m_v1_10daily_geotiff |
| Fraction of Vegetation Cover: global 10-daily (raster 300m) | clms_global_fcover_300m_v1_10daily_netcdf |
| Gross Dry Matter Productivity: global 10-daily (raster 1km) | clms_global_gdmp_1km_v2_10daily_geotiff |
| Gross Dry Matter Productivity: global 10-daily (raster 1km) | clms_global_gdmp_1km_v2_10daily_netcdf |
| Gross Dry Matter Productivity: global 10-daily (raster 300m) | clms_global_gdmp_300m_v1_10daily_geotiff |
| Gross Dry Matter Productivity: global 10-daily (raster 300m) | clms_global_gdmp_300m_v1_10daily_netcdf |
| Gross Primary Productivity: global 10-daily (raster 300m) | clms_global_gpp_300m_v1_10daily_geotiff |
| Gross Primary Productivity: global 10-daily (raster 300m) | clms_global_gpp_300m_v1_10daily_netcdf |
| Leaf Area Index: global 10-daily (raster 1km) | clms_global_lai_1km_v1_10daily_geotiff |
| Leaf Area Index: global 10-daily (raster 1km) | clms_global_lai_1km_v1_10daily_netcdf |
| Leaf Area Index: global 10-daily (raster 1km) | clms_global_lai_1km_v2_10daily_geotiff |
| Leaf Area Index: global 10-daily (raster 1km) | clms_global_lai_1km_v2_10daily_netcdf |
| Leaf Area Index: global 10-daily (raster 300m) | clms_global_lai_300m_v1_10daily_geotiff |
| Leaf Area Index: global 10-daily (raster 300m) | clms_global_lai_300m_v1_10daily_netcdf |
| Dynamic Land Cover 2015-2019: global annual (raster 100m) - version 3 | clms_global_lcc_100m_v3_yearly_geotiff |
| Lake Ice Extent: Baltic daily (raster 250 m) | clms_global_lie_250m_v1_daily_netcdf |
| Lake Ice Extent: Continental Europe daily (raster 250 m) | clms_global_lie_250m_v2_daily_netcdf |
| Lake Ice Extent: Europe daily (raster 500 m) | clms_global_lie_500m_v1_daily_netcdf |
| Lake Ice Extent: Global daily (raster 500 m), version 2 | clms_global_lie_500m_v2_daily_netcdf |
| Land Surface Phenology: global yearly (raster 300m) | clms_global_lsp_300m_v1_yearly_geotiff |
| Land Surface Temperature: global 10-daily Daily Cycle (raster 5km) | clms_global_lst_5km_v1_10daily-daily-cycle_geotiff |
| Land Surface Temperature: global 10-daily Daily Cycle (raster 5km) | clms_global_lst_5km_v1_10daily-daily-cycle_netcdf |
| Land Surface Temperature: global 10-daily Thermal Condition Index (raster 5km) | clms_global_lst_5km_v1_10daily-tci_geotiff |
| Land Surface Temperature: global 10-daily Thermal Condition Index (raster 5km) | clms_global_lst_5km_v1_10daily-tci_netcdf |
| Land Surface Temperature: global hourly (raster 5km) | clms_global_lst_5km_v1_hourly_geotiff |
| Land Surface Temperature: global hourly (raster 5km) | clms_global_lst_5km_v1_hourly_netcdf |
| Land Surface Temperature: global 10-daily Daily Cycle (raster 5km) | clms_global_lst_5km_v2_10daily-daily-cycle_geotiff |
| Land Surface Temperature: global 10-daily Daily Cycle (raster 5km) | clms_global_lst_5km_v2_10daily-daily-cycle_netcdf |
| Land Surface Temperature: global 10-daily Thermal Condition Index (raster 5km) | clms_global_lst_5km_v2_10daily-tci_geotiff |
| Land Surface Temperature: global 10-daily Thermal Condition Index (raster 5km) | clms_global_lst_5km_v2_10daily-tci_netcdf |
| Land Surface Temperature: global hourly (raster 5km) | clms_global_lst_5km_v2_hourly_geotiff |
| Land Surface Temperature: global hourly (raster 5km) | clms_global_lst_5km_v2_hourly_netcdf |
| Lake Surface Water Temperature: global 10-daily near-real time (raster 1km) | clms_global_lswt_1km_v1_10daily-nrt_netcdf |
| Lake Surface Water Temperature: global 10-daily reprocessed (raster 1km) | clms_global_lswt_1km_v1_10daily-reproc_netcdf |
| Lake Water Quality: global 10-daily near-real time (raster 100m) | clms_global_lwq_100m_v1_10daily-nrt_netcdf |
| Lake Water Quality: global 10-daily near-real time (raster 100m) - version 2 | clms_global_lwq_100m_v2_10daily-nrt_netcdf |
| Lake Water Quality: global 10-daily near-real time (raster 1km) | clms_global_lwq_1km_v1_10daily-nrt_netcdf |
| Lake Water Quality: global 10-daily reprocessed (raster 1km) | clms_global_lwq_1km_v1_10daily-reproc_netcdf |
| Lake Water Quality: global 10-daily near-real time (raster 300m) | clms_global_lwq_300m_v1_10daily-nrt_netcdf |
| Lake Water Quality: global 10-daily reprocessed (raster 300m) | clms_global_lwq_300m_v1_10daily-reproc_netcdf |
| Lake Water Quality: global 10-daily near-real time (raster 300m) | clms_global_lwq_300m_v2_10daily-nrt_netcdf |
| Normalized Difference Vegetation Index: global 10-daily (raster 1km) | clms_global_ndvi_1km_v2_10daily_geotiff |
| Normalized Difference Vegetation Index: global 10-daily (raster 1km) | clms_global_ndvi_1km_v2_10daily_netcdf |
| Normalized Difference Vegetation Index: global 10-daily statistics (raster 1km) | clms_global_ndvi_1km_v2_statistics_geotiff |
| Normalized Difference Vegetation Index: global 10-daily statistics (raster 1km) | clms_global_ndvi_1km_v2_statistics_netcdf |
| Normalized Difference Vegetation Index: global 10-daily (raster 1km) | clms_global_ndvi_1km_v3_10daily_geotiff |
| Normalized Difference Vegetation Index: global 10-daily (raster 1km) | clms_global_ndvi_1km_v3_10daily_netcdf |
| Normalized Difference Vegetation Index: global 10-daily statistics (raster 1km) | clms_global_ndvi_1km_v3_statistics_geotiff |
| Normalized Difference Vegetation Index: global 10-daily statistics (raster 1km) | clms_global_ndvi_1km_v3_statistics_netcdf |
| Normalized Difference Vegetation Index: global 10-daily (raster 300m) | clms_global_ndvi_300m_v1_10daily_geotiff |
| Normalized Difference Vegetation Index: global 10-daily (raster 300m) | clms_global_ndvi_300m_v1_10daily_netcdf |
| Normalized Difference Vegetation Index: global 10-daily (raster 300m) | clms_global_ndvi_300m_v2_10daily_geotiff |
| Normalized Difference Vegetation Index: global 10-daily (raster 300m) | clms_global_ndvi_300m_v2_10daily_netcdf |
| Net Primary Productivity: global 10-daily (raster 300m) | clms_global_npp_300m_v1_10daily_geotiff |
| Net Primary Productivity: global 10-daily (raster 300m) | clms_global_npp_300m_v1_10daily_netcdf |
| Snow Cover Extent: northern hemisphere daily (raster 1 km) | clms_global_sce_1km_v1_daily_netcdf |
| Snow Cover Extent: Europe daily (raster 500 m) | clms_global_sce_500m_v1_daily_netcdf |
| Surface Soil Moisture: global daily (raster 1 km) | clms_global_ssm_1km_v1_daily_geotiff |
| Surface Soil Moisture: global daily (raster 1 km) | clms_global_ssm_1km_v1_daily_netcdf |
| Snow Water Equivalent: northern hemisphere daily (raster 5 km) | clms_global_swe_5km_v1_daily_netcdf |
| Snow Water Equivalent: northern hemisphere daily (raster 5 km), version 2 | clms_global_swe_5km_v2_daily_netcdf |
| Soil Water Index: global 10-daily (raster 12.5 km) | clms_global_swi_12.5km_v3_10daily_geotiff |
| Soil Water Index: global 10-daily (raster 12.5 km) | clms_global_swi_12.5km_v3_10daily_netcdf |
| Soil Water Index: global daily (raster 12.5 km) | clms_global_swi_12.5km_v3_daily_geotiff |
| Soil Water Index: global daily (raster 12.5 km) | clms_global_swi_12.5km_v3_daily_netcdf |
| Soil Water Index: global daily (raster 12.5 km) | clms_global_swi_12.5km_v3_static_netcdf |
| Soil Water Index: global time series (discrete global grid) | clms_global_swi_12.5km_v3_time-series_netcdf |
| Soil Water Index: global 10-daily (raster 12.5 km) | clms_global_swi_12.5km_v4_10daily_netcdf |
| Soil Water Index: global daily (raster 12.5 km) | clms_global_swi_12.5km_v4_daily_netcdf |
| Soil Water Index: global daily (raster 1 km) | clms_global_swi_1km_v1_daily_geotiff |
| Soil Water Index: global daily (raster 1 km) | clms_global_swi_1km_v1_daily_netcdf |
| Soil Water Index: global daily (raster 1 km) | clms_global_swi_1km_v2_daily_netcdf |
| Water Bodies: global monthly (raster 100m) | clms_global_wb_100m_v1_monthly_netcdf |
| Water Bodies: global 10-daily (raster 1km) | clms_global_wb_1km_v2_10daily_netcdf |
| Water Bodies: global 10-daily (raster 300m) | clms_global_wb_300m_v1_10daily_netcdf |
| Water Bodies: global monthly (raster 300m) | clms_global_wb_300m_v2_monthly_netcdf |
| Lake Water Level: observation time series (vector) | clms_global_wl_lakes_v2_daily_geojson |
| Lake Water Level: observation time series (vector) | clms_global_wl_rivers_v2_daily_geojson |
Python:如何批量下载CLMS NDVI V3数据集?的更多相关文章
- Python 爬虫批量下载美剧 from 人人影视 HR-HDTV
本人比較喜欢看美剧.尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接.并依照先后顺序写入到文本文件, ...
- python多线程批量下载远程图片
python多线程使用场景:多线程采集, 以及性能测试等 . 数据库驱动类-简单封装下 mysqlDriver.py #!/usr/bin/python3 #-*- coding: utf-8 -*- ...
- Python/Django 批量下载Excel
一.前提 项目上需求的变更总是时时发生的,应对需求的我们,也只能变更我们代码,所以.继前两篇之后,我们的批量下载诞生了 二.安装 本文使用zipstream库进行压缩,安装方式:pip install ...
- Python爬虫批量下载糗事百科段子,怀念的天王盖地虎,小鸡炖蘑菇...
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- 批量下载小说网站上的小说(python爬虫)
随便说点什么 因为在学python,所有自然而然的就掉进了爬虫这个坑里,好吧,主要是因为我觉得爬虫比较酷,才入坑的. 想想看,你可以批量自动的采集互联网上海量的资料数据,是多么令人激动啊! 所以我就被 ...
- 批量下载网站图片的Python实用小工具
定位 本文适合于熟悉Python编程且对互联网高清图片饶有兴趣的筒鞋.读完本文后,将学会如何使用Python库批量并发地抓取网页和下载图片资源.只要懂得如何安装Python库以及运行Python程序, ...
- Python 爬取qqmusic音乐url并批量下载
qqmusic上的音乐还是不少的,有些时候想要下载好听的音乐,但有每次在网页下载都是烦人的登录什么的.于是,来了个qqmusic的爬虫. 至少我觉得for循环爬虫,最核心的应该就是找到待爬元素所在ur ...
- [python] 溜了,溜了,七牛云图片资源批量下载 && 自建图床服务器
故事背景: 七牛云最近一波测试域名操作真是把我坑死了!这简直和百度赠送你2T网盘,之后再限速一样骚操作.于是,痛定思痛自己买个云主机.自己搭图床应用! 1.七牛图片批量下载到本地 1.1 曲折尝试 当 ...
- python批量下载微信好友头像,微信头像批量下载
#!/usr/bin/python #coding=utf8 # 自行下载微信模块 itchat 小和QQ496631085 import itchat,os itchat.auto_login() ...
- Python 实现批量从不同的Linux服务器下载文件
基于Python实现批量从不同的Linux服务器下载文件 by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/file_for_downl ...
随机推荐
- DRF之JWT签发Token源码分析
DRF之JWT签发Token源码分析 [一]JWT介绍 JWT(JSON Web Token)是一种用于身份认证和授权的开放标准(RFC 7519). 它基于JSON格式定义了一种安全的令牌,用于在客 ...
- 一文读懂HyperWorks有限元分析流程
(1)通过模型浏览器(Model Browser)或者材料类型(material)图标进行材料模型的创建. (2)通过模型浏览器或者单元类型(property)图标,进行单元类型的创建.必要时,在单元 ...
- 如何获取上次BIOS所用时间
在Windows任务管理器的"启动应用"页签的右上角,有一个"上次BIOS所用时间",这个时间可以通过注册表项来获取,注册表位置如下 HKLM\SYSTEM\C ...
- 天天用lock,不好奇他到底怎么工作的吗 —ReentrantLock 大白话
从ReentrantLock到AQS 新手学习,若有不对,欢迎大佬 调教 ReentrantLock 我们经常用的 *ReentrantLock*是干什么的呢 我认为这是一个前台/门面(类似设计模式中 ...
- 使用plsql导出导入表的一种方式
1.导出表 不选择导出全部表.选择的话只导出仅选择的表 2.导出存储过程.视图.函数等 要选中导出的存储过程等 注意文件格式是sql类型的.用以下方式改变,点击输出文件后边的文件夹图标 3.导入 刚才 ...
- Photoshop 2023 v24.6 Beta 直装爱国版本ps
win用户看这 Ps Beta最新直装版本已更新教程免破解. https://www.88appp.com/10714.html Mac用户看 这Ps Beta最新直装版本已更新教程免破解. http ...
- vuePress2.x 多页面 多目录生成方案
前言 因为官网介绍的都只有一个'一级标题' 只有一个markdown文件 最终编译后也只有一个html文件,类似于spa 单页项目 如何才有多页项目呢 百度查询 网上插件库有很多,大部分不能用, 后来 ...
- CF1918D Blocking Elements 题解
CF1918D Blocking Elements 如果你做过以下两道题目,那么这道题对你来说会简单得多. P1182 数列分段 Section II P2034 选择数字 由于题目要求最大值的最小值 ...
- Codeforces Round #729 (Div. 2) C. Strange Function
\(题意:定义f(i)为不能整除i的最小整数,求\displaystyle\sum_{i=1}^n f(i)\) 思路: 逐步筛掉因子,首先考虑f(i)=2的,肯定是奇数,也就是除了剩下的n/2个偶数 ...
- ?? js 语法糖
leetcode 2619 遇到了 ?? 语法糖,简而言之 可选链功能 就是防止抛出异常 caught TypeError: Cannot read properties of undefined ( ...