☰
ASTER L2地表温度数据下载处理:从NASA Earthdata到ArcMap完整实操
2026/10/5 6:14:42 网站建设 项目流程

做地表温度研究的人,一定绕不开ASTER这组数据。它是NASA Terra卫星上的中分辨率热红外传感器,L2级地表温度产品AST_08的空间分辨率能到90米,在城市热岛、火山热异常、地热资源调查这些场景里,比MODIS的1公里数据好用太多。但我的学生第一次从NASA Earthdata下载ASTER L2时,几乎每步都卡:账号怎么注册、产品怎么搜、几十个HDF文件怎么批量下、下载完用哪个软件打开,还有最常见的——手里明明有shp文件,却不知道可以直接拖进去圈选研究区。这篇文章就是一条龙保姆级教程,把我这些年反复操作沉淀下来的流程、参数和踩坑记录全部放出来,给准备入门的遥感同学和刚接项目需要LST数据的人直接抄作业。

1. 下载前必须弄懂的ASTER L2地表温度数据

1.1 先搞清楚你拿到的到底是什么

ASTER是Terra卫星上的高级星载热发射反射辐射计,可以同时获取可见光近红外(15米分辨率)、短波红外(30米分辨率)和热红外(90米分辨率)数据。其中L2级地表温度产品在NASA的Earthdata平台上的短名是AST_08,全称是ASTER L2 Surface Temperature Product,目前常用版本是V003。这个产品直接帮你做好了大气校正和温度反演,不用自己处理大气参数,下载下来就能看到地表热红外亮温反演后的物理温度,对做城市热岛、地热异常、火山活动、干旱胁迫甚至考古探测的人都很实用。

为什么很多人不用MODIS地表温度而不是ASTER?关键就是空间分辨率。MODIS的地表温度产品分辨率大约是1公里,适合做省域、全国甚至全球尺度;ASTER L2能到90米,虽然重访周期差不多16天,但在城市街区、农田地块、矿区这种中小时空尺度研究里,1公里往往看不出细节,90米能看到道路、建筑、水体之间的温度差异。所以如果你要把地表温度结果和土地利用分类、地块边界叠加,ASTER是比MODIS合适得多的选择。

还有一个容易弄混的地方:ASTER的L2产品不止温度一个,比如AST_05是地表发射率、AST_07XT是地表反射率、AST_09T是地表辐亮度。标题里说的地表温度,一定要认准AST_08,不然搜索出来一堆AST_08之外的HDF文件,处理时科任何意义。

1.2 核心参数和格式,提前避免选错

ASTER L2地表温度产品的几个关键参数,我习惯在下单前先理清楚:

  • 卫星与传感器:Terra卫星上的ASTER传感器。
  • 产品短名:AST_08(不要选成AST_05或AST_09T)。
  • 产品版本:V003。
  • 空间分辨率:热红外波段90米。
  • 单景幅宽:大约60千米×60千米。
  • 重访周期:约16天。
  • 数据格式:HDF-EOS(HDF4变体,不是普通GeoTIFF)。
  • 单位:产品里存的表面动力学温度以开尔文(K)为单位,通常还带有比例因子。
  • 文件大小:单景HDF从几十兆到一百多兆不等,视内容而定。

下载之前还要明确一个概念:Earthdata Search里显示的是"一景一景"的数据产品,每一景对应一条轨道上的某个60千米宽的条带,不是整块无缝的大区域。如果你的研究区是100千米×100千米,很可能会覆盖两三景影像,需要分别下载再做拼接。而且ASTER重访周期16天,时间上不可能做到每天都有,搜索时一定要把时间范围放大到目标季节或月份,否则可能一景都搜不到。

另外,这个产品在HDF文件内部通常不是一个直接可以显示的栅格,而是包含多个科学数据集(SDS),其中核心数据一般是Surface Kinetic Temperature数组,用处是温度值;同时还有纬度、经度等辅助定位数组和质量控制信息。第一次打开如果看到一堆子数据集,不要慌,把它理解为一个压缩包,里面装了好几个图层,你只要把温度图层取出来用就行。

