NASA地质数据下载全指南:从Earthdata Search到预处理
2026/9/9 22:15:38 网站建设 项目流程

简介:由NASA地球观测项目整理发布的美国地质区域数据包,面向地质、地理信息系统、环境科学等领域的科研人员与学习者,可用于空间分析、地质制图、灾害风险评估等场景。压缩包内共19个文件,以.shp几何数据、.dbf属性表、.prj投影定义为核心,辅以.sbn/.sbx空间索引及.xml元数据,整体仅93KB,属于体量精简、结构完整的地理信息系统数据样本。文件命名采用‘au45+三位数字+cg’的形式,每个编号对应不同地理单元,配合其中的.prj文件可正确加载坐标系统,使用ArcGIS、QGIS等桌面GIS软件即可读取并开展基础地层与构造分析。已有212人浏览学习,尽管数据量不大,但覆盖了空间几何、属性语义、投影参数等关键图层要素,可帮助理解矢量数据的组织逻辑与常见文件依赖关系,适合需要快速获取真实地理样本的入门者或相关课题研究者,据此练习空间查询、属性关联和专题制图流程。 从NASA拉美国地质数据这件事,最近不少做遥感、GIS、地学建模的同行都在折腾。我自己的项目里也经常要用地形、地表覆盖、热异常这一类数据,几次摸索下来,对NASA那套下载流程算是从“一脸懵”走到了“闭眼能下”。如果你现在正卡在找数据、登录、格式转换或者下载了一半断掉的阶段,这篇就按我实际操作的顺序,把手上的门道和踩过的坑都写清楚。

1. 先从NASA下载哪些“地质数据”

1.1 认识NASA的数据分发体系

很多人第一次打开NASA的数据平台会觉得乱,实际上它有一套很清晰的结构。所有数据的统一入口是Earthdata Search,真正存储和分发数据的是各类DAAC,也就是分布式存档中心。比如地形高程、地表反射率、土地覆盖这类数据主要在LP DAAC,大气参数在GES DISC,雪冰数据在NSIDC,海洋数据在PO.DAAC。

了解这个结构的意义在于:你不用从Earthdata Search里漫无目的地翻文件夹,而是先想清楚自己要什么,然后直接进入对应的数据产品页面,再通过Earthdata Search按时间和范围筛选。我最早犯的错就是直接打开某个DAAC的FTP页面去翻目录,结果文件列表巨长,也搞不清哪个是哪个,效率特别低。

1.2 高频使用的数据产品盘点

以我做地形分析和地表温度制图的实际经验,美国地质相关的数据主要在下面几类,我整理了一个常用表:

产品系列数据内容空间分辨率文件格式典型用途
SRTM GL1全球数字高程30米GeoTIFF地形分析、坡度坡向、流域提取
ASTER GDEM全球数字高程30米GeoTIFF地形对比、区域地貌研究
Landsat 8/9多光谱地表反射30米GeoTIFF + MTL土地利用分类、水体提取
MODIS LST地表温度1公里HDF城市热岛、地表温度监测
ASTER L1T可见光/热红外15米/90米HDF岩性解译、热异常识别
ECOSTRESS蒸散发与地表温度70米HDF5农业干旱、精细热环境研究

SRTM和ASTER GDEM这两类严格来说一个来自航天飞机雷达测高,一个来自日本METI和美国NASA的联合产品,但都挂在LP DAAC下,都属于“打开次数最高”的地形数据。Landsat则是很多地质解译任务的默认底图。根据用途不同,你可能一次会同时下好几种,所以掌握一套通用下载方法很重要。

1.3 为什么一定要自己下原始数据

有段时间我图省事,直接用现成的在线瓦片、云可视化图层或者别人处理好的成品栅格,但做着做着就发现三个硬伤:一是细节精度不可控,在线瓦片做展示可以,做定量分析不够;二是很多成品数据已经做了拉伸、增强和重投影,不能直接参与数值计算;三是缺少原始元数据,投影、单位、采集时间这些关键信息都没有。所以正经做研究或项目,还是得自己下原始产品,哪怕多花点功夫。

2. 下载前必须准备的账号、格式与坐标系知识

2.1 Earthdata登录账号的注册要点

从NASA下载绝大多数数据都必须先有NASA Earthdata Login账号。注册时用常规邮箱就行,创建用户名和密码后,还需要在个人资料里完善姓名、单位、用途等信息。这里有个容易卡住的地方:部分产品在首次下载时还要求你接受额外的数据使用协议。

注册完之后,我在实际使用中发现一个特别重要的细节:不要只用一个浏览器保持登录状态,然后直接去点下载链接。因为很多下载工具或者wget命令拿不到浏览器的会话状态,会出现403或401错误。你需要单独配置一个带有token或者用户名密码的下载方式,这一点我在后面实操部分会说具体怎么做。

2.2 HDF、GeoTIFF与NetCDF,三种格式的差异

