博客

MODIS 数据下载:中国区域行列号对照表及批量下载脚本

中国区域常用 MODIS 行列号对照表和批量下载脚本。

1. 文档定位#

本文面向需要批量下载 MODIS 植被指数数据的遥感、生态监测、GIS 和数据处理人员,重点说明如何从 NASA LAADS DAAC 下载 MOD13A1 数据,并给出中国区域常用 MODIS 行列号对照表和批量下载脚本。

本文以如下目录为目标示例:

text
https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/

该路径含义如下:

路径片段 含义
archive/allData LAADS DAAC 归档数据目录
61 MODIS Collection 6.1
MOD13A1 Terra MODIS 16 天植被指数产品
2025 年份
177 年积日,即 Day of Year,2025 年第 177 天
*.hdf MODIS HDF-EOS2 数据文件

本文以 MOD13A1 为例,但方法也可扩展到其他按 MODIS tile 行列号组织的产品,例如 MOD09A1、MOD11A2、MOD13Q1、MYD13A1 等。使用其他产品时,只需要替换产品名、年份、年积日和行列号列表。


2. 数据源说明#

2.1 MOD13A1 是什么#

MOD13A1 是 Terra MODIS 植被指数产品,常用于 NDVI、EVI、植被覆盖变化、生态质量评价、草地长势监测、农作物长势分析等场景。

根据 NASA Earthdata 对 MOD13A1 Version 6.1 的说明,该产品具有以下特征:

项目 内容
产品名 MOD13A1
平台 Terra
传感器 MODIS
Collection Version 6.1 / Collection 6.1
空间分辨率 500 m
时间分辨率 16 天
数据格式 HDF-EOS2
空间参考 MODIS Sinusoidal Tiling System
主要变量 NDVI、EVI、质量控制层、红光、近红外、蓝光、中红外等

官方资料地址:

text
https://www.earthdata.nasa.gov/data/catalog/lpcloud-mod13a1-061

3. LAADS DAAC 下载入口#

3.1 LAADS Archive 目录结构#

LAADS DAAC 的 MODIS 数据可以通过归档目录访问。以本文示例为例:

text
https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/

打开后可以看到类似文件:

text
MOD13A1.A2025177.h27v04.061.xxxxxxxxxxxxx.hdf MOD13A1.A2025177.h27v05.061.xxxxxxxxxxxxx.hdf MOD13A1.A2025177.h28v05.061.xxxxxxxxxxxxx.hdf ...

文件名结构如下:

text
MOD13A1.A2025177.h27v05.061.202519514xxxx.hdf

含义为:

片段 含义
MOD13A1 产品名
A2025177 观测日期,2025 年第 177 天
h27v05 MODIS 水平行列号,h 为 horizontal,v 为 vertical
061 Collection 6.1
202519514xxxx 生产时间戳
.hdf HDF-EOS2 文件

4. 从登录开始:注册与登录 Earthdata#

4.1 注册 Earthdata 账号#

访问 Earthdata 登录/注册页面:

text
https://urs.earthdata.nasa.gov/

如果没有账号,先注册 NASA Earthdata 账号。

注册时需要填写:

  • 用户名;
  • 密码;
  • 邮箱;
  • 机构或用途信息;
  • 国家/地区;
  • 数据使用目的。

注册完成后,登录账号。

4.2 浏览器方式进入 LAADS Archive#

登录后,在浏览器中访问:

text
https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/

如果浏览器已经登录 Earthdata,通常可以直接点击单个 .hdf 文件下载。

浏览器下载适合少量文件测试,不适合下载中国区域多个 tile 或多年多期数据。


5. 生成 Earthdata Download Token#

5.1 为什么需要 Token#

脚本下载不能只依赖浏览器登录状态。LAADS DAAC 官方说明:脚本下载需要使用 Earthdata Download Token,也就是 EDL Token。Token 通过 HTTP 请求头传递:

text
Authorization: Bearer YOUR_TOKEN

5.2 生成 Token 的步骤#

登录 Earthdata 后,进入 Earthdata Profiles:

text
https://urs.earthdata.nasa.gov/profile

然后执行:

  1. 登录 Earthdata Profiles;
  2. 页面右上方选择 Generate Token;
  3. 如果已有 token,点击 Show Token;
  4. 如果没有 token,点击 Generate Token,再点击 Show Token;
  5. 复制 token,保存到本地安全位置;
  6. Token 有有效期,过期后需要重新生成。

5.3 在终端中设置 Token#