1.3 需要提前准备好的账号和软件

下载ASTER L2必须有一个NASA Earthdata账号。注册地址是urs.earthdata.nasa.gov,用邮箱注册并激活后,在Earthdata Search右上角登录一次,后续所有相关服务基本都能通用。这一步千万别偷懒,不登录能搜索,但点下载时会让你一遍遍跳转登录页,下载大文件更会因会话过期而失败。

软件方面,我建议准备三类:

  • 下载工具:基础的浏览器下载就能用;文件多的话,Earthdata Search会生成Python或shell下载脚本,所以电脑上最好装一个Python 3环境。
  • 数据查看与预处理工具:ENVI、QGIS、ArcMap/ArcGIS Pro、HDFView,四选二即可。ENVI打开HDF-EOS很顺手,ArcMap适合后续用shp裁剪和制图,HDFView免费小巧,适合快速检查波段名。
  • 命令行工具:Windows可以装Git Bash,或者直接用PowerShell;主要用来跑下载脚本和写简单的Python读取代码。

如果你打算用shp文件做研究区筛选,还要事先确认shp能不能用。所谓"能不能用",最基本的是 .shp、.shx、.dbf、.prj 这几个文件要齐全,起码要有前三个。网上很多人只下载了一个.shp文件,拖进软件后就报错,实际上shp是一组文件,不是单文件格式。如果有.prj文件,坐标系信息就完整,后面拖进Earthdata Search或ArcMap时能少踩很多坑。

2. 从NASA Earthdata检索并下载ASTER L2:保姆级实操

2.1 登录账号并打开Earthdata Search

打开设备上的浏览器,进入 search.earthdata.nasa.gov。首次使用点击右上角Log In,输入Earthdata账号密码登录。这一步看着简单,但我见过不少人卡在"登录后还是显示未登录"的情况,主要原因一般是浏览器拦截了第三方Cookie,或者登录页跳转没完成。处理办法是关掉广告拦截插件,刷新一次页面再去登录。

登录后,顶部搜索框输入AST_08,下拉结果里会出现“ASTER L2 Surface Temperature Product V003”,点击它加入收藏,也可以直接在左侧数据集中勾选它。页面上接下来有两样东西要设置:时间和空间范围。时间范围在左侧的时间轴上选,可以用下拉日历精确到天,也可以直接输入起止时间。空间范围一般有两种方式:手动画框,或者导入shp。手动画框适合粗范围找数据,而shp适合精确到行政边界、流域边界或地块边界。

还有一个细节值得记下来:搜索AST_08后,地球上的区块会变成有颜色的多边形或方框,表示这里有对应的数据场景。点击后会出现该场景的日期、轨道号、云量、浏览图等信息。云量这一项如果看不到,也不要紧,重点先看浏览图,挑没有大片云遮挡的景。

2.2 用shp文件一键圈定研究区,这个拖拽技巧太重要

很多教程只教你在地图上手动画框,但如果你手里有研究区的行政边界或流域边界shp,手动画框又费劲又不精确,还可能把边界外不需要的场景全选进来。这里我强烈推荐直接用shp文件圈定研究区。

在Earthdata Search的地图界面,左侧工具里通常有一个导入空间范围的功能,支持GeoJSON、KML和Shapefile。请牢记:散装的shp文件(单独的.shp)拖上去浏览器经常不认,最稳妥的是把.shp、.shx、.dbf、.prj打包成一个zip压缩包,然后把这个zip文件直接拖拽到地图区域,或者通过导入按钮选择zip包。上传成功后,地图上会出现你的研究区边界,数据结果也会自动限制在这个边界内,搜索结果直接从几百景变成和你研究区真正相交的十几景甚至几景。

如果上传后提示无法识别,先检查压缩包里的文件是否齐全,再看坐标系是否是WGS84或可被Earthdata识别的坐标系。经纬度坐标的shp(GCS_WGS_1984)是最不容易出问题的;如果是CGCS2000或者高斯投影的平面坐标shp,建议先在ArcMap里做一次转换再上传,不然可能出现边界跑到海里或者完全对不上的情况。另外,如果shp是多边形,用它圈AOI没有问题;但如果是道路shp这种线状要素,我更建议你先用ArcMap把道路做缓冲区分析,生成面状缓冲后再上传,因为Earthdata的空间筛选是以面为基础的。

