干遥感这行ENVI和哨兵一号基本是绕不开的一对组合。不管你是做地表形变、土地利用还是灾害应急评估手里只要是哨兵一号雷达影像第一反应十有八九是把它塞进ENVI里用SARscape套件或者自带工具啃一遍。这个流程我用过很多年从刚开始的瞎点一通、产出一堆不知道对不对的图到现在形成一套稳定的处理习惯中间踩过的坑绝对不少。这篇文章就干脆把整个“ENVI哨兵一号数据处理”过程完整拆开数据获取、导入、GRD后向散射处理、纹理特征提取、土地利用分类转移矩阵再到SARscape里没有GACOS这类容易卡壳的问题一条条捋清楚。无论你是刚入门的遥感学生还是已经跑过好几单项目的从业者照着这套流程实操一遍基本能少走两个月弯路。1. 拿到哨兵一号数据后先想清楚要做什么很多人一拿到哨兵一号数据就急着开ENVI导入结果发现原始格式打不开、波段一堆、软件报错心态直接崩。其实处理这一步之前最该做的是把项目需求想明白你手里这景哨兵一号影像到底想用来干什么1.1 哨兵一号数据本身的脾气要摸清哨兵一号是C波段合成孔径雷达卫星波长5.55厘米双极化VVVH为主部分地区有HHHV重访周期6天分辨率大概5米×20米到20米×40米。它和光学影像最大的不同是主动微波成像不受云雨影响能全天时工作这一点在处理中国南方经常被云覆盖的区域时特别有用。产品级别也很关键。日常用得最多的是两种GRDGround Range Detected和SLCSingle Look Complex。GRD已经做了检波处理只有幅度信息适合后向散射分析、分类、变化检测SLC保留了相位信息是做InSAR、地表形变测量的唯一选择。不少人第一次处理哨兵一号SLC和GRD混着下导致后面流程怎么跑都不对。所以在下载数据之前就要决定好如果你只想要一张能反映地物后向散射强度的图选GRD如果目标是形变、高程、沉降监测那就必须拿到SLC并且最好用成对的干涉组合。1.2 在ENVI里哨兵一号数据通常用来产什么东西结合我实际接触过的项目用ENVI处理哨兵一号影像核心产出大概就这几类后向散射系数图σ0这是最常见的目标。用于水体提取、建设用地识别、作物长势监测、洪水淹没范围圈定等。雷达纹理特征比如对比度、均值、方差、相关性、熵。很多做分类的朋友发现仅仅用回波强度分类精度老是上不去加上纹理特征后精度能提高不少这也是“envi提取纹理特征”这个热搜词背后的真实需求。极化组合特征比如VH/VV比值在洪水和积水中提田埂很有效。形变产品这个需要用SARscape的InSAR模块流程更复杂。土地利用分类结果以及两期分类结果的变化矩阵也就是“envi做土地利用分类转移矩阵”那部分内容。想明白自己要干什么才知道该下载哪种数据、跑哪条流程。这个习惯救了我很多次绝不会做无用功。1.3 这套流程适合谁说实话只要跟遥感影像打交道的人都能用上。在校学生做毕业论文用哨兵一号做某个区域的洪水水体提取照着GRD流程跑一遍就有图有数据科研人员做长时间序列的雷达后向散射分析需要批量处理几十景数据按这套标准流程可以避免很多低级错误工程项目里需要快速提供一张分析结果图ENVISARscape也完全能顶住。2. 处理前的环境准备、数据下载和导入技巧哨兵一号的数据是通过官方平台下载的拿到手是压缩包里面是一大堆测量清单文件和二进制数据。这一步看起来简单实际上导入环节最容易翻车。2.1 ENVI和SARscape的安装要注意版本匹配我见过不少困在软件安装上同学的例子。ENVI用老版本5.3然后强行配一个最新版SARscape结果插件加载不上各种功能灰着不能用。这里先说清楚ENVI必须用64位版本内存建议至少16GSARscape有对应的ENVI版本要求如果ENVI是5.6就找兼容5.6的SARscape版本。装之前先到官网查清楚的兼容性表格别踩了版本坑。ENVI对硬件的要求其实不高但哨兵一号GRD数据一般都在几百MB到1GB左右SLC干涉对更占用内存。处理大区域时经常出现内存溢出所以最好配一台32G内存以上的机器或者学会后面要讲的分块处理。2.2 哨兵一号数据去哪里下载、选哪类下载渠道主要有两个欧空局的Copernicus Data Space Ecosystem以及ASF DAAC。欧空局官网数据最全支持按轨道号和采样时间筛选ASF的优点是镜像多下载速度快一点而且支持按干涉组合直接查找适合下载SLC做InSAR。搜索时需要注意几个参数产品类型按需求选GRD或SLC。传感器模式大多数地区都能拿到Interferometric Wide SwathIW模式产品这个模式覆盖范围250公里分辨率适中是最常用的模式。Strip MapSM模式分辨高但幅宽窄一般用于局部重点区。极化方式GRD产品通常有VV和VH两个极化这两者都用得上不要只下单个极化。时间范围做变化检测的要保证两期数据的轨道号和模式一致尽量选同一轨道方向的影像。下载下来的zip包通常以S1A_IW_GRDH_1SDV开头压缩包里包含annotation文件夹、measurement文件夹和preview文件夹。我习惯先把原始zip包保留在原地解压后单独放数据文件夹这样处理出错时还能重新解压对比。2.3 导入ENVI的正确姿势别直接Open新人在ENVI里看哨兵一号数据时常常直接File→Open然后选一个measurement文件夹里的tiff文件发现能打开但完全没法做后续的雷达处理因为SARscape的核心信息轨道参数、极化、几何定标信息都散落在annotation和calibration文件里光打开一个强度图毫无意义。正确做法是用SARscape模块的Import功能选择SARscape→Import Data→SAR Spaceborne→Sentinel-1然后把已经解压的文件夹整个选进去。系统会自动识别产品级别、轨道信息、极化通道并且生成ENVI能直接读取的格式。导入完成后在文件夹里能看到以.sio结尾的输出文件这个格式是SARscape的定制格式处理效率比普通tiff高得多。这里有个很重要的经验文件夹路径千万不能有中文也不能有空格和特殊字符。我做过一个项目因为放在“百度网盘下载”这个目录下SARscape反复导不进去报错信息还不明显最后把路径改成都英文字母就解决了。所以从下载那天开始就把数据路径设置成类似D:\Sentinel1\20240915_Hangzhou这种风格能省很多事。3. 核心处理流程从原始GRD到能用的后向散射影像如果你只是需要一幅经过定标和地形校正的后向散射图用于水体提取、土地利用分类或者简单变化检测那核心流程就是多视→滤波→辐射定标→地形校正。很多人喜欢问这套流程能不能简化我的回答是每一都有它的道理顺序不能乱。3.1 为什么GRD处理必须按这个顺序来哨兵一号的GRD产品虽然是经过检波的但还是带着非常严重的斑点噪声speckle。斑点噪声是雷达相干成像固有的本质上是随机乘性噪声直接拿原始强度图去做分类或者灰度提取结果全是椒盐噪点根本没法看。所以第一步是用多视处理来初步压制噪声同时把图像像元近似做成正方形便于后续分析。多视后会生成强度图这时辐射定标是把它转成真正意义上的后向散射系数数学上要校正雷达天线方向图和距离衰减。然后是滤波进一步削弱斑点噪声这一步是为了得到平滑又有纹理细节的影像。最后做地形校正解决SAR侧视成像造成的透视收缩、叠掩和阴影让影像几何关系更接近真实世界。顺序能调换吗我的建议是别调。如果先滤波再多视滤波器在低视数影像上作用不稳定容易把真实地物细节抹掉如果先地形校正再定标虽然是有人这么干但地形校正会做重采样重采样相当于引入一次插值误差会让后续的定标精度变差。所以我处理时一直坚持传统的多视→定标→滤波→地形校正实测最稳。3.2 第一步多视处理参数怎么给在SARscape Basic焦点的里面有个“Multilooking”工具选Already focused是适用于SLC数据的。这里我们针对GRD数据可以直接用“GRD data”工具或者有的版本里是“Multilooking”下方的“GRD to Ground”功能。以IW模式GRD为例多视视数一般设成距离向2、方位向4或者距离向1、方位向5。这样做的目的是让输出像元尽量接近10米×10米的地面分辨率。如果输出像元尺寸设成20米可以用12的视数但空间细节会损失很重。实际操作时我建议先在参数里打开“Output pixel spacing”设置成10米软件会根据入射角和产品采样间隔自动帮你算好视数。如果设置成10米后方位向视数是1但距离向视数是5也没问题最后影像看起来是方形像元即可。跑完多视之后图像会明显变暗但视觉上更顺眼斑点噪声有所减小。这一步输出的文件后续使用保存成float格式别忘了在“Output Format”里选“ENVI”格式。3.3 第二步辐射定标和针对GRD的细节哨兵一号GUI里有两种定标路线一种是把强度转成后向散射系数σ0另一种是把振幅转成后向散射系数。GRD产品的强度图直接做“Radiometric Calibration”就行。参数选的时候通常需要关注以下几点Calibration Value选择Sigma0。Sigma0是后向散射系数在大多数地物分析中数据区间稳定方便比较。Beta0和Gamma0也有用途但我们是做常规地物解译Sigma0最直观。输出数据类型选Float或Double这样能保留小数不会出现负值被截断的尴尬。如果SARscape版本支持“Local Incidence Angle”选项建议勾上它会利用入射角信息提高定标精度。定标完的σ0影像系数数值通常很小多在0.001到1之间。这时候很多人喜欢直接拉伸来看效果不好看。更常用的是把它转成dB单位公式是dB 10 * log10(σ0)。在Band Math里写一行表达式就行了例如10*alog10(b1)转换后水体的后向散射大约在-25dB到-15dB城市建筑约-10dB到0dB农田则在-15dB到-8dB之间。有了这个区间概念后面做分类阈值就好办多了。3.4 第三步滤波选型与参数雷达影像不滤波等于自找麻烦。SARscape里提供了多种滤波算法比如Boxcar、Frost、Lee、Refined Lee等。我处理哨兵一号GRD数据时最常用的是Refined Lee窗口用5×5。它对面状地物的平滑效果好对边缘细节保留得也不错相对Frost滤波的“块状痕迹”更少。有些场景我也会用中值滤波做对比。比如要突出城市建筑边界时中值滤波在边缘保持上更好但它的纹理保持能力一般。总的来说没有绝对最优的滤波器我习惯针对同一块区域分别跑两个结果然后看哪个更符合目标地物。其实很多做雷达的团队都有一套自己的滤波配方没有标准答案。需要注意滤波窗口越大处理时间越长地物细节越平滑。7×7窗口虽然更平滑但小水体或线状地物会被抹掉3×3窗口在噪声强时压不住。5×5算是比较平衡的选择。如果你需要保留更多细节可以用4×4再不行就分块测试。3.5 第四步地形校正用哪个DEM和重采样方法这一步解决的是雷达影像的几何畸变问题。SARscape有“地形校正”工具选“Sentinel-1”后输入前面处理好的多视定标滤波影像软件会自动从SRTM 90米或者30米下载DEM。国内通常30米就够了如果研究区是山地、地形起伏大建议找更精细的DEM或者用ALOS 12.5米数据替换。设置里需要注意DEM对齐勾选“DEM re-sample”和“Range-Doppler”作为校正方法。校正像元大小和前面多视输出保持一致比如10米。重采样方法建议用“Sinc”或者“Bilinear”。Sinc保真度最好但计算慢重采样网格小我一般用Sinc如果数据量实在太大就用Bilinear。输出背景值设为0。处理完地形校正后保存出来的影像就是一张几何位置准确、各像元能直接用数值比较的后向散射栅格图。很多项目里就直接用这张图去做阈值分割、监督分类。3.6 实操示例完整跑一遍GRD流水线我没有把每一步截图标出来但整个操作顺序可以给你复现一下。假设你有一景2024年10月15日杭州地区的IW GRD影像已经在SARscape里导入好了。多视打开“Multilooking (GRD)”工具选中导入后的文件视数设为2×4输出像元间距10m输出格式ENVI。定标打开“Radiometric Calibration”输入多视结果Calibration Value选Sigma0输出float。滤波打开“Filtering→Single Image Filtering”选择Refined Lee窗口5×5输出float。地形校正打开“Geocoding→Range-Doppler Terrain Correction”输入滤波结果DEM用SRTM 30m输出像元10m重采样选Sinc导出GeoTIFF。整个流程跑完大概需要20分钟到半小时取决于机器性能。跑完后检查一下直方图确认没有大片零值或异常负值基本就能送到下一步分析环节了。4. 处理完之后的高级玩法纹理特征提取与土地利用分类后向散射图拿到手后很多项目的下一步就是分类和变化分析。这也是“envi提取纹理特征”和“envi做土地利用分类转移矩阵”这两个热词的核心场景。4.1 在ENVI里提取纹理特征的最省事路径ENVI自带有纹理提取工具路径是“Transform→Texture→Co-occurrence Filters”。运行后可以从灰度共生矩阵GLCM里计算均值、方差、同质性、对比度、熵、能量等多个纹理特征。对于哨兵一号GRD后向散射影像最常用的是“均值”和“对比度”。均值纹理能反映局部亮度变化对水体与建筑区分明显对比度纹理则突出局部异质性对城市和裸土识别非常有用。参数设置上窗口大小我建议先试3×3和5×5。窗口太小纹理信息不稳定噪声被当成特征窗口太大边缘模糊分类时会把不同类别黏在一起。以10米像元的后向散射图来说5×5已经包含了50米×50米的空间范围做城市、水体分类足够。另外别忽略纹理特征的“波段组合”概念。我们可以把原始σ0、VH极化、纹理均值、纹理方差叠在一个多波段文件里再去做监督分类效果比单纯用单波段分类有很大进步。用“Layer Stacking”把波段合并然后做最大似然或随机森林分类精度明显提升。4.2 用哨兵一号纹理特征做土地利用分类的一个小例子假设我有一个处理好的后向散射影像包含VV和VH两个极化波段。最直接的做法是用阈值区分水体VH后向散射水体很低通常阈值在-22dB左右。经验上水体在VH极化下小于-20dB城市在VH极化下明显高。用纹理对比度区分城市和农田城市纹理对比度大农田纹理对比度小。用均值阈值区分裸土和植被。当然这只是最简单的手动规则。在实际项目中我会手动勾一些样本用ENVI的Random Forest分类器把原始两个极化波段两个纹理特征波段一起丢进去训练输出分类图再经过小班碎图斑处理得到最终的土地利用分类结果。这里的核心思路是雷达数据的“同物异谱”比光学数据更严重纹理特征是稳定分类的关键。4.3 怎么快速生成土地利用转移矩阵“envi做土地利用分类转移矩阵”是很多土地遥感项目的基本需求。做转移矩阵通常需要两个时期、相同范围、相同类别的土地利用分类栅格图。ENVI里有一套很顺手的工作流得到两期分类结果后先把类别重映射成统一的类别代码比如1水体2建设用地3农田4植被。对每期分类图单独做“Classification→Post Classification→Confusion Matrix Using Ground Truth Image”。这里有个小技巧可以直接把另一期分类图作为Ground Truth Image输入输出的混淆矩阵本质上就是两期结果之间的交叉统计。在输出的“Change Detection Statistics”里可以看到一个二维矩阵行是image1类别列是image2类别。对角线数字代表未变化像元非对角线就是类型转移数量。如果用我前面两种分类图做过裁剪和对齐打开“Compute Confusion Matrix”工具选Class Field为“类别代码”再选择Reference Image为另一期分类图软件会自动算出一个N×N矩阵。把矩阵的计数值除以总像元数乘以100%就得到转移比例。这里要特别提醒两期分类图投影、像元大小、行列范围必须严格一致否则矩阵结果完全没意义。所以我通常在分类前就把所有数据统一裁剪到同一块AOI。5. 避坑指南没有GACOS、内存爆了、结果不对最后这部分专门讲我在实践中遇到过的各种问题尤其是几个搜索引擎里大家都在问的关键词。搞清楚这些坑比你多跑十遍流程都值。5.1 SARscape中没有GACOS工具怎么办如果你用SARscape做InSAR或者干涉叠加会发现在许多教程里提到要用GACOSGeneric Atmospheric Correction Online Service来校正大气延迟。GACOS是一个在线服务生成的对流层湿延迟校正产品很多教程建议下载GACOS参数文件再做大气改正。但问题是常规的SARscape安装包中并没有叫“GACOS”这个按钮很多人找半天找不到。我的处理经验是这样的SARscape原本的大气校正入口更多是内置在干涉处理流程里的调制步骤也很隐蔽。如果你确实需要基于GACOS的大气校正可以自己下载GACOS的校正栅格然后在ENVI里用Band Math对干涉相位图做差分校正。不过这需要较深的InSAR知识不太适合新手。对于绝大多数项目更务实的解法是如果只是做常规GRD后向散射分析压根不需要GACOS。如果做InSAR形变想消除大气影响不要硬刚GACOS优先用降低大气相关性的方法比如用短基线集时序分析SBAS选取时间基线短的干涉对大气噪声在时序统计中会被有效抑制。SARscape的SBAS模块自带这功能。如果是高精度的大气校正研究可以不在ENVI内完成而是把干涉相位导出成通用格式用第三方大气校正工具处理后再导回SARscape。所以看到“SARscape中木有GACOS”先别慌先明确你需求等级不是所有问题都要靠GACOS解决。5.2 数据导入报错“无法读取”怎么处理直观报错“File not found”或者导入后是空白影像大概率是下面几个原因路径含中文或空格。这是最常见的原因把整个数据目录复制到纯英文路径即可。压缩包没解压完整。SARscape导入必须指向解压后的文件夹里面有annotation和measurement子目录。如果缺失任何一部分导入就会失败。权限问题。在Windows上如果文件夹被安全限制无法读取可以右键属性→安全→给Users完全权限。版本兼容。比如用旧版SARscape去处理新发布的哨兵一号新产品格式可能识别不了。升级到最新版即可。如果你导出的还是空白可以试试在BIT中打开原始测量文件看二进制文件是否损坏。无损的哨兵一号原始文件通常很大我遇到过一次网盘下载文件不完整导致导入后所有影像全是灰色最后重新下载就好了。5.3 内存不够、处理速度太慢怎么办大区域哨兵一号数据处理最头疼的就是内存。我处理一景IW GRD大概250km×170km覆盖在多视10米分辨率下大约生成了20000×15000像素的影像滤波和地形校正阶段就能吃掉十几G内存。解决办法有三个优先级第一关闭ENVI之外所有大型程序特别是浏览器多开标签页。第二在SARscape偏好设置里把“Tiling Size”调小。比如默认是200MB改成100MB软件会自动分块处理虽然慢一点但能防止内存爆掉。第三限定AOI。在导入或处理前用ENVI的“Subset Data”把感兴趣区裁剪出来。处理大区域时我会先肉眼浏览一下测区范围选最有价值的一部分先跑通全流程再回来处理完整范围。5.4 地形校正后数据范围有坏值或噪声如果你在地形校正后发现影像边缘出现了大面积黑色值或乱条纹一般原因是DEM范围没完全盖住整景影像。在山区哨兵影像覆盖范围可能比DEM宽乖乖把DEM下载范围改大一点比如覆盖影像外延1度。雷达阴影区的真实信号很弱这是物理原理任何处理都补不回来。这类区域在分析时需要单独勾选不要当成异常值删除。重采样方法选择不当导致边缘插值错误。Sinc方法对边缘敏感如果边缘不好看可以临时改用双线性插值对比。5.5 坐标系不一致导致的错位问题哨兵一号原始产品是雷达斜距坐标系地形校正后默认投影是UTM WGS84。但如果你的AOI在特殊投影区比如兰伯特投影或者你后续要叠加到国家2000坐标系上就需要投影变换。在ENVI里可以用“Data Manager”右键选择“Convert Projection”来重投影。要注意结果栅格像元会重新采样信息有一定损失所以我通常会在分类完成后才做投影转换而不是在处理流程中来回转。此外和光学影像叠加时如果发现雷达影像和光学影像错了好几个像元可以先检查是不是用了不同的DEM校正或者像元大小不一致。用30米SRTM校正的雷达数据和5米高分影像叠加边缘有1-2个像元错位很正常不影响大尺度分析。6. 最后再分享一点心得哨兵一号数据处理最锻炼人的地方其实是“流程管理”。我在实际项目里常用ENVI Batch模式做批处理比如连续处理一整年的12景数据。需要提前把所有输入文件整理在一个列表里批量执行多视、定标、滤波、地形校正再把导出的图按日期命名。这样做既减少了手动操作失误也让结果可追溯。还有一个小习惯每次处理完一个中间产物我都会在文件名后缀标注清楚处理状态比如“20241015_multilook.sio”、“20241015_sig0_db_filtered_utm.tif”避免过一星期后就分不清哪张是哪张了。很多数据问题其实都是信息管理混乱造成的。如果你恰好也卡在ENVI和哨兵一号数据上上面这些步骤和坑你照着走一遍然后再回来告诉我你踩了哪个新的坑我们再来一起补全这份避坑手册。