下载下来的文件后缀一般是.tif.hdf.h5.nc,它们不是单纯的一种文件类型,打开方式也不同。

  • GeoTIFF:最常见;可以用QGIS直接拖进去看,也可以被大部分编程库直接读写。
  • HDF(HDF4)和HDF5:一种容器格式,一个文件里往往有多层数据。比如MODIS地表温度产品里面,既有白天的温度层,也有夜晚的温度层,还带质量标记层。用QGIS打开HDF时需要选择具体哪个子数据集。
  • NetCDF:类似HDF,常用于气候数据和格点数据,读取方式也相近。

我的建议是:如果对这类格式不熟,就先在准备阶段装好HDFView或者用rasterio/xarray验证一下文件内容。别等到数据处理做到一半才去想办法读,那样会很麻烦。

2.3 坐标参考系:为什么下载前就要想清楚

不同数据产品的坐标参考系不一样。SRTM是经纬度坐标,WGS84;MODIS的LST很多是正弦投影,而Landsat则是UTM投影。这意味着,如果项目中要把多个数据叠在一起或统一换算面积,就必须先做投影转换。

打个比方:你在一张白纸上画图,不同的人用了不同的标尺和原点。你直接拿他们的图纸叠在一起是对不齐的,只有先统一标尺和原点。做遥感数据处理完全一样。所以,下载前最好先定好你最终要用的坐标系,尽量选WGS84经纬度做中间格式,或者用你区域对应的UTM投影做面积计算。

3. 实操:从Earthdata Search到本地文件

3.1 搜索数据与添加筛选条件

打开Earthdata Search后,左侧边栏是筛选区。我通常的操作流程是这样的:

  1. 在搜索框输入产品名,比如“ASTER L1T”或“MOD11A1”。
  2. 在地图上绘制感兴趣区,或者直接输入经纬度坐标范围。
  3. 设置时间范围。注意这里有个时区习惯问题,NASA默认使用UTC,北京时间要往前推8小时,否则你想要的某一天数据可能会被框错。
  4. 对于光学影像类产品,建议在附加条件里设置最大云量,比如10%以下,这样能省掉后续很多处理麻烦。

等列表刷新出来后,不要在列表页直接点下载。你应该把它们加入收藏夹,再统一生成订单。

3.2 从“收藏”到“京东式”下载

把数据加入收藏后,点击收藏标签,然后“下载全部”,此时系统会生成一个下载列表。这个列表页面会提供两个核心东西:文件下载链接清单和自动生成的wget脚本。

先把下载链接以文本文件保存,然后在你自己的电脑或服务器上,用wget按照清单批量下载。命令大概是这样的:

wget --user=你的Earthdata用户名 --password=你的密码 -i 下载清单.txt

如果你不想在命令里明文写密码,可以提前把用户名密码配置到~/.netrc文件里:

machine urs.earthdata.nasa.gov login 用户名 password 密码

然后执行:

wget -i 下载清单.txt

实测这个是稳定的。但要注意一点:如果只配了.netrc而浏览器没登录,有时还是会弹出认证要求,所以稳妥起见,下载前先在浏览器里完成一次Earthdata登录。

3.3 批量下载脚本:断点续传才是关键

如果是大范围的研究区,下载清单可能几百条甚至上千条。我在实际项目中经常要处理几十GB到几百GB的数据量,单纯用wget不加参数非常容易断。强烈建议加这些参数:

wget -c -i 下载清单.txt --continue --tries=0

-c表示断点续传,--tries=0表示无限重试。配合nohup放到后台运行,也不会因为SSH断开导致下载中断:

nohup wget -c -i 下载清单.txt --continue --tries=0 > download.log 2>&1 &

如果发现某几个文件一直下载失败,不要反复重试整个清单,先把失败的链接单独挑出来,写到一个新文件里,再单独执行:

wget -c -i failed_list.txt

这样能节省大量时间。这个“先跑整体、再补失败项”的思路,是批量下载任何地球观测数据的通用做法。

3.4 拿到数据后的第一眼检查

数据刚到本地时,别急着用,先快速验证格式是否正确、范围是否对。我习惯用命令行工具gdalinfo查看GeoTIFF,或者用Python的rasterio查看HDF:

import rasterio with rasterio.open("ASTGTMV003_N40W106_dem.tif") as src: print(src.crs) print(src.bounds) print(src.read(1).min(), src.read(1).max())

MODIS的HDF文件在读的时候,需要指定子数据集名称,直接打开一个HDF文件会返回多个数据集的路径列表。用xarray配合cfgribrasterio读取也可以,但最简单的检查方式还是先看一眼文件体积是不是异常小。如果只有几百KB,基本可以判断是部分损坏或元数据残留,立刻标记出来重下。

4. 数据拿到手之后:预处理与质量控制

4.1 云掩膜和噪声处理