2.3 从结果里挑景并加入Project

设置好时间和shp范围后,左侧结果列表会列出所有匹配的ASTER L2场景。每一条通常有日期和时间,可以先把需要的时间段内所有景都选中,不用急着逐景精确到轨道号。ASTER数据一景大约只有60千米宽,如果你的研究区比较大,跨了几条轨道,结果里会出现同一日期、不同轨道号的多个数据块,这些都是正常现象,全部选上就行。

把需要的场景加入右侧的Project后,不要急着下载,先在Project面板里做一次检查。检查什么?第一,数量是否合理。研究区100千米×100千米、时间跨度一个月的话,理论上十几景到几十景都正常,如果只有一景且面积感觉明显不够,可能是shp范围没生效,回头再看一眼边界。第二,时间是否覆盖齐全,不要漏掉关键日期的数据。第三,有条件的话打开浏览图,特别是夏季研究区,如果云量覆盖太多,温度产品里的有效像元会很少,下回来也基本不能用。

确认无误后,点击Project面板里的Download链接。这里下载方式选择是关键一环,按下面这个思路走,能省下无数时长。

2.4 批量下载:直接下载、脚本下载和断点续传

下载方式有三种,可以按数据量选择:

  • 只有一两景,直接点Download,浏览器下载单个HDF文件,最简单。
  • 有几十景,在Download窗口里选择Download Script,建议生成Python脚本。脚本会保存成一个download.py文件,打开命令行进入该目录运行python download.py,只要网络稳定,它会逐个下载。如果一个文件中途失败,可以删掉这个不完整的文件再跑一遍脚本,一般能接着下载。
  • 想用wget或curl手动下载,也可以在Download窗口拿到链接列表。把这些链接保存成txt,一行一个,然后执行wget -i links.txt -c。这里的-c就是断点续传,遇到断网或服务器中断不用从头开始。

我特别想提一个在实际操作里反复出现的坑:用脚本下载时,经常会有某个请求跳到Earthdata登录页面而不是直接返回文件,导致下载下来一个HTML错误页而不是HDF文件。这种情况大概率是认证状态过期。最简单的解决办法是把download.py重新生成一次,再用新脚本下载;如果是在命令行里用curl或wget,也可以提前准备一个.netrc文件放在当前目录,里面写清楚Earthdata账号密码,让认证自动完成。千万别手动去浏览器复制下载链接再粘贴到软件里,这种下载链接通常具有时效性,过一段时间就会失效。

另外,不建议同时跑十几个下载线程。Earthdata虽然不限速,但瞬时大量并发请求容易触发服务端限流,让某些文件返回403。我实测下来,脚本默认的串行或最多3-5个并行就足够了,下载速度不慢,而且稳定性好很多。如果你的网络本身就不太稳定,可以每天晚上挂着脚本,第二天检查一下断点续传结果,比白天实时盯进度舒服得多。

2.5 下载之后先做一轮完整性检查

HDF文件下载完成后,先别急着解压或转格式,先看一眼文件大小。正常的ASTER L2 HDF文件通常有几十兆以上,如果看到0字节或只有几KB,基本可以判断下载中断或认证失败,这种文件直接删掉重新下载。然后再用HDFView打开一个文件,看一下能不能正常列出子数据集,能列出来说明文件没有损坏。

我自己习惯在本地按日期建文件夹,比如ASTER_LST/20240526/,把所有同一天下的文件放一起,文件名里的时间字段可以辅助识别。这样到了后面按时间序列分析时,找数据一目了然。不要一股脑全堆在Download目录里,几十个HDF文件堆在一起,文件名又长,后面处理时光核对文件就够头疼的。

3. 拿到HDF文件后怎么打开和处理

3.1 用HDFView、ENVI和Python读取温度子数据集