推荐将 token 临时写入环境变量:

检查是否设置成功:

bash
echo "$LAADS_TOKEN"

注意:不要把 token 写入公开代码仓库,不要提交到 Git。


6. 验证 LAADS 下载是否可用#

6.1 用 curl 验证目录访问#

先测试 layer 目录类似的网页是否可以访问:

bash
curl -I -L \ -b ~/.urs_cookies \ -H "Authorization: Bearer ${LAADS_TOKEN}" \ "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/"

如果返回 200 OK,说明目录访问正常。

6.2 用 curl 下载单个文件#

先从网页中复制一个真实文件名,例如:

text
MOD13A1.A2025177.h27v05.061.2025195140000.hdf

注意:上面最后一段生产时间戳只是示例,实际文件名必须以网页中显示的真实文件名为准。

下载命令格式:

bash
curl -L \ -b ~/.urs_cookies \ -H "Authorization: Bearer ${LAADS_TOKEN}" \ -C - \ -o "MOD13A1_test.hdf" \ "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/真实文件名.hdf"

参数说明:

参数 说明
-L 跟随重定向
-b ~/.urs_cookies 使用 cookie 文件,LAADS 官方 curl 示例要求传递 cookie
-H "Authorization: Bearer ..." 使用 EDL Token 授权
-C - 支持续传
-o 指定输出文件名

7. MODIS 行列号基础知识#

7.1 h/v 是什么#

MODIS 大部分陆地产品使用 Sinusoidal Tile Grid。Tile 编号采用:

text
hXXvYY

其中:

字段 含义
h horizontal,水平编号
v vertical,垂直编号

官方 MODIS Land 说明中,Sinusoidal Tile Grid 的编号从左上角开始,左上角为 (h00, v00),向右 h 增加,向下 v 增加,右下角为 (h35, v17)。

7.2 MODIS Sinusoidal 网格特点#

项目 内容
水平方向编号 h00 到 h35
垂直方向编号 v00 到 v17
总体网格 36 × 18
单个 tile 赤道附近约 10° × 10°
投影 MODIS Sinusoidal
常见产品 MOD13A1、MOD13Q1、MOD09A1、MOD11A2 等

需要注意:MODIS Sinusoidal tile 不是简单的经纬度 10° 网格。高纬度地区经纬度范围会发生变形,因此不能简单用经纬度整十度直接判断行列号。


8. 中国区域 MODIS 行列号对照表#

8.1 表格适用范围#

下面表格用于覆盖中国大陆、海南、台湾及邻近陆地区域的常用 MODIS Sinusoidal tile。该表是基于 MODIS Sinusoidal 官方网格规则,并以中国陆地区域常用经纬度外包范围进行保守覆盖整理:

text
经度范围:约 73°E 至 135°E 纬度范围:约 18°N 至 54°N

该范围适合全国尺度 MODIS 数据批量下载。若只研究某个省、市、流域、保护区或工程区,应使用研究区矢量边界进一步精确筛选,避免下载过多 tile。

8.2 中国区域保守覆盖 tile 表#

v 行号 h 列号范围 tile 列表
v03 h22 - h26 h22v03, h23v03, h24v03, h25v03, h26v03
v04 h22 - h28 h22v04, h23v04, h24v04, h25v04, h26v04, h27v04, h28v04
v05 h23 - h29 h23v05, h24v05, h25v05, h26v05, h27v05, h28v05, h29v05
v06 h24 - h30 h24v06, h25v06, h26v06, h27v06, h28v06, h29v06, h30v06
v07 h24 - h30 h24v07, h25v07, h26v07, h27v07, h28v07, h29v07, h30v07

![图片](/uploads/2026/04/68ed2922c73946cba6ba2f1d6c23e3d4_1777022563832.jpg)

1777022563832.jpg

8.3 推荐下载清单#

如果要做全国尺度数据处理,可以先使用以下 tile 清单:

text
h22v03 h23v03 h24v03 h25v03 h26v03 h22v04 h23v04 h24v04 h25v04 h26v04 h27v04 h28v04 h23v05 h24v05 h25v05 h26v05 h27v05 h28v05 h29v05 h24v06 h25v06 h26v06 h27v06 h28v06 h29v06 h30v06 h24v07 h25v07 h26v07 h27v07 h28v07 h29v07 h30v07

整理成 Python 列表:

