NASA EARTHDATA 数据爬取与预处理 —— 以 HLS 数据集为例
1 安装 miniforge
1.1 miniforge
-
miniforge是结合conda与mamba的最小化包,比Anaconda和Miniconda更快更轻量,并且配置命令与原conda基本一致,支持直接使用mamba命令。
-
简而言之,环境配置效率上,miniforge > Mambaforge (202407已废弃) > Miniconda + Mamba > Miniconda > Anaconda
1.2 配置环境变量
- 为了在控制台中直接使用conda命令, 需要将安装的相关目录配置到Path环境变量中。
D:\program\miniforge3
D:\program\miniforge3\Scripts
D:\program\miniforge3\Library\bin
1.3 配置权限
- 详细配置与miniconda相同,图文教程地址:https://gis-xh.github.io/my-note/python/01conda/Win11-Miniconda-install/
- Windows环境下,需要设置虚拟环境文件夹的访问权限为所有用户可访问,否则会出现无法读取虚拟环境文件的问题
- 具体地:
- 设置
D:\program\miniforge3\env
目录为所有用户可访问,具体操作为:右键点击文件夹 -> 属性 -> 安全 -> 编辑 -> 添加 -> 添加所有用户 -> 全选 -> 应用 -> 确定
- 设置
1.4 配置镜像源
- 生成下载源文件的配置文件 (若已经安装过Anaconda/Miniconda,则无需执行此步骤)
conda config --set show_channel_urls yes
- 在
C:\Users\实际用户名\
目录找到.condarc
文件,使用记事本打开,输入如下内容并保存
envs_dirs:
- D:\program\miniforge3\envs
- 其他路径地址(可选,创建虚拟环境时将会按照顺序查找)
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
1.5 初始化 conda
- 打开控制台,初始化 PowerShell 与 CMD
conda init powershell
conda init cmd.exe
2 运行环境配置
2.1 使用mamba创建并激活虚拟环境
- 克隆虚拟环境 (Windows环境下推荐)
mamba env create -f setup/lpdaac_windows.yml
- 激活虚拟环境
mamba activate lpdaac_windows
3 HLS 数据爬取
3.1 账户准备
- 参考自NASA官网示例Demo:https://github.com/nasa/LPDAAC-Data-Resources/blob/main/setup/setup_instructions_python.md
- 首次运行爬取命令时,需要输入用户名和密码,用户名和密码可以在 Earthdata 注册获取。
- 需要注意的是,密码中最好不要出
@/#/$/%
等符号,爬取时可能会出错。
3.2 爬取云端数据并在内存中进行预处理
-
-roi
:感兴趣区,需要按照 左下右上 的逆时针顺序设置点坐标 -
-dir
:输出目录,必须是已存在的目录 -
-start
:开始时间,格式为YYYY-MM-DD
-
-end
:结束时间,格式为YYYY-MM-DD
-
-prod
:产品名称,例如HLSL30
,HLSS30
,both
-
-bands
:波段名称,如COASTAL-AEROSOL,BLUE,GREEN,RED,NIR1,SWIR1,SWIR2,CIRRUS,TIR1,TIR2,Fmask
-
-cc
:筛选影像云量阈值,如70
-
-qf
:是否使用质量波段过滤云/云阴影像元,默认True
-
-scale
:是否对影像使用缩放因子,默认True
-
爬取所有光谱波段
python .\\HLS_SuPER\\HLS_SuPER.py -roi '113.10114,30.62845,114.24349,31.59081' -dir .\\data\\HLS\\L30 -start 2024-01-01 -end 2024-01-31 -prod HLSL30 -bands COASTAL-AEROSOL,BLUE,GREEN,RED,NIR1,SWIR1,SWIR2,CIRRUS,TIR1,TIR2,Fmask -cc 70 -qf True -scale True
- 仅爬取必要的核心波段
python .\\HLS_SuPER\\HLS_SuPER.py -roi '113.10114,30.62845,114.24349,31.59081' -dir .\\data\\HLS\\L30\\subset -start 2024-01-01 -end 2024-01-31 -prod HLSL30 -bands BLUE,GREEN,RED,NIR1,SWIR1,SWIR2 -cc 70 -qf True -scale True
Description
可用于NASA Earth Data系列数据的快速爬取与预处理,NASA Earth Data官网:https://search.earthdata.nasa.gov/search/
Languages
Python
100%