ASTER L2的HDF文件不是普通图片格式,直接双击可能默认打开失败。先推荐免费工具HDFView,打开后左侧是一棵树状结构,找到Surface Kinetic Temperature这个科学数据集,右键选择打开图像,就能看到灰度温度影像。如果想在遥感软件里进一步做投影转换和裁剪,用ENVI更顺手:File → Open External File → EOS → HDF,选择产品中对应的SDS,即可把它当作普通栅格加载。

ArcMap用户要稍微注意,老版本ArcMap对HDF4的支持并不算好,有时只能看到是栅格目录却无法正确拉伸显示。我通常的解决办法是先用Python的rasterio或GDAL把HDF转成GeoTIFF,再拖进ArcMap,这样后面按掩膜提取和shp裁剪都会省事很多。

用Python打开也很简单,可以参考下面这段代码:

import rasterio hdf_path = "AST_L2_xxx.hdf" with rasterio.open(hdf_path) as src: subdatasets = src.subdatasets print(subdatasets) # 第一个子数据集不一定是温度,先打印清单确认

如果要用GDAL直接定位温度子集并导出GeoTIFF,可以这样:

from osgeo import gdal hdf_path = "AST_L2_xxx.hdf" ds = gdal.Open(hdf_path) subs = ds.GetSubDatasets() for sub in subs: print(sub[1]) # 查看子数据集名称

我的习惯是先打印所有子数据集名称,找到包含“Kinetic Temperature”或“Temperature”的项,再把它单独打开。提取温度数组之后,记得检查属性里的单位,ASTER L2的地表温度一般以开尔文为单位,而我们要用摄氏度时,需要减去273.15。这一步看起来基础,但我见过很多新手直接拿K值的灰度图去和其他摄氏温度数据比较,最后结果差了300度还浑然不觉。

3.2 温度单位转换、NoData处理和投影

当把温度数组读到软件或脚本里后,通常需要做几步处理。第一是看比例因子。如果产品节点写明了scale_factor为0.1或0.01,那么原始DN值需要先乘上这个系数,才能得到真实的开尔文温度。第二是无效值。云覆盖区、水体边界和扫描条带边缘可能有一些填充值,比如65535或0,如果不设置NoData,这些非温度值会被当成有效像元参与计算,轻则温度均值偏高,重则整个温度场出现条带状异常。

投影方面,ASTER L2原始HDF一般自带地理定位数组,但未必是ArcMap默认能正确识别的标准GeoTIFF投影。为了能和shp文件准确叠加,建议把温度数据输出为WGS84或UTM投影的GeoTIFF。用GDAL转换时,可以指定输出参考系:

gdalwarp -t_srs EPSG:4326 -dstnodata 65535 input.hdf temp_wgs84.tif

这里EPSG:4326就是常见的WGS84经纬度坐标系。如果你的研究区范围不大,后续要和矢量边界叠加,我更推荐转成UTM投影,因为长度和面积误差更小。投影选择的原则其实很简单:你的shp是什么坐标系,或者你的研究区所在的通用坐标系是什么,就把温度栅格转成一致的坐标系,省得后面经常做投影变换。

3.3 用shp对温度栅格做裁剪:按掩膜提取

数据到了这一步,通常就要把温度结果限制在shp范围内了。在ArcMap里最直接的工具是“按掩膜提取”(Extract by Mask),位置在“ArcToolbox > Spatial Analyst Tools > Extraction > Extract by Mask”。输入栅格选刚才导出的GeoTIFF温度数据,输入掩膜数据选你的研究区shp,输出路径给一个GeoTIFF文件,点击确定即可。

这里要再次强调坐标系一致性。如果栅格是WGS84经纬度,shp是CGCS2000高斯投影,直接做掩膜提取,软件虽然不会报错,但提取出来的范围可能偏出你预期的研究区,甚至出现黑边或空洞。我的习惯是:在做掩膜提取之前,先用“分析工具 > 投影和变换 > 要素”把shp投影到和栅格一致的坐标系,然后再执行提取。这一步多花十秒钟,但能避免后面检查成果时怀疑人生的十几分钟。