python
CHINA_TILES = [ "h22v03", "h23v03", "h24v03", "h25v03", "h26v03", "h22v04", "h23v04", "h24v04", "h25v04", "h26v04", "h27v04", "h28v04", "h23v05", "h24v05", "h25v05", "h26v05", "h27v05", "h28v05", "h29v05", "h24v06", "h25v06", "h26v06", "h27v06", "h28v06", "h29v06", "h30v06", "h24v07", "h25v07", "h26v07", "h27v07", "h28v07", "h29v07", "h30v07", ]

8.4 重要提醒#

这个清单是全国尺度保守覆盖清单,不是每个 tile 都完全位于中国境内。全国批处理时这样做比较安全;如果是局部项目,建议根据研究区边界自动计算所需 tile。


9. 本文示例路径:2025 年第 177 天#

本文示例 LAADS 地址为:

text
https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/

其中:

text
2025/177

表示:

text
2025 年第 177 天

2025 年不是闰年,因此第 177 天对应:

text
2025-06-26

MOD13A1 是 16 天合成产品。实际使用中,建议按 LAADS 目录中存在的年积日进行下载,而不是人为假设每个日期都有目录。


10. 方法一:使用 wget 下载整个目录#

LAADS 页面会给出类似的 wget 命令:

bash
wget -e robots=off -m -np -R .html,.tmp -nH --cut-dirs=3 \ "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/" \ --header "Authorization: Bearer INSERT_EDL_TOKEN_HERE" \ -P .

替换为环境变量写法:

bash
wget -e robots=off -m -np -R .html,.tmp -nH --cut-dirs=3 \ "https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/" \ --header "Authorization: Bearer ${LAADS_TOKEN}" \ -P ./downloads

这种方式会尝试下载当前目录下大量文件,不适合只下载中国区域 tile。全国区域建议使用后面的 Python 脚本按 tile 精确筛选。


11. 方法二:按中国 tile 批量下载#

11.1 创建下载目录#

建议建立如下目录:

bash
mkdir -p ~/modis_download/MOD13A1/2025/177 cd ~/modis_download

11.2 保存批量下载脚本#

新建脚本:

bash
nano download_mod13a1_china.py

写入以下内容:

