直接进入正题。搞GIS的十有八九都躲不开这活儿:手里拿着研究区的矢量边界,要一批影像或者DEM数据,结果下载下来是全图幅的大文件,动辄几个GB,死活加载不动。这时候就得裁剪。ArcGIS里裁剪栅格数据的方法看着不止一种,但真上手才会发现,同样叫裁剪,有的结果边缘发黑,有的带投影变形,有的慢到怀疑人生,甚至还有人裁剪完才发现范围偏了几公里。
这篇我结合自己这几年在ArcMap和ArcGIS Pro里反复折腾的经验,把裁剪遥感影像和DEM这件事从头到尾捋一遍。不管是刚入门的小白,还是被批处理逼疯的老手,这篇都能当个速查手册用。先声明一点:下面所有操作思路基于ArcGIS 10.x和ArcGIS Pro 3.x,界面版本不同但不影响底层原理。
1. 裁剪前先搞清楚的几个基础问题
1.1 裁剪一个栅格,本质是什么?
很多人把裁剪想得太简单,觉得就是拿个框把图切一刀。实际上在ArcGIS里,裁剪栅格数据分两派:一派是只做显示层遮挡,不真正改数据;另一派是生成一个全新的栅格文件。前者比如用图层属性里的裁剪范围(Set Raster Analysis Mask),后者是真正落地成文件的操作。平时说的“把影像裁出来给别人用”,指的是后者。
为什么要区分?因为很多初学者用ArcMap里的“图层裁剪”功能裁完,发现数据后面还带着一个“裁剪”符号或者戴着绿帽子,加载到别的软件里又是全幅面的原始图。这就是踩了显示遮挡当成了物理裁切的坑。真正的栅格裁剪,会从原始数据的像元矩阵里抽出一个子集,重新写一个文件,原数据可以删掉不看。
这里还得补一个概念:裁剪的边界矢量。你用矢量面去切栅格,矢量的边界决定输出的范围。矢量面可以是面要素类,也可以是面Shapefile,还可以是ArcGIS Pro里当前地图界面画出来的临时草图要素。实际项目里,大部分人的做法是从“行政区划面”或“自绘研究区边界”里提取。关于“arcgis画线步骤”这类热搜,其实就是画一个闭合面要素来当裁剪边界,步骤不复杂,后面我会专门截图讲解几个坑。
1.2 数据准备与坐标系检查
这是80%裁剪事故的根源。裁剪前必须在目录里确认三件事:裁剪边界矢量的坐标系、被裁栅格的坐标系、数据的NoData和像素类型。
- 坐标系是否匹配:这里有个经典误区。很多人觉得ArcGIS会自动投影,就不管了。真不是这样。所谓“自动配准”是动态投影,指的是显示的时候把不同坐标系拉到一起看,但裁剪工具是按源数据的坐标系算几何运算的。边界矢量是WGS84经纬度,栅格是UTM投影,如果不做处理直接裁,结果往往会出现偏移,有时偏移几百米甚至几公里,肉眼根本对不上。
- 像素类型和NoData不一致:比如DEM是32位浮点,原始值域-100到5000,一些负值代表无效区域。裁剪工具里如果不勾选“维持NoData”相关选项,或者输入的矢量范围覆盖了无效像元,输出值就可能把NoData写成一个特殊数值,比如-9999,或者大气整成0。这会导致后边做坡度、坡向计算时,统计值出现巨大的异常。
- 源栅格有没有金字塔:大批量影像裁剪前,最好先构建栅格金字塔(Build Pyramids)。没有金字塔的栅格在裁剪运算时,读扇区会异常慢,尤其是那种几个GB的TIFF。ArcMap里首次加载没建金字塔会弹窗问是否建立,建议点“是”。
一句话总结:裁剪前先花30秒检查投影和范围,能省后面3小时的麻烦。
2. 工具怎么选:ArcMap还是ArcGIS Pro
2.1 两代软件的差异
ArcMap和ArcGIS Pro是两代软件。ArcMap 10.x是传统桌面GIS的老将,ArcGIS Pro是从2015年开始接班的现代架构。从裁剪这个需求看,两者核心算法一致,但交互逻辑和工具有几点明显差异:
- 面板逻辑:ArcMap的“搜索”在右上角,所有工具箱集中在ArcToolbox里。ArcGIS Pro把工具箱集中在左侧“目录”面板,或者直接用Geoprocessing窗格调用工具。
- 右键快捷裁剪:Pro版本在内容列表里右键栅格图层,会有“Data”菜单,里面直接有“Export Raster”和“Clip”等常用选项,比ArcMap更顺手。
- 显示与Caching:Pro对缓存和显示的优化更好,大栅格缩放不卡,这对检查和验证裁剪结果很重要。
- Python环境:Pro内置了Python 3.x,ArcMap是Python 2.x。写脚本的时候语法和包管理方式完全不同。虽然现在新项目基本都往Pro迁,但国内很多老项目还在用10.2、10.6,所以这篇文章两个版本的操作我都会提,核心逻辑通用。
2.2 按需求选择工作环境
这里我给个比较实在的建议:偶尔裁一两次的,用你熟悉的版本即可,不必强行迁移。每天要处理大量影像、要做自动化流程的,优先学ArcGIS Pro。因为Pro的“历史记录”机制比ArcMap强太多——你的每一步操作(包括裁剪参数)都会记录在Geoprocessing历史里,可以直接右键重复运行或者修改参数,这个对批处理优化特别友好。
我个人的习惯是:项目里要交付大数据量成果,我尽量在ArcGIS Pro里做,因为它在金字塔、并行处理和64位后台处理上更稳。比如ArcMap老版跑一个5GB的正射影像裁剪要崩,Pro基本没事。
提示:不管用哪个版本,把热词里经常出现的“arcgis 10.8界面虚的解决方法”这类显示问题提前解决掉,否则白屏和字体虚化会严重影响后面判读裁剪结果。
3. 常用的裁剪方法及实操步骤
3.1 按掩膜提取(Extract by Mask)到底怎么用
“按掩膜提取”是 Spatial Analyst 扩展模块里的工具,位置在 ArcToolbox -> Spatial Analyst Tools -> Extraction -> Extract by Mask。它支持用栅格或矢量作为掩膜来裁剪。平时大家嘴里说的“按矢量边界切图”,理论上就是它。
基本参数不复杂:输入栅格(Input raster)、输入掩膜数据(Input raster or feature mask data)、输出栅格(Output raster)。但有两个细节实操中很多人不知道:
- 掩膜范围大于栅格:如果矢量边界超出了栅格数据的覆盖范围,输出结果里超出的部分全是NoData,数据体积并不会缩小,还是按边界外接矩形的大小输出。这就导致裁剪完文件反而比原图还大(因为原图可能有大量背景不存储,但裁剪结果会把你矢量框到的范围都写成NoData占位,具体看格式)。
- 必须勾选“分析掩膜”:这里的“分析掩膜”不是工具界面上那个勾选框,而是在环境设置(Environments)里设置的“Mask”。建议在裁剪前或者在工具的环境设置里,把“Raster Analysis”下的“Mask”指定为同一个矢量边界。这样能显著提升效率,因为工具能提前预判有效像元范围。
操作步骤(ArcMap 10.8为例):
- 打开ArcToolbox,找到Spatial Analyst Tools -> Extraction -> Extract by Mask。
- Input raster选择待裁剪的遥感影像。
- Input raster or feature mask data选择边界矢量面(这里可以是Polygon要素)。
- Output raster给一个输出路径,建议存成TIFF格式(.tif)以便保留坐标和NoData信息。
- 点开右下角Environments,在Processing Extent里把范围也设置成“Same as layer 边界矢量”或直接在Mask里指定。
- 确定,等待跑完。
ArcGIS Pro里路径是:Analysis工具 -> Tools -> Extract by Mask,界面逻辑基本一样。这里必须提醒一句:Spatial Analyst扩展模块必须有许可,没有这个许可工具根本搜不到。
3.2 矢栅裁剪工具(Clip)的正确姿势
Clip工具(Data Management Tools -> Raster -> Raster Processing -> Clip)是做裁切的另一个主力。很多用户直接在ArcToolbox搜“clip”,搜出来一堆,容易眼瞎选错。Raster Clip和Extract by Mask最大的区别在于:
- Clip有“使用输入要素裁剪几何”选项:勾选“Use Input Features for Clipping Geometry”,裁剪结果就会严格遵循矢量边界的几何形状,边界外的像元被真正去除,输出范围不是一个外接矩形,而是那一个不规则多边形。没勾的话,其实是外接矩形裁切,外面会附一圈NoData。
- 保留NoData选项:这里有个“Maintain clipping extent”或者“NoData”的可选项。对于DEM,建议勾选保留NoData;对于彩色遥感影像,通常不勾选也没事。
实操中常见的迷惑:明明用的同一个矢量边界,为什么有的裁剪结果是有色背景矩形,有的才是不规则形状?区别就在这个复选框。很多网上的教程把Extract by Mask说得全能,但在我看来,裁剪Raster影像优先用Clip工具,因为速度快、控制项清晰、不依赖扩展模块。尤其是对彩色正射影像(三波段或四波段TIFF),用Clip最稳。
ArcGIS Pro里,右键图层 -> Data -> Export Raster -> 在“Clipping”选项里可以快速选择“Selected Features”或“Current View”,这对交互式裁剪太方便了。先在地图上选中你要用的研究区面,再右键图层导出,比手动指定路径快一倍。
3.3 分割栅格(Split Raster)——按Tile批量裁
如果是把一个大影像按照格网(比如1:10000标准分幅)切成好几块,那用Clip一块一块裁就太蠢了。用“Split Raster”工具可以在一个操作里把影像按指定行列数或者分幅范围切成若干块。位置:Data Management Tools -> Raster -> Raster Processing -> Split Raster。
Split Raster的对话框里有几个关键参数:
- Split Method:按SIZE(每个Tile的大小),按NUMBER_OF_TILES(多少块),或者按POLYGON_FEATURES(按面要素切)。前两个是按规则格网,第三个是按已有的分幅面矢量切。实际生产里最常用的是POLYGON_FEATURES,因为可以直接用国土三调的分幅面或图幅结合表来批量切。
- Resampling Technique:如果原始影像像元是2m,切出的Tile尺寸边界跟格网对齐时,可能需要重采样。一般选NEAREST(最近邻)可以保留原始像元光谱值,别乱选BILINEAR或CUBIC,否则影像的地物边界会发虚。
- Output Format:建议选TIFF。如果选JPEG2000(.jp2),文件变小,但部分软件兼容性有问题。
实际项目里,我就用Split Raster把一景覆盖900平方公里的Planet影像(4.7GB)切成标准1:10000格网36块,一个对话框几分钟跑完,不用写循环。这个工具很多教程很少讲,但对需要出标准分幅的人,属于神器。
3.4 复制栅格配合几何选项——“隐藏”的轻量裁剪
还有一个容易被忽略的思路:使用“Copy Raster”工具,在输出数据属性里直接指定“Extent”。Copy Raster本意是复制栅格数据、转换格式,但它的环境选项里能指定输出范围和NoData值,所以也能兼职裁剪。常用场景是:需要顺便把数据从IMG转成TIFF、或者把16位转成8位、把NoData从0改成-9999。
路径:Data Management Tools -> Raster -> Raster Dataset -> Copy Raster。在输出属性里:
- 在Environments里把Processing Extent设置成矢量面的范围;
- 把NoData值在该工具的参数中指定(比如把0改成NoData,可以填一个远大于值域的负数,如-9999)。
优点是稳定且不增加Spatial Analyst依赖,批量转格式或数据预处理时特别好使。缺点是不能按不规则矢量边界裁剪,只能按矩形范围。所以一般跟上面的Clip配合使用:先用Clip按边界切好,再用Copy Raster清洗数据格式和背景值。
3.5 ArcGIS Pro更快的“裁剪栅格”功能
ArcGIS Pro用户有个更舒服的裁剪方式,那就是功能区“影像”选项卡(Imagery)下的“裁剪”按钮。选择影像图层后,点击“裁剪”(Clip)功能,在地图上用鼠标框一个范围或者选择一个多边形要素,工具就直接生成一个新图层。
这个功能本质上是调用了Raster Clip工具,但交互更直观。我在快速验证数据时,经常会用这个功能“瞅一眼”边界内的效果,确认无误再决定要不要导出来。有时候手头没有现成的边界矢量,就在地图上临时画一个矩形,这个功能实在省事。
注意一点:这种“临时框”裁剪的结果只存到内存或临时文件,不会自动保存到磁盘。要落地,还是右键图层 -> Data -> Export Raster。
提示:热词里有“arcgis画线步骤”,这里画线要注意:临时画的矩形在编辑草图上如果不闭合,ArcGIS会默认识别为直线多边形,但边界可能会飘。建议画的时候用“面”模板,而不是“线”模板。面模板画完按F2结束,出现填充色就说明闭合了。
3.6 用Python批处理裁剪
最后聊Python。如果你要处理几十上百景影像,手工点工具不现实。ArcGIS的批处理裁剪本质上是调用同一个gp工具,你可以用ArcPy写一个10行脚本。
import arcpy from arcpy.sa import * arcpy.env.workspace = r"D:\data\raw" outws = r"D:\data\clip" mask = r"D:\data\boundary.shp" arcpy.env.extent = mask for ras in arcpy.ListRasters(): out_path = outws + "\\" + ras.replace(".tif", "_clip.tif") arcpy.Clip_management(ras, "#", out_path, mask, "0", "ClippingGeometry") print(ras + " done")这个脚本里几个参数解释一下:
arcpy.env.extent = mask:把处理环境范围锁定到边界矢量,后面每个栅格都按这个范围裁。arcpy.Clip_management的第4个参数是NoData值,这里设成0,即把裁完背景变成0。- 第5个参数“ClippingGeometry”就相当于勾选了“使用输入要素裁剪几何”,输出是不规则形状,非常重要。
热词里出现“python”和“arcgis”,估计不少人在做批处理。上面这段脚本在ArcGIS Pro(Python 3.x)和ArcMap(Python 2.x)里都能跑,只需保证Spatial Analyst扩展许可可用。
4. DEM裁剪的细节与注意事项
4.1 DEM裁剪为什么比普通影像更容易翻车
DEM(数字高程模型)跟光学影像在数据形态上有本质区别:它大多是单波段、32位浮点,像元值代表高程而不是颜色。裁剪完后,普通人直观感觉“灰蒙蒙一片”,但统计值、坡度坡向都变了。DEM裁剪最常见的两个坑是重采样导致高程失真和NoData区域参与插值。
如果你用Clip工具裁DEM,在重采样这块要特别小心。比如原始DEM是2m分辨率,你的裁剪范围边界跟像元边界没有对齐,ArcGIS运行时可能会重新采样。若选的是Bilinear或Cubic,相当于用周围像元做了平滑,DEM高程值会被“改”掉,而且山脊线会发圆。做地形分析之前,这种方式有风险。
正确姿势:
- 优先用最近邻(Nearest Neighbor)重采样,保证像元值不插值;
- 裁剪范围尽量用“由DEM像元对齐”的方式生成,比如在环境设置里把“Snap Raster”设为被裁DEM本身。这样裁剪出来的范围正好是原始像元的整数倍,不用重采样。
4.2 处理负值和无效值
热词里“arcgis nodata背景”是个高点击话题,从这就能看出NoData问题困扰多少人。尤其是在DEM里,有些区域原始数据没有覆盖,比如大范围MODEM或SRTM数据都有空洞;ArcGIS把这些无效区域表示为NoData。在裁剪后,NoData区域通常会出现在裁剪结果的四周或者空洞里。
在ArcMap或Pro里,默认情况下NoData显示为黑色。如果你把它做成山体阴影或坡度图,NoData区域一参与运算,你的图就会花掉。所以DEM裁剪完,建议按下面两步处理:
- 用“栅格计算器”(Raster Calculator)把NoData替换成一个固定大值,或者赋0:
Con(IsNull("DEM_clip"), 0, "DEM_clip")意思是:如果这个像元是NoData,就设为0,否则保留原值。
- 或者在不改变原始数据的前提下,在符号系统里把NoData显示成绿色或透明,然后在出图时勾选“Display Background Value”里的合适颜色。
但更深一层的坑是:某个地区的实际高程本身就是海平面以下(负值),比如吐鲁番盆地。这时你如果把NoData赋值成0,就跟真实地形混在一起了。所以更稳妥的做法是赋一个超出合理值域的数,比如-9999。后期做应用时,再写个判断剔除。
4.3 DEM和影像数据的位深与金字塔配合
DEM数据通常比较大,一个图幅的SRTM 30m DEM大概300MB,而ALOS 12.5m DEM一个图幅随时上GB。裁剪之前若没建金字塔,加载和操作都慢到不行。建议用“Build Pyramids”把金字塔建好,之后查看裁剪结果(尤其是做山体阴影时反复缩放)会非常流畅。
还有一点很多人忽略:不要直接把裁好的DEM存成JPG或JPEG2000,这些格式是有损压缩,会引入高程噪声。DEM最终成果尽量是TIFF,压缩选LZW(无损)或者不压缩。另外用“Copy Raster”转换时,注意把Pixel Type保持32_BIT_FLOAT,别默认转成8_BIT_UNSIGNED,不然高程信息会全丢,这是新手经常犯的致命错。
5. 常见问题与排查技巧实录
5.1 裁剪结果全黑或者大范围NoData,怎么回事?
这个问题的原因多半是范围没对应上。比如矢量边界是WGS84经纬度,而影像本身是Web Mercator投影(EPSG:3857)。ArcGIS在Clip时用动态投影勉强对上,但在边缘地区有时候会差半度,导致输出结果几乎整片空白。
排查方法:先在地图上把矢量和影像叠着看一眼,确认它们在显示上重叠。然后查看两者的属性(右键属性 -> Source -> Spatial Reference),如果不一致,先把矢量或影像投影到统一坐标系。实际项目中,我一般根据影像的投影来定义工作坐标系,然后把矢量用Project工具转过去,再做裁剪。这个比依赖ArcGIS动态投影要稳得多。
5.2 裁剪后背景是黑色而不是透明
光学影像裁剪完,边缘之外通常是一圈黑色背景(0值)。很多人想把这层黑边在发布地图或拿到PPT里用的时候隐藏掉。这里分两种情况:
- 如果背景像元值为0,可以直接在图层符号系统里,将0值设置为NoData,或者设置成“Display NoData as”为透明色。ArcMap里是在图层属性 -> Symbology -> 勾选Display Background Value,然后设置颜色为无。Pro里更直接,右键图层 -> Symbology -> 在“Mask”里选择NoData颜色为No color。
- 如果背景像元值是255或65535,就得用栅格计算器把这部分重新定义为NoData,然后重复上面步骤。很多时候裁剪输出背景是255是默认位深的原因,要看清源数据的有效值范围。
注意:ArcGIS Pro和ArcMap在显示NoData透明的方式上略有不同,但在属性里找“背景值”或“NoData”关键字基本都能解决。如果要做成GeoTIFF对外发布,这个显示行为不会写进文件,需要在代码里或软件里再设置一次。
5.3 裁剪边界对不上,几何明显偏移
前面提过坐标系不一致的问题。再补充一个容易犯的错:边界矢量的形状没问题,但裁剪时把输出范围设置成了“外接矩形”。如果你勾选了Clip里的“Use Input Features for Clipping Geometry”,输出结果会严格咬合边界。如果没勾,外接矩形边缘会有半圈空白像元。别人拿成果去和边界叠加套合,总会觉得哪里差一点。
还有一种是“arcgis检查尖锐角插件”相关的问题——研究区边界含有大量尖锐角或者自相交的面。这种情况下ArcGIS在裁剪时可能沿着怪异角度生成锯齿。建议裁剪前用“修复几何”(Repair Geometry)把面要素过一遍,能减少边界锯齿和运算失败概率。
5.4 批处理裁剪只出了一个结果
很多人在ArcMap的模型构建器(ModelBuilder)里做批量裁剪,结果每次运行只输出一个文件,剩下的没跑完,或者反复报“许可错误”。原因基本都是环境设置里的“工作空间”没有设置成文件夹路径,或模型中的中间数据被锁住。
我的经验是:批处理优先用ArcPy脚本,或者在Pro里直接选择多个图层批量执行Clip工具。Pro 3.x的Geoprocessing窗格支持多选输入图层,直接对选中的多个栅格列表批量运行,非常香。如果非要用ModelBuilder,记得把中间变量设置为“模型参数”之外,还要把每个中间数据路径写成独立文件,别用同一个“%scratch%”覆盖。
5.5 输出文件巨大,磁盘爆红
裁剪完的文件比原始文件还大,这也是常见问题。原因多半是裁剪范围的“外接矩形”远大于实际数据范围,NoData部分被完整保留;或者是因为输出格式变成了BIL、BSQ等未压缩的格式,体积直接翻倍。
解决办法:
- 用“Clip”工具勾选裁剪几何,而不是只按矩形范围。
- 在裁剪前把环境设置里的“Raster Storage”压缩类型设为LZW或DEFLATE。
- 输出格式优先选TIFF + LZW压缩;无需保留NoData圈的话,可以用“Copy Raster”配合“NoData值设为某个数值”再把背景裁掉。
5.6 关于加载在线底图和天地图的避坑建议
热词里好几条都是“arcgis加载在线天地图”和“arcgis如何导入在线地图”。这个跟裁剪有关系吗?有。因为很多人想按照在线影像(如天地图)来做参考,画出研究区边界,然后裁本地的高分辨率影像。但天地图在ArcGIS里加载有时是WMTS服务,直接用它截图画范围,范围框可能带偏移。
我以前踩过一次:以天地图影像为底图画了矿区边界,然后用同一个边界裁剪本地高分影像,结果整体偏移了大概10米。后来发现是天地图的坐标系是CGCS2000,而本地数据是WGS84,两者虽然有别名关系但在部分椭球参数上存在微小差异。要是做高精度裁剪对齐,建议统一转成CGCS2000或者WGS84后,再用“空间校正”把边界微调一下。这个环节听起来繁琐,但对最终成果的套合精度影响很大。
6. 裁剪后的数据检查与后续处理建议
6.1 怎么确认裁剪结果正确
裁剪完不能直接打包交差,至少要做四步检查:
- 统计信息检查:在图层属性里看“源”标签页,确认影像的行列数、像元大小、范围跟预期一致。
- 值域检查:看栅格统计的最小/最大值是否符合合理范围。比如DEM高程范围应该在-10到5000之间,如果统计出-9999这类数值,说明NoData没处理好。
- 边缘检查:缩放到边界处,看边界外侧是否干净。若出现半透明拖影或不同颜色的条带,说明重采样参数出了问题。
- 与参考底图叠加:打开天地图或者高分影像作为参考,把裁剪结果和底图叠加,透明度调成50%,肉眼检查套合。这一步最直观,偏移与否一眼就看出来。
6.2 针对不同应用场景的成果输出建议
裁剪后的遥感影像或DEM,可能用于不同后续流程,这里给几个建议:
- 做分类或者深度学习样本制作:保持原始位深,别自动转8位。裁剪范围尽量与研究区框对齐,避免“边角上下文”影响模型训练。
- 做地形分析(坡度、坡向、山体阴影):DEM裁剪尽量保证原始分辨率,避免重采样。使用Hydrology工具时,填洼(Fill)前先要把NoData补齐,不然计算结果会出现伪洼地。
- 做专题制图出图:可以转成8位并重新拉伸符号,视觉上更柔和。这时用“拉伸”类型选择“最值”并去掉背景值即可。
- 做模型或服务发布:用ArcGIS Pro发布影像服务前,用Copy Raster统一成云存储友好的TIFF或CRF格式,并把NoData设置为固定值,否则切片服务时边缘会有黑边。
6.3 顺手把“成果管理”做起来
处理影像和DEM数据,建议形成一套自己的文件命名规范。举个实际例子:
DEM_ALOS_12.5m_矿区范围_v1.tif IMG_Sentinel2_10m_研究区_20250615.tif命名里带上数据源、分辨率、裁剪范围、处理日期、版本,能省掉未来很多“这个文件是谁裁的”的烦恼。同时也建议在原数据目录边上建一个“Clip_Log.txt”,把每次裁剪用的坐标系、范围、工具参数记一行。程序员写代码有日志,GIS处理数据也该有,这是专业度的一个体现。
7. 写在最后的实际操作体会
这行做久了,我慢慢发现,ArcGIS里裁图这件事,表面上是“点两下鼠标”,但真正考验人的是对数据特性、坐标系统和输出目标的理解。我自己也经历过裁完影像发给同事,结果对方一叠加发现黑边、范围全乱套的尴尬时刻。后来养成了习惯:任何裁剪类操作,先做“最小数据验证”,拿一个小范围快速跑通整个流程,确认参数无误后,再放到大数据量上跑。
这里再分享一个私藏的加分项:如果你的边界矢量是标准分幅图廓线,裁剪完后顺手用“Raster Calculator”把边界外的像元值乘以0加上一个掩膜响应,可以有效减少边缘混合像元对后续分类的影响。这个操作其实就是做一个“缓冲区掩膜”,在学术论文里经常用,能明显提升分类精度。
最后提醒一句:ArcGIS 10.x的安装和许可问题一直是搜索引擎里的热门词,但软件版本不是核心。新装的环境先把扩展模块和Python环境配好,然后再来处理数据。工具永远是辅助,真正重要的是你对数据理解得够不够透。下次再遇到“裁剪DEM和遥感影像”的需求,我建议先静下来想清楚要的结果是什么样的,再选方法和参数,往往能少走很多弯路。