如果你用的是QGIS,也可以用“栅格 > 提取 > 按掩膜层裁剪栅格”,处理逻辑和ArcMap一致。命令行人群还可以用GDAL的裁剪功能:

gdalwarp -cutline study_area.shp -crop_to_cutline -dstnodata 65535 input_wgs84.tif output_clip.tif

-crop_to_cutline参数会让输出范围严格贴合shp边界,这对后续做统计非常有帮助。

3.4 温度产品的质量意识和多景拼接问题

ASTER L2温度数据虽然经过了官方反演,但不代表每个像元都能放心使用。云覆盖区域、地形阴影区、未正确配准的扫边区域,温度值可能偏差较大。我在做城市热岛研究时,会同时下载对应日期的浏览图和QA信息,或者在ArcMap里把温度图层调成50%透明度叠加在真彩色影像上看,凡是看起来像云的地方,都要在后续统计里剔掉。这个步骤可能让有效面积缩减不少,但换来的结果是可靠的。

如果研究区需要多景拼接,建议先对每一景单独做温度定标、NoData设置和投影转换,再用“镶嵌至新栅格”(Mosaic to New Raster)工具拼接。拼接时选择“MEAN”或“BLEND”方法都可以,别选“FIRST”,因为重叠区域可能出现明显接缝。另外,不同日期的场景尽量不要强行拼接成一张温度图,地表温度和太阳辐射、云覆盖状态高度相关,跨月跨季拼接的成果在物理解释上会非常尴尬。

4. 把Excel经纬度数据变成shp文件:另一种拖拽玩法

4.1 Excel表里的经纬度怎么才能变成点shp

你在前面下载ASTER或者用shp做区域选择时,手里可能只有一堆研究对象点的坐标,比如气象站点、采样点、观测井,坐标记录在Excel里。这些坐标能不能直接变成shp拖进ArcMap?当然能,而且流程很简单。

先看Excel表的整理规则。通常至少需要三列:点号、经度、纬度。经度是X,纬度是Y。如果坐标是度分秒格式,一定要先转换成十进制度,比如107度30分要写成107.5度,否则导入后点的位置会完全不对。字段名建议用英文字母,比如ID、Lon、Lat,避免ArcMap老版本对中文表头或中文路径出现编码问题。

表准备好后,把Excel另存为.xls格式,或导出成.csv。这里有个经验:如果你用的是CSV文件,在ArcMap里通过“添加数据”导入时,中文字段名和中文内容经常乱码;另存为.xls后用“添加XY数据”功能导入,成功率更高。我通常就是用.xls,省心。

4.2 在ArcMap中添加XY数据并导出成shp

打开ArcMap,执行以下操作:

  1. 菜单栏“文件 > 添加数据 > 添加XY数据”。
  2. 在弹出窗口里选择刚刚那个Excel表。
  3. X字段选经度列,Y字段选纬度列。
  4. 点开坐标系按钮设置坐标系:如果Excel里的经纬度是基于GPS采集,通常是WGS84坐标系,选“Geographic Coordinate Systems > World > WGS 1984”。
  5. 点击确定。地图上会出现一个临时点图层,名字类似“xx事件”。
  6. 右键这个临时点图层,选择“数据 > 导出数据”,导出要素类型选“SHP”,保存成一个真正的shp文件。

很多新手做到第5步就以为完成了,其实这里导出的只是一个临时事件层,关掉ArcMap或清除地图文档后可能就没了。必须做第6步导出成shp,才能作为文件长期保存。导出时生成的.shp、.shx、.dbf、.prj四个文件会出现在同一个文件夹里,以后用的时候直接拖拽整个文件组即可。

还有一类情况更隐蔽:如果Excel里的坐标已经是平面坐标,比如带有中央经线的高斯投影坐标,或者UTM投影坐标,那么添加XY数据时坐标系一定不能选WGS84经纬度,而要选对应的投影坐标系,比如UTM Zone 49N或CGCS2000 / 3-degree Gauss-Kruger。选错的结果就是点全部跑到一个看起来完全不相关的地方,或者点都重叠在一个小角落,这时候不要怀疑Excel数据,先去检查坐标系设置。