python
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 批量下载 LAADS DAAC MOD13A1 中国区域 MODIS tile 数据。 使用方法: 1. 先在终端设置 EDL Token: export LAADS_TOKEN="你的_EDL_TOKEN" 2. 执行: python3 download_mod13a1_china.py --year 2025 --doy 177 --out ~/modis_download 说明: - 产品默认为 MOD13A1; - Collection 默认为 61; - 脚本会先读取 LAADS 目录页; - 再根据 CHINA_TILES 筛选真实存在的 hdf 文件; - 文件已存在时会跳过; - 支持断点续传逻辑:如果存在 .part 文件,会继续写入。 """ from pathlib import Path from urllib.parse import urljoin CHINA_TILES = [ "h22v03", "h23v03", "h24v03", "h25v03", "h26v03", "h22v04", "h23v04", "h24v04", "h25v04", "h26v04", "h27v04", "h28v04", "h23v05", "h24v05", "h25v05", "h26v05", "h27v05", "h28v05", "h29v05", "h24v06", "h25v06", "h26v06", "h27v06", "h28v06", "h29v06", "h30v06", "h24v07", "h25v07", "h26v07", "h27v07", "h28v07", "h29v07", "h30v07", ] def build_base_url(collection: str, product: str, year: int, doy: int) -> str: return ( f"https://ladsweb.modaps.eosdis.nasa.gov/" f"archive/allData/{collection}/{product}/{year}/{doy:03d}/" ) def get_session(token: str) -> requests.Session: session = requests.Session() session.headers.update({ "Authorization": f"Bearer {token}", "User-Agent": "modis-laads-downloader/1.0" }) return session def list_hdf_files(session: requests.Session, base_url: str) -> list[str]: print(f"[INFO] Reading directory: {base_url}") resp = session.get(base_url, allow_redirects=True, timeout=60) if resp.status_code != 200: raise RuntimeError( f"读取目录失败:HTTP {resp.status_code}\n" f"URL: {base_url}\n" f"返回内容前 500 字符:\n{resp.text[:500]}" ) # LAADS 目录页中会出现完整 HDF 文件名 files = sorted(set(re.findall(r'(MOD13A1\.A\d{7}\.h\d{2}v\d{2}\.061\.\d+\.hdf)', resp.text))) return files def filter_files_by_tiles(files: list[str], tiles: list[str]) -> list[str]: tile_set = set(tiles) selected = [] for name in files: m = re.search(r'\.(h\d{2}v\d{2})\.', name) if m and m.group(1) in tile_set: selected.append(name) return selected def download_file(session: requests.Session, url: str, out_path: Path) -> None: out_path.parent.mkdir(parents=True, exist_ok=True) if out_path.exists() and out_path.stat().st_size > 0: print(f"[SKIP] 已存在:{out_path.name}") return part_path = out_path.with_suffix(out_path.suffix + ".part") headers = {} downloaded = 0 if part_path.exists(): downloaded = part_path.stat().st_size if downloaded > 0: headers["Range"] = f"bytes={downloaded}-" print(f"[INFO] 断点续传:{out_path.name},已下载 {downloaded} bytes") print(f"[DOWN] {url}") with session.get(url, stream=True, headers=headers, allow_redirects=True, timeout=120) as r: if r.status_code not in (200, 206): raise RuntimeError(f"下载失败:HTTP {r.status_code} {url}") mode = "ab" if r.status_code == 206 and downloaded > 0 else "wb" with open(part_path, mode) as f: for chunk in r.iter_content(chunk_size=1024 * 1024): if chunk: f.write(chunk) part_path.rename(out_path) print(f"[OK] {out_path}") def main(): parser = argparse.ArgumentParser() parser.add_argument("--collection", default="61", help="LAADS archive set / collection, default: 61") parser.add_argument("--product", default="MOD13A1", help="MODIS product, default: MOD13A1") parser.add_argument("--year", type=int, required=True, help="Year, e.g. 2025") parser.add_argument("--doy", type=int, required=True, help="Day of year, e.g. 177") parser.add_argument("--out", default="./downloads", help="Output root directory") parser.add_argument("--tiles", nargs="*", default=CHINA_TILES, help="MODIS tiles, e.g. h27v05 h28v05") args = parser.parse_args() token = os.environ.get("LAADS_TOKEN") if not token: print("[ERROR] 请先设置 LAADS_TOKEN,例如:", file=sys.stderr) print('export LAADS_TOKEN="你的_EDL_TOKEN"', file=sys.stderr) sys.exit(1) base_url = build_base_url(args.collection, args.product, args.year, args.doy) session = get_session(token) files = list_hdf_files(session, base_url) if not files: print("[WARN] 目录中未解析到 HDF 文件,请检查产品、年份、DOY 或登录权限。") sys.exit(2) selected = filter_files_by_tiles(files, args.tiles) print(f"[INFO] 目录 HDF 文件数:{len(files)}") print(f"[INFO] 中国区域匹配文件数:{len(selected)}") if not selected: print("[WARN] 没有匹配到指定 tile。请检查 tile 列表或 LAADS 目录。") sys.exit(3) out_dir = Path(args.out).expanduser() / args.product / str(args.year) / f"{args.doy:03d}" out_dir.mkdir(parents=True, exist_ok=True) for name in selected: url = urljoin(base_url, name) out_path = out_dir / name download_file(session, url, out_path) print("[DONE] 下载完成。") print(f"[OUT] {out_dir}") if __name__ == "__main__": main()

11.3 安装 Python 依赖#

该脚本只依赖 requests:

bash
python3 -m pip install requests

11.4 执行下载#

设置 Token:

执行:

bash
python3 download_mod13a1_china.py \ --year 2025 \ --doy 177 \ --out ~/modis_download

输出目录为:

text
~/modis_download/MOD13A1/2025/177/

11.5 只下载指定 tile#

例如只下载华北、东北附近常用的几个 tile:

bash
python3 download_mod13a1_china.py \ --year 2025 \ --doy 177 \ --tiles h26v04 h26v05 h27v04 h27v05 h28v05 \ --out ~/modis_download

12. 方法三:生成下载清单后用 aria2c 下载#

如果希望先生成 URL 清单,再用 aria2c 多线程下载,可以使用以下脚本。

12.1 生成 URL 清单脚本#

保存为:

bash
nano make_mod13a1_china_urls.py

内容如下:

python
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from pathlib import Path from urllib.parse import urljoin CHINA_TILES = [ "h22v03", "h23v03", "h24v03", "h25v03", "h26v03", "h22v04", "h23v04", "h24v04", "h25v04", "h26v04", "h27v04", "h28v04", "h23v05", "h24v05", "h25v05", "h26v05", "h27v05", "h28v05", "h29v05", "h24v06", "h25v06", "h26v06", "h27v06", "h28v06", "h29v06", "h30v06", "h24v07", "h25v07", "h26v07", "h27v07", "h28v07", "h29v07", "h30v07", ] def main(): parser = argparse.ArgumentParser() parser.add_argument("--year", type=int, required=True) parser.add_argument("--doy", type=int, required=True) parser.add_argument("--product", default="MOD13A1") parser.add_argument("--collection", default="61") parser.add_argument("--out", default="mod13a1_china_urls.txt") args = parser.parse_args() token = os.environ.get("LAADS_TOKEN") if not token: print('请先执行:export LAADS_TOKEN="你的_EDL_TOKEN"', file=sys.stderr) sys.exit(1) base_url = ( f"https://ladsweb.modaps.eosdis.nasa.gov/" f"archive/allData/{args.collection}/{args.product}/{args.year}/{args.doy:03d}/" ) headers = {"Authorization": f"Bearer {token}"} r = requests.get(base_url, headers=headers, allow_redirects=True, timeout=60) r.raise_for_status() files = sorted(set(re.findall(r'(MOD13A1\.A\d{7}\.h\d{2}v\d{2}\.061\.\d+\.hdf)', r.text))) selected = [] for name in files: m = re.search(r'\.(h\d{2}v\d{2})\.', name) if m and m.group(1) in set(CHINA_TILES): selected.append(urljoin(base_url, name)) out_path = Path(args.out) out_path.write_text("\n".join(selected) + "\n", encoding="utf-8") print(f"目录文件数:{len(files)}") print(f"匹配中国 tile 数:{len(selected)}") print(f"URL 清单:{out_path}") if __name__ == "__main__": main()

执行:

bash
python3 make_mod13a1_china_urls.py \ --year 2025 \ --doy 177 \ --out mod13a1_2025_177_china_urls.txt

12.2 使用 aria2c 下载#

安装:

bash
brew install aria2

下载:

bash
mkdir -p ~/modis_download/MOD13A1/2025/177 aria2c \ -i mod13a1_2025_177_china_urls.txt \ -d ~/modis_download/MOD13A1/2025/177 \ -x 4 \ -s 4 \ --header="Authorization: Bearer ${LAADS_TOKEN}"

说明:

参数 说明
-i 输入 URL 清单
-d 下载目录
-x 4 单服务器最大连接数
-s 4 单文件分片数
--header 添加 Bearer Token

如果遇到授权、重定向或 cookie 问题,优先使用第 11 节的 Python 脚本,因为 Python 脚本更容易控制请求头、重定向和错误输出。


13. 下载后检查#

13.1 检查文件数量#

bash
find ~/modis_download/MOD13A1/2025/177 -name "*.hdf" | wc -l

全国保守 tile 清单共有 33 个 tile。对于某个具体日期,实际可下载数量通常应接近这个数量,但最终以 LAADS 目录真实存在文件为准。

13.2 查看文件名#

bash
ls ~/modis_download/MOD13A1/2025/177 | head

应能看到类似:

text
MOD13A1.A2025177.h24v05.061.2025195xxxxxx.hdf MOD13A1.A2025177.h25v05.061.2025195xxxxxx.hdf MOD13A1.A2025177.h26v05.061.2025195xxxxxx.hdf

13.3 检查 HDF 子数据集#

使用 GDAL:

bash
gdalinfo ~/modis_download/MOD13A1/2025/177/MOD13A1.A2025177.h27v05.061.*.hdf

可以看到多个 SUBDATASET,常见包括:

  • NDVI;
  • EVI;
  • VI Quality;
  • red reflectance;
  • NIR reflectance;
  • blue reflectance;
  • MIR reflectance;
  • view zenith;
  • sun zenith;
  • relative azimuth;
  • composite day of year;
  • pixel reliability。

14. 从 HDF 提取 NDVI 的示例#

14.1 查看 NDVI 子数据集名称#

bash
gdalinfo MOD13A1.A2025177.h27v05.061.xxxxxxxxxxxxx.hdf | grep SUBDATASET

找到类似:

text
HDF4_EOS:EOS_GRID:"MOD13A1.A2025177.h27v05.061.xxxxxxxxxxxxx.hdf":MODIS_Grid_16DAY_500m_VI:500m 16 days NDVI

14.2 转为 GeoTIFF#

bash
gdal_translate \ 'HDF4_EOS:EOS_GRID:"MOD13A1.A2025177.h27v05.061.xxxxxxxxxxxxx.hdf":MODIS_Grid_16DAY_500m_VI:500m 16 days NDVI' \ MOD13A1_A2025177_h27v05_NDVI.tif

14.3 注意比例因子#

MOD13A1 的 NDVI/EVI 通常需要乘以比例因子:

text
0.0001

也就是说,原始值 8000 对应 NDVI:

text
0.8

实际处理时应结合 QA 层进行质量控制。


15. 多日期批量下载思路#

MOD13A1 是 16 天合成产品。若需要下载全年数据,可以准备 DOY 列表。

常见 16 天序列类似:

text
001 017 033 049 065 081 097 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353

可以写一个 shell 循环:

bash
for doy in 001 017 033 049 065 081 097 113 129 145 161 177 193 209 225 241 257 273 289 305 321 337 353 do python3 download_mod13a1_china.py \ --year 2025 \ --doy "$doy" \ --out ~/modis_download done

注意:不同年份、产品更新状态和 LAADS 归档情况可能有差异,具体以 LAADS 实际目录存在为准。


16. 常见问题#

16.1 浏览器可以下载,脚本不行#

原因通常是脚本没有正确使用 EDL Token。

检查:

bash
echo "$LAADS_TOKEN"

确认脚本请求头中包含:

text
Authorization: Bearer YOUR_TOKEN

16.2 Token 过期#

EDL Token 有有效期。过期后重新登录 Earthdata Profiles 生成即可。

16.3 下载到的是 HTML,不是 HDF#

这种情况通常是没有通过认证,实际下载到了登录页或错误页。

检查文件类型:

bash
file MOD13A1.A2025177.h27v05.061.xxxxxxxxxxxxx.hdf

如果显示 HTML,应删除该文件,重新检查 Token 和下载命令。

16.4 某些 tile 找不到#

可能原因:

  1. 当前日期目录下没有该 tile;
  2. 产品尚未处理完成;
  3. tile 列表过宽或过窄;
  4. 文件名生产时间戳变化,不能手写完整文件名;
  5. 网络请求被重定向到登录页。

推荐做法:不要手写完整文件名,而是先解析 LAADS 目录页,再按 hXXvYY 匹配真实文件名。

16.5 是否必须下载全部 33 个 tile#

不一定。

全国尺度建议使用 33 个 tile 的保守清单。省级、市级、流域级、工程区级项目,应按研究区边界精确筛选。

例如只做锡林郭勒盟或内蒙古中东部,通常不需要下载全国所有 tile。


17. 资料来源与验证依据#

本文涉及的关键事实来自以下官方资料或官方页面:

  1. MOD13A1 Version 6.1 产品说明:
text
https://www.earthdata.nasa.gov/data/catalog/lpcloud-mod13a1-061
  1. LAADS DAAC EDL Token 下载说明:
text
https://ladsweb.modaps.eosdis.nasa.gov/learn/download-files-using-edl-tokens/
  1. LAADS Archive 示例目录:
text
https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/
  1. MODIS Land Sinusoidal Tile Grid 官方说明:
text
https://modis-land.gsfc.nasa.gov/MODLAND_grid.html
  1. MODLAND Tile Calculator:
text
https://landweb.modaps.eosdis.nasa.gov/tilecalc

18. 总结#

对于中国区域 MOD13A1 批量下载,推荐采用以下标准流程:

text
注册并登录 Earthdata ↓ 生成 EDL Token ↓ 打开 LAADS Archive 确认产品、年份、DOY 目录存在 ↓ 使用中国区域 MODIS tile 清单 ↓ 脚本解析 LAADS 目录页中的真实文件名 ↓ 按 hXXvYY 筛选并批量下载 ↓ 使用 GDAL 检查 HDF 子数据集 ↓ 提取 NDVI/EVI 并结合 QA 层做后续处理

全国尺度保守下载清单为:

text
h22v03 h23v03 h24v03 h25v03 h26v03 h22v04 h23v04 h24v04 h25v04 h26v04 h27v04 h28v04 h23v05 h24v05 h25v05 h26v05 h27v05 h28v05 h29v05 h24v06 h25v06 h26v06 h27v06 h28v06 h29v06 h30v06 h24v07 h25v07 h26v07 h27v07 h28v07 h29v07 h30v07

本文示例下载入口为:

text
https://ladsweb.modaps.eosdis.nasa.gov/archive/allData/61/MOD13A1/2025/177/

最终推荐使用 Python 脚本批量下载,而不是手工拼接完整文件名。因为 LAADS 文件名最后的生产时间戳会变化,脚本先解析目录、再按 tile 匹配,稳定性更高。