
很多做遥感研究的朋友第一次接触ASTER数据时都会在NASA Earthdata的下载页面里转晕。界面层级多、术语密集稍不留神就下载成了ASTER L1B的原始辐射数据回实验室才发现没有温度反演的波段白白浪费一下午。这篇教程我按照自己整理的标准流程来写从账号准备到拿L2地表温度产品的HDF文件每一步都附上我在实际下载中遇到的坑和应对方式尤其是shp文件拖拽这块很多新手在这卡了很久我这一次讲透。1. 下载前需要理清的几个基本概念1.1 ASTER L2地表温度产品到底是什么ASTER是搭载在Terra卫星上的多光谱传感器一共覆盖14个波段其中TIR通道第10到14波段位于热红外区间8.125到11.65微米之间专门用来反演地表温度。所谓L2级别产品指的是已经经过辐射定标和大气校正处理、直接可以应用的科学数据集不需要用户再做额外的定量反演。这里需要区分一个容易混淆的地方NASA官网能下载到的ASTER地表温度产品有多个版本目前常见的是AST_09T地表温度和AST_08地表辐射率而ASTER L2地表温度更准确的产品代号是AST_09T在Earthdata搜索界面输入“ASTER L2”会同时搜出ASTER L1A、L1B和L2T等多种产品。下载时一定要看清Product Level标的是L2否则会拿到未经过大气校正的L1数据。1.2 为什么推荐直接下L2而不是自己做反演有人可能会想既然L1数据也有热红外波段为什么不自己用大气辐射传输模型做分裂窗反演理论上确实可行但实操中有两道坎比较麻烦大气水汽数据不容易获取用MOD05或再分析资料做精度验证很费时间ASTER的TIR波段需要发射率数据来分离温度和发射率自己做不确定性很高。官方L2产品执行的是温度/发射率分离算法融合了昼夜数据对和多通道约束产物精度在一般裸地和低植被覆盖区域的表现是够用的。对大多数应用场景城市热岛、地热异常、农业干旱监测而言直接下载L2地表温度产品是最省力且规范的路径。1.3 下载L2产品前要准备哪些基础环境一个能正常接收邮件、能通过NASA Earthdata登录认证的邮箱我建议用单位或学校邮箱注册时等待验证时间通常更短至少2GB的剩余硬盘空间单个ASTER L2地表温度HDF文件约160到300MB视观测面积而定浏览器建议用Chrome或EdgeNASA Earthdata对Firefox的支持稍弱拖拽框选工具偶尔不响应下载工具方面如果只下几景数据浏览器自带的下载功能足够但如果需要批量下载几十景建议提前装好wget或者curl命令行工具。2. NASA Earthdata的账号注册与登录认证2.1 注册流程中容易忽略的几个点无论你用什么数据产品MODIS、LANDSAT、ASTER都走同一套账号体系都必须注册NASA Earthdata账号。打开Earthdata官网后点击右上角的Login进入User Registration页面按步骤填写邮箱、姓名和机构信息。这里有两个关键点密码要求比较特殊至少12位必须包含大小写字母、数字和至少一个特殊字符。很多人第一次会在这里被拦下建议直接用密码管理器生成一个随机密码注册后NASA会向邮箱发送激活链接必须点开链接完成邮箱认证否则后续无法在Earthdata Search创建下载订单。认证完成之后重新进入Earthdata Search页面登录。官方登录体系是单点认证之后再访问GES DISC或其他数据分发节点不需要重复登录账号密码。2.2 为什么有时候登录了还会提示下载受限这种情况非常常见。NASA Earthdata对数据下载的用户行为有自动化风控审核当检测到非常规下载行为比如短时间内发起大量订单、同一IP频繁请求会临时限制账号权限。处理方法也比较直接检查邮箱如果有来自earthdata支持团队的邮件按提示提交申诉说明即可没有邮件则可能是浏览器缓存了旧Token退出并清除cookie后重新登录一次通常能恢复。2.3 下载权限的粒度控制Earthdata账号创建后默认对所有公开数据产品有下载权限但某些受限产品比如SRTM部分版本需要额外申请会要求单独点选I Agree。ASTER L2地表温度产品属于开放数据不需要额外权限申请只要登录就能检索和下载。如果下载时遇到“Access Denied”检查一下是否用的是NASA Earthdata Search而不是单独访问某个用户上传的共享链接。3. 在地球数据搜索界面锁定目标产品3.1 搜索关键词的正确姿势进入Earthdata Search后直接把“ASTER L2”输入搜索框系统会列出相关数据集。这里我提醒一句不要只盯着名字判断。展开每个数据集的信息卡片仔细看Processing Level和Temporal Coverage两栏。搜索ASTER L2地表温度产品时建议在搜索框输入AST_09T或ASTER Surface Temperature目前常用的数据集全称是“ASTER L2 Surface Temperature (AST_09T) V003”。这个V003代表第三版算法相比早期版本改进了辐射率估算和云检测逻辑。如果搜索时直接输“ASTER L2”可能被ASTER L1A或者AST_05地表反射率占据前几行找起来会很烦。3.2 按时间范围筛选数据的技巧在左侧时间筛选栏设置具体的起止日期。这里有个很实用的经验ASTER传感器获取地表温度依赖晴空条件云覆盖严重的景数据质量很差直接下载后再筛云非常浪费流量和时间。可以在搜索界面的Additional Filters里勾选Cloud Cover字段设置最大云量阈值。我在实际使用中一般把阈值放在20%以下超过这个云量的数据很少被采用。需要注意的是Cloud Cover字段反映的是整景数据的云量百分比不是研究区上空的云量。如果研究区很小而整景影像又有大片云覆盖那么Cloud Cover的值可能很高但研究区本身可能是晴空。这种情况下不要直接跳过可以先把数据下载下来后续用云掩膜文件再判断。我在做城市热岛研究时遇到过一次这种情况整景图显示云量35%但研究区完全晴空险些漏掉了一景可用数据。3.3 空间范围选定的三种方式Earthdata Search支持三种空间筛选方式通过地图上的矩形/多边形框选工具手动划定范围通过输入经纬度坐标范围精确指定通过上传KML、KMZ或shp文件来定义研究区范围。前两种对范围较小的研究区比如视场小于单景ASTER幅宽的区块够用但如果研究区跨越多个图幅、或者形状不规则用shp文件直接圈选是最方便且不易出错的方法。这也是下一步要讲的重点。4. shp文件拖拽上传很多人在这里踩坑4.1 为什么要用shp文件而不是手动画多边形手动框选研究区有一个隐患用鼠标画的范围边界不一定与研究区实际矢量边界完全吻合尤其在面积大、边界复杂的情况下容易把非研究区大面积包裹进去后续筛选结果会多出很多无法使用的闲散图幅白白增加筛选和下载负担。shp文件是GIS领域最通用的矢量格式之一而且是各路遥感从业者最熟悉的工作文件。把研究区边界以shp文件形式直接拖拽进Earthdata Search系统会自动将该边界作为空间过滤条件搜索结果只会反回影像足迹与研究区边界相交的图幅。这个操作在登录Earthdata Search首页后直接将本地的shp文件拖拽至地图区域即可完成。4.2 拖拽失败最常见的几种原因看起来只是一个简单的拖拽动作实际执行时不少人会碰到各种状况。我总结下来拖拽失败主要有以下三个原因文件后缀不完整。shp格式实际由多个文件组成至少需要.shp、.shx、.dbf三个文件同时存在。Earthdata Search虽然显示支持shp但其实要求你把整个目录打包成zip压缩格式后上传如果你只拖拽单独的.shp文件系统会提示格式不支持。稳妥的做法是将这三个文件放到同一个目录然后压缩成zip把zip文件拖进地图区域。坐标系未正确声明。Earthdata要求上传的shp文件使用WGS84地理坐标系。如果在ArcGIS里做好研究区shp后坐标系是Web墨卡托EPSG 3857或者某国地方坐标系上传后位置会偏移甚至完全显示不出来。建议在上传前把shp文件先投影转换到WGS84经纬度坐标系EPSG 4326再打包上传。属性表里包含特殊字段。这一点比较隐蔽官方文档没有明确强调但在实践中确实存在。如果shp文件的属性表包含名称特别长或包含特殊字符的字段系统解析时可能报错。解决办法是在ArcGIS或QGIS里把属性表清理精简保留OBJECTID、名称等基础字段再导出。4.3 zip压缩包的正确制作方式在窗口操作时直接选中包含shp文件的多个文件发送到压缩文件夹即可。但如果你习惯用命令行在Linux或macOS上可以用“zip -r study_area.zip study_area/”这样打包整个文件夹在Windows命令行则可以用“Compress-Archive -Path study_area -DestinationPath study_area.zip”之类的PowerShell命令制作压缩包。另外注意压缩包内部目录层级尽量简单。有些打包工具会把文件压到多级子目录中Earthdata Search解析时可能无法正确读取最好的方式是压缩包根目录直接存放.shp、.shx、.dbf文件不要再用子文件夹包一层。4.4 拖拽成功后的状态验证拖拽成功之后地图区域会出现高亮的轮廓线同时右上角会出现一个紫红色的多边形标记。最好再放大检查一下研究区轮廓与实际地理位置是否匹配特别是如果形状比较复杂建议确认一下是否与研究区边界完全一致。如果看到轮廓出现在地球另一侧或显示不全就应该检查shp文件的坐标系是不是出了问题。如果一次生效后想更换研究区点击地图右上角的清除框选按钮重新拖入新文件即可。多个shp文件不能同时作为过滤条件使用每次只能用一个想实现多个区域自动合并过滤的话建议先在ArcGIS里做Union合并成一个shp文件再上传。5. 查看检索结果与筛选有效图幅5.1 检索结果的排序与解读设置好时间范围和空间范围后搜索界面会列出所有符合条件的ASTER L2地表温度影像足迹。列表会显示获取时间、云量、中心坐标、产品编号等信息。此时可以按照时间排序但更实用的操作是先按照云量从低到高排序优先查看晴空影像。有一个比较实用的判断经验即便云量较低也要留意各图幅的边界覆盖情况。由于ASTER幅宽较小约60km跨越研究区边缘的图幅可能只覆盖研究区极少一部分这类数据是否下载取决于研究目的。如果是做时间序列分析尽量保证下载的图幅在研究区内有足够覆盖面积如果只是提取特定日期温度场边角覆盖也值得下载毕竟多一条有效像元多一分参考。5.2 Granule ID怎么看才会不迷糊每个检索结果都有一个很长的产品编号结构是“AST_L2T_003后面跟着12位数字”之类。这个编号主要用来在数据归档系统中定位文件普通人用不到全部信息只需要关注中间有下划线分隔的数字部分这部分代表影像获取时间UTC时区和最后的版本号。一个容易踩的坑是时区问题。NASA的UTC时间比北京时间晚8小时检索结果里显示的时间是UTC如果按北京时间去理解可能会觉得影像时间比自己预期的晚了或早了8小时。做研究时建议直接把检索结果和后续HDF文件内部的时间统一转为UTC记录避免混乱。5.3 多景数据加入下载车后的管理如果需要下载多景数据点击每一景对应的下载购物车图标将数据暂存到Download Cart。之后在页面右侧的购物车面板里可以看到所有待下载的条目。这个时候如果改变了空间筛选条件购物车里的数据不会自动移除必须手动清空。我一般会在下载前认真核对一遍购物车里的数据时间范围避免把测试阶段加入的过期记录一起下单。6. 订单生成与批量下载链路6.1 生成数据订单的完整步骤购物车确认无误后点击Download Data按钮系统会跳转到订单配置页面。这里有几个选项需要认真设置输出文件格式ASTER L2地表温度数据是HDF格式选Original即可下载方式有多线程下载、直接下载链接、wget脚本三种选项压缩选项如果选择不压缩数据将以原始HDF文件直接传输选择压缩则获得tar.gz格式的压缩包。考虑到HDF文件单个体积较大我一般选择不压缩直接传原始文件理由是HDF内部本身已有压缩外层tar.gz节省的空间有限反而增加一道解压时间。6.2 用wget脚本批量下载的实际操作如果数据量比较大建议选择“Download Script”方式这样会生成一个包含所有下载链接的脚本文件。在Linux或macOS终端中直接执行“sh download_script.sh”即可。在Windows系统上也可以安装Git Bash或WSL来运行这个脚本。需要提前在终端里配置好earthdata登录凭据否则每个文件的下载都会弹出认证失败提示。配置方式是在家目录下创建.netrc文件内容为machine urs.earthdata.nasa.gov login [你的用户名] password [你的密码]出于安全考虑建议添加一行“default”之前的“machine urs.earthdata.nasa.gov”即可不要包含其它无关站点信息。6.3 浏览器直接下载与断点续传说明如果只下几景数据也可以直接在订单页面点击各个文件的下载链接浏览器会自动开始下载。但要注意这些链接的有效期一般是24小时到7天不等过期后需要重新生成订单。浏览器下载中途断网的情况很常见这时候不要慌地球数据中心会在你的订单详情页保留一段时间下载链接重新点开同一URL可以继续未完成的下载。如果使用的浏览器有断点续传功能一般都有右键复制链接后使用下载器可以按原任务继续下载。不过实测下来使用wget配合-c参数进行断点续传的体验最为顺畅。7. HDF文件下载后的本地检查与预处理7.1 判读文件有效性的快速方法下载完成后先不要急着打开软件。用系统自带的文件浏览器看看文件大小如果明显小于100MB多半是下载过程出现了中断或者服务器返回错误页面这种文件在用HDFView或Python打开时会报错。也可以直接在终端用“ncdump -h”或者Python的h5py库读取文件结构。对于不熟悉命令行的人最简单的办法是右键用HDFView打开能正常打开看到组和数据集就说明文件本身没损坏。如果只想快速验证用Python执行下面三行代码import h5py f h5py.File(AST_L2T_003.hdf, r) print(list(f.keys()))能输出数据集名称就是有效文件。7.2 经纬度坐标数据的提取方式ASTER L2地表温度产品的HDF文件内部包含地理定位数据通常以Geolocation字段存储经纬度信息。如果需要将地表温度数据与其它图层叠加建议用GDAL或PyQGIS的HDF驱动直接读取软件会自动识别地理坐标信息。如果使用ENVI打开需要注意在打开HDF文件时选择对应经纬度科学数据集否则可能出现图像拉伸变形或位置偏移。ENVI对HDF-EOS格式的支持比较成熟直接选择地表温度数据集后配准一般不会出问题。7.3 当影像与研究区不完全重合时的裁剪方法实际下载的影像范围通常会大于研究区范围在分析前需要按研究区边界进行裁剪。在ArcGIS里可以用Extract by Mask工具将地表温度栅格结合研究区shp文件进行裁剪在Python中也可以用rasterio配合geopandas完成同样的操作。这一环节中容易出错的是在投影不一致条件下直接裁剪。推荐的做法是先把栅格数据和矢量边界统一投影到同一个坐标系如UTM投影再做裁剪避免因投影拉伸导致的空间错位。如果只是做简单目视检查直接在ArcGIS中叠加显示影响不大一旦涉及数值统计或像元提取投影统一这一步不建议跳过。8. 常见问题排查实录8.1 检索不到任何数据的原因搜索结果显示空数据大概率是空间筛选和时间筛选的条件设置过严。不要在时间范围上设置得太短尤其ASTER数据在部分区域的重访周期较长如果只设置三到五天的窗口很多区域回零很正常。建议先把时间范围放宽到一个月确认研究区有数据后再压缩。另外一个很隐蔽的原因是shp文件范围与研究区实际空间位置不匹配。如果shp文件在投影转换后加载进来位置是错的会导致搜索范围完全偏离。这时在地图底图上看一下高亮轮廓是否在目标区域不在就重新做一次坐标转换。8.2 订单一直处于In Progress状态订单生成后后台可能需要几十分钟到几个小时来准备数据和生成下载链接。如果订单卡在In Progress超过6小时可以查看订单详情里是否有错误提示。常见原因是选择了非原始数据的重投影服务后台处理时间会明显增加。如果不需要重投影直接选原始数据即可更快拿到链接。有时订单页面显示两个子订单一个是数据文件一个是地理配准信息文件都下载完才算完整。如果只下载了数据文件而没有下载地理配准文件后续打开HDF时有可能出现坐标信息缺失。8.3 下载链接打不开或返回403链接过期、IP变动、cookie过期都会导致403。解决办法是回到Earthdata Search页面重新生成订单。另一个可能是目标服务器正在维护GES DISC偶尔会有维护窗口稍后再试通常可以解决。如果是脚本下载时提示403大概率是.netrc文件的机器名不对或没有正确加载。用“wget --auth-no-challenge”参数强制认证也可以有效规避这个报错。8.4 温度数值范围看着“不正常”ASTER L2的地表温度产品像元值是科学数据集SDS单位是开尔文Kelvin数值范围通常在270到330K。如果看到数值几百到几千或者出现15300这样的整数说明还没有经过定标公式换算。这一步不需要过度担心在读取时按产品质量文档里的Scale Factor处理即可。具体做法读取数据后乘以0.1或产品文档中标注的系数再减去273.15转换为摄氏度。我遇到过一位朋友打开影像后看到像元值全是零追问之下发现是没有选择正确的科学数据集读取了QA带而不是温度数据集。ASTER L2地表温度产品的HDF文件里包含多个科学数据集一定要选择名为“Surface Temperature”的数据集而不是各类质量标识QA字段。8.5 用shp文件上传时提示“Invalid File”怎么办这个提示大概率原因就是没有打包成zip或者压缩包内没有直接包含shp文件。重新打包时注意选择zip格式而不是7z或rar。如果打包格式没问题就检查shp的编码格式在ArcGIS中导出shp文件时可以选择代码页尽量选择UTF-8避免属性表中文乱码影响解析。9. 一点个人经验分享ASTER L2地表温度数据在Google Earth Engine等云端平台上其实也有归档产品如果不需要原始HDF文件做逐像元级分析在GEE里直接调用ASTER LST数据集往往更方便。但如果是做需要下载原始数据进行重投影、裁剪、或者做多传感器交叉验证的研究从NASA Earthdata手动下载仍然是绕不开的路径。我在多次下载ASTER L2地表温度数据的过程中最大的体会是90%的卡顿都出在搜索条件设置和shp文件格式上而不是NASA下载链路本身。建议第一次动手时先下载一景小范围的单景数据完整跑通下载、打开、裁剪流程后再批量操作这样即使出问题也只损失一次试错时间。另外要提醒一下ASTER任务的Terra卫星已经运行了二十多年传感器某些波段的性能老化和辐射校准不确定性会比早期更明显。使用近几年ASTER L2地表温度数据时最好和MODIS地表温度产品做个粗糙的空间对比确认量级一致再放心使用。做了这一步后面换审稿人或验收专家提问时你也有底气说清楚数据源的质量控制情况。最后下载好的HDF文件建议按“日期_产品号”的规则命名保存并单独建一个清单表格记录每景数据的云量、UTC时间、覆盖范围这习惯能让你在写方法章节或数据说明时省下大量翻查时间。