简介:由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后,左侧边栏是筛选区。我通常的操作流程是这样的:
- 在搜索框输入产品名,比如“ASTER L1T”或“MOD11A1”。
- 在地图上绘制感兴趣区,或者直接输入经纬度坐标范围。
- 设置时间范围。注意这里有个时区习惯问题,NASA默认使用UTC,北京时间要往前推8小时,否则你想要的某一天数据可能会被框错。
- 对于光学影像类产品,建议在附加条件里设置最大云量,比如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配合cfgrib或rasterio读取也可以,但最简单的检查方式还是先看一眼文件体积是不是异常小。如果只有几百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.tif4.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,尽量把rasterio、numpy、xarray这些库升级到当前稳定版。
结尾再聊两句
个人体会最深的一件事:这类数据下载流程虽然看起来繁琐,但每一步都是有明确目的的。账号是为了追踪数据使用,格式是为了存储多维信息,坐标系是为了保证空间精度。如果你的目标不是做NASA专有格式的深度处理,最快速的方式其实是先用GeoTIFF类产品跑通一条小流程,比如先下载一小块SRTM,搞定坐标系和裁剪,再去处理MODIS这类HDF格式。这样能把难度拆散,不会把自己卡在原地。最后再分享一个习惯:每一次成功下载和预处理后,我都把下载条件、筛选参数和处理命令记录在一个文本文件里,放到数据文件夹下。这个“数据指纹”文件在三个月后复盘项目时价值极高,强烈建议你也试试。
本文还有配套的精品资源,点击获取