4.3 shp拖进ArcMap的正确姿势和常见错误

现在你已经有了研究区shp或点shp,怎么拖进ArcMap最稳?我推荐的方式是:先新建一个空白的ArcMap地图文档,然后在Windows资源管理器里找到shp文件,按住鼠标左键,把它拖到ArcMap左侧的内容列表(Table of Contents)区域,松开鼠标。如果拖到地图视图中央,有时候会变成添加数据失败,或者图层没进内容列表,反而不太方便。

拖进去之后,ArcMap底部或图层上可能会有黄感叹号提示,常见的有三类:

  • 找不到.shx或.dbf:文件组不完整。回文件夹确认三个文件都在,并且名称完全一致。
  • 无法识别坐标系或缺少投影信息:shp没有.prj文件。右键图层属性查看范围,如果显示的和预期不符,用“定义投影”工具补一个坐标系,或者重新在源软件里导出一次。
  • 图层虽然能显示,但位置和底图对不上:大概率坐标系不一致。比如shp是CGCS2000,底图是WGS84,两者单看数字差不少,尤其在高斯投影下会偏移几百米甚至几公里。这种情况需要用“投影”工具把shp转换到和底图或栅格相同的坐标系,再进行叠加。

如果你拿到的shp是网上下载的道路shp、行政区shp,也要先做同样的检查。很多平台分享的shp文件坐标系各不相同,有的没有.prj,有的是Web墨卡托(EPSG:3857),有的则是CGCS2000。这些数据本身没有对错,只是使用时必须有明确的坐标基准。我的建议是,进入项目后给自己定一个统一坐标系,比如WGS84 UTM或CGCS2000,所有外部shp和遥感栅格都统一到这个坐标系下再分析,能省掉后续大量对不齐的烦恼。本地上传。

4.4 shp在Earthdata Search和ArcMap之间的联动

把Excel转为shp后,这个点shp还可以进一步联动到ASTER下载流程里。比如研究区有很多采样点,每个点需要对应相应的地表温度值,你可以把点shp打包成zip,拖进Earthdata Search圈选空间范围,筛选出覆盖所有样点的ASTER场景。下载完成后,再把点shp拖进ArcMap,用“多值提取至点”(Extract Multi Values to Points)工具,把温度栅格值提取到每个点上。这一套流程连起来,就是从“坐标表→shp→下载ASTER→抽样提取温度”的完整链路,非常实用。

如果要用“多值提取至点”,注意输入点要素和栅格数据必须完全在同一个坐标系下,否则提取结果会出现Null值或错位。我的做法是先把点shp投影到温度GeoTIFF的坐标系,再做提取,一点差错都不出。

5. 常见问题与排查技巧

5.1 Earthdata下载阶段的典型问题

我把这几年在下载ASTER时遇到的高频问题整理成了一张表,方便大家对照排查:

现象可能原因解决思路
搜索结果为空产品没选对,时间范围太小,shp范围和研究区不符检查搜索框是否有AST_08,放大时间范围,确认shp边界
下载文件是HTML页面认证失效,下载链接跳转到登录页重新生成下载脚本,或检查.netrc认证配置
下载到一半断连网络不稳定或服务器断开使用wget -c断点续传,删除不完整文件后重试
请求返回403并发下载太多,服务端限流降低线程数,串行下载或最多3-5个并行
HDF文件0字节下载中断,或浏览器插件拦截删除该文件,重新下载
脚本运行报错本机Python环境问题,或脚本路径有中文安装Python 3并确认命令可用,将文件夹路径改成英文

这里面最值得提醒的是“脚本运行报错”。很多人把download.py放在桌面下名为“新建文件夹”的中文路径里,Windows命令行解析起来很容易出问题。我一般会专门建一个英文路径,比如D:\aster_data\download,所有脚本、链接文件和HDF文件都放这个路径下,能避免很多莫名其妙的问题。

5.2 HDF文件打开和处理阶段的常见问题

