envi根据geo裁剪
真的服了。
以前处理遥感影像,我总喜欢手动画个框。
看着那个鼠标在屏幕上晃悠,心里就慌。
万一手抖多画了一像素,或者少画了一像素。
那数据就不准了。
后来才发现,原来有现成的工具能用。
就是那个基于地理坐标的裁剪功能。
也就是大家常说的envi根据geo裁剪。
这玩意儿一旦用顺手了,效率直接翻倍。
今天就把我踩坑后总结的步骤,毫无保留分享出来。
希望能帮正在加班的你,早点下班。
第一步,准备你的数据。
别以为随便拉个jpg进来就能搞。
你得是带有地理坐标信息的文件。
比如tiff格式,或者img格式。
如果你手头只有没有坐标的图片。
那就先做地理配准。
这一步很关键,别偷懒。
配准不准,后面裁剪出来的位置全是错的。
到时候对着地图找地,能找半天。
我就吃过这个亏。
上次把北京的数据配准到了河北。
尴尬得想找个地缝钻进去。
第二步,打开ENVI软件。
这点废话就不多说了。
把你要裁剪的主影像加载进来。
同时,把你想要的裁剪区域文件也加载进来。
这个区域文件可以是shapefile。
也可以是另一个带有坐标的栅格数据。
只要它知道自己在哪就行。
这时候,你会看到两个图层叠在一起。
如果位置对不上,别急。
先检查投影坐标系。
很多新手就在这儿卡住。
一个是用WGS84,一个是UTM。
不统一的话,神仙也裁不准。
去Metadata里看一眼。
确保两者坐标系一致。
如果不一致,先做投影转换。
这一步虽然繁琐,但为了结果准确,必须做。
第三步,找到裁剪工具。
在菜单栏里,找Data Management Tools。
然后点开Subset Data from Raster。
或者直接用ROI Tool。
如果你是用矢量文件裁剪。
那就选Subset Data from Vector。
这里有个小细节。
很多人不知道,其实可以直接用envi根据geo裁剪的逻辑。
也就是通过输入具体的经纬度范围。
如果你不想画多边形。
只想切一个矩形区域。
那就直接在Subset Data里输入Min/Max的坐标。
Xmin, Ymin, Xmax, Ymax。
这四个值填对了,出来就是你要的块。
比画图快多了。
而且精确到小数点后六位。
强迫症福音。
第四步,设置输出参数。
这一步最容易出错。
注意看Output File的选项。
一定要勾选Same as Input Projection。
不然你裁出来的图,坐标系统是乱的。
以后跟其他数据叠加分析,全对不上。
还有,如果原图是浮点型数据。
输出时别随便改成整型。
除非你确定不需要精度。
否则辐射定标后的数据,一旦量化损失就大了。
我就见过有人为了省空间,把16位转8位。
结果后面做NDVI计算,结果全是噪点。
哭都来不及。
第五步,执行并检查。
点击OK。
等待进度条走完。
别盯着看,去喝杯水。
回来看看结果。
打开新裁剪的文件。
叠加一层底图,比如天地图或者Google Earth。
肉眼检查一下边界。
看看有没有多余的黑边。
或者有没有把需要的地物切掉了一半。
如果有问题,回去检查坐标输入。
或者检查配准参数。
这一步不能省。
毕竟数据错了,后面所有分析都是垃圾。
这就是所谓的Garbage In, Garbage Out。
其实,envi根据geo裁剪的核心逻辑。
就是利用地理空间参考信息。
让软件自动识别像素对应的地面位置。
而不是靠人的眼睛去判断。
这样不仅快,而且准。
特别是当你需要处理几百景影像的时候。
手动裁剪?
那得累死多少人。
用脚本批量跑。
或者用Batch处理功能。
设置好一次,晚上睡觉它自己跑。
早上起来,数据全在那等着你了。
这才是高级玩家的做法。
别总停留在手动操作的层面。
技术是为了提高效率的。
如果你还在一个个框选。
那真的有点浪费生命。
最后再啰嗦一句。
做遥感处理,耐心最重要。
坐标系统、投影参数、数据类型。
这三个要素,必须清清楚楚。
别等到最后出图了,才发现坐标偏移了。
那时候再想改,就得重新跑一遍流程。
时间成本太高。
所以,前期准备越充分,后期越轻松。
希望这篇教程,能帮你解决实际问题。
如果有遇到什么奇葩的报错。
别慌,先检查数据源。
大部分问题,都出在数据本身。
而不是软件bug。
毕竟,软件是死的,人是活的。
多试几次,总能找到门道。
加油吧,遥感人。
这条路虽然孤独,但风景独好。