光学遥感数据,尤其Landsat,最大的问题是云遮挡。标准做法是使用数据自带的QA波段进行云掩膜。对Landsat 8/9的Collection 2来说,QA_PIXEL波段里可以提取云、云影、水体等类别。

我常用的方法是把这些QA位解码成一个二进制掩膜,把有云和云影的位置设为NaN,再进行后续计算。如果你跳过这步,直接算NDVI或地表分类,那些云覆盖区域的数值会让整个统计结果失真到离谱。

4.2 重投影、重采样与裁剪

由于不同数据源的坐标系不同,我一般在预处理阶段把它们统一到同一坐标系。用GDAL的命令行方式最快:

gdalwarp -t_srs EPSG:4326 input.tif output_wgs84.tif

如果想同时重采样到指定分辨率,可以加-tr 0.0003 0.0003。具体分辨率值要根据你的应用场景来定,做小范围的精细分析就用高分辨率,做大区域统计就用低分辨率,别一刀切。

裁剪可以用研究区矢量边界操作:

gdalwarp -cutline study_area.shp -crop_to_cutline input.tif output_clip.tif

4.3 数值缩放与单位转换

这一条特别容易忽视。MODIS地表温度产品的原始DN值并不是实际温度,需要乘以0.02的比例因子才能得到开尔文温度,然后再减273.15得到摄氏度。Landsat反射率波段也是同理,有几个波段需要除以10000。

如果直接拿着原始DN值做分析,得到的结果在数量级上完全不对,整个项目就白做了。强烈建议处理前先把产品的用户手册或数据节点上的“Product Description”看一下,确认数据的单位、比例因子和有效范围。这里花十分钟,后面能省十个小时。

5. 常见问题与排查技巧实录

5.1 下载时报403或401

这是遇到最多的一个问题。403或401说明认证没通过。最常见的原因就是wget没有带上Earthdata的登录信息。解决办法是配置.netrc文件,或者在wget命令中显式加上用户名和密码。还有一点需要注意:有些下载链接会要求先访问一次数据提供商页面,此时需要先确保浏览器已经登录了Earthdata。

5.2 文件下载下来了但打不开

如果你发现文件扩展名正常但打不开,先用file命令确认实际格式。我遇到过HDF文件下载下来实际是HTML网页的情况,那是wget没有正确带认证时服务器返回了登录页面。这时删除原来的文件,在认证配置正确的情况下重新下载。

5.3 图像显示全黑或数值范围不正常

打开图像后全黑,通常有两种可能:一是显示拉伸问题,二是不带云掩膜情况下含大量无效值。先用统计信息看一下最小值和最大值,如果最大值特别大、最小值特别小,那大概率是包含了云顶、噪声或异常像元。正确的处理顺序是先做QA掩膜和无效值处理,再做2%线性拉伸用于可视化。

5.4 下载中断和续传问题

下载一批文件时,经常会有某个文件传到一半中断。如果wget没加-c,它会重新下载整个文件,体验很差。所以批量下载脚本务必默认带-c。还有一个小技巧:每下载完一个文件后,在脚本里对比本地和服务器端的文件大小,不一致就重下。如果用的是简单wget命令,可以用--spider模式检查远端文件大小,写一个循环做校验。

问题现象常见原因解决办法
403/401未正确配置Earthdata认证配.netrc或显式用户名密码
下载文件打不开实际内容是HTML错误页删除后重新下载,检查认证
全黑/数值异常未做QA掩膜、未处理无效值先掩膜再拉伸可视化
下载中断没用断点续传wget加-c参数重试
坐标对不上坐标系不一致统一用gdalwarp重投影
数值量级离谱未乘比例因子查产品手册做单位换算

5.5 工具打不开新版本数据

这几年NASA很多产品做了Collection迭代,比如Landsat从Collection 1切换到Collection 2,MODIS也开始推新的版本。老的工具或库如果版本太旧,会出现无法读取或数据位置偏移的问题。解决办法是升级GDAL:GDAL 3.0以上对现代遥感格式的支持会好很多。如果你用的是Python,尽量把rasterionumpyxarray这些库升级到当前稳定版。

结尾再聊两句

个人体会最深的一件事:这类数据下载流程虽然看起来繁琐,但每一步都是有明确目的的。账号是为了追踪数据使用,格式是为了存储多维信息,坐标系是为了保证空间精度。如果你的目标不是做NASA专有格式的深度处理,最快速的方式其实是先用GeoTIFF类产品跑通一条小流程,比如先下载一小块SRTM,搞定坐标系和裁剪,再去处理MODIS这类HDF格式。这样能把难度拆散,不会把自己卡在原地。最后再分享一个习惯:每一次成功下载和预处理后,我都把下载条件、筛选参数和处理命令记录在一个文本文件里,放到数据文件夹下。这个“数据指纹”文件在三个月后复盘项目时价值极高,强烈建议你也试试。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询