HDF文件打不开,不只是软件兼容性问题,很多时候是选错了子数据集。我见过有人用ENVI打开HDF后,默认加载了Geolocation数组,看见经度和纬度两个数组当成了影像,输出后全是经纬度值,还以为是下载错了数据。所以一定要认准温度相关的SDS,比如Surface Kinetic Temperature、Surface Temperature这类字段。

如果温度影像显示出来是一片漆黑,通常不是没有数据,而是没有做对比度拉伸。HDF原始值范围往往在2000到4000之间(DN值,视比例因子而定),直接按默认的0到255范围显示,当然全黑。解决办法是在图层属性里做一次百分比拉伸,或者把DN值转换为摄氏温度后再渲染。用ArcMap的朋友可以右键图层属性,在符号系统里选择Stretch类型为Percent Clip,设置2%到98%的裁剪范围,温度梯度一下就出来了。

投影和shp叠加对不上的问题,多半也和坐标参考有关。这里有一点容易忽视:Earthdata上有些栅格产品虽然写着WGS84,但实际是原始条带数据,可能不带标准投影信息。如果你在ArcMap里看到温度栅格范围显示的是0到几百、0到几百这种奇怪数字,最好用GDAL或ENVI重新生成一个带地理定位信息的GeoTIFF,再做后续操作,不要将错就错。

5.3 温度数值对不对:一个必须做的快速验证

无论下载和处理流程多顺利,拿到温度产品后我都会做一个快速验证:随便取一个已知地物或站点的温度,看看数值是否合理。比如夏季白天城市地表温度经常在30℃到50℃之间,夜间可能降到10℃到25℃;如果读出来是300多K但没转摄氏度,或者转完后数值高达300℃以上,就要回头检查定标和单位换算。

还有一个验证技巧:在ArcMap里用“识别”工具点击水体中心点。水体热惰性大,昼夜温差小,如果水体像元温度比周边裸地高得离谱,说明数据或处理流程可能出了问题。这个检查和下载阶段的质量控制配合起来,可以让你在进入正式分析前就把数据问题扼杀在摇篮里,而不是等统计结果出来了才发现异常。

5.4 收藏一个长期可用的工作流模板

最后说点工作流层面的经验。做遥感数据下载和处理,最怕每次都临时想起一个命令、临时试一种投影,这样效率很低。我自己在电脑里维护一个小文件夹,里面有下载脚本模板、HDF转GeoTIFF的Python脚本、shp坐标检查脚本和一份简单的README,记录每次处理时的注意点。每次新接ASTER任务,就把这个模板复制一份,改日期、改研究区直接跑。这样既保证了前后处理标准一致,也避免重复踩同一个坑。

如果你经常用ArcMap做掩膜提取,还可以把“定义投影”“投影工具”“按掩膜提取”“多值提取至点”这些操作存成ArcToolbox里的模型(ModelBuilder)。下次只要输入新的HDF转好的GeoTIFF和新的shp,模型会自动完成投影校验和裁剪提取。我实测下来,这套模型用在批量处理几十景ASTER温度数据时,能省下一整天的手动劳动。

最后顺手再分享两个压箱底的小习惯

一个是下载ASTER之前,哪怕你很确定坐标系统,也尽量把shp转成WGS84并在Earthdata Search里拖拽验证一次。这个动作看着小,却能避免你把研究区边界搞错后辛辛苦苦下了一堆不在范围内的数据。

另一个是处理完温度数据后,先把结果存成一个副本,再开始做拉伸、裁剪和拼接。HDF和GeoTIFF这种栅格文件处理不可逆,原始数据一旦被覆盖或误调,重新下载又得花很多时间。我给数据文件起名的规律是:原始HDF加_raw后缀,转投影后的GeoTIFF加_wgs84,裁剪后的加_clip,每一步都不覆盖上一步的结果。这样即使后面某一步参数没调好,也能快速回到上一个阶段重新处理,不用全部推倒重来。希望这些经验能帮你在ASTER L2地表温度数据的下载和处理上少走几步弯路。

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

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

立即咨询