一、数据准备
1.1 数据获取
1. 哨兵数据:哨兵数据的获取可以参考以下博主的文章: 哨兵-2 Sentinel-2 数据下载(欧空局)_Vigo*GIS的博客-CSDN博客_哨兵2数据下载https://blog.csdn.net/qq_41159191/article/details/124307726
2. 高程数据:为使得制备的样本的分辨率更高,采用的是12.5m分辨率的Alost数据,数据如何获取可参考以下博主的文章:
【数据获取】(1)DEM数据下载(12.5m) - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/375513290
2. 数据的处理
1. 哨兵数据的预处理:如果获取的哨兵数据色L1C等级那么就需要进行哨兵数据的预处理,使其为L2A等级,如果是直接获取的L2A等级数据,那么就不需要进行大气校正处理,如何进行哨兵数据的预处理,请参考以下博主的文章:
单幅哨兵数据大气校正处理:
SNAP处理哨兵2号遥感数据的步骤和方法_饭要一口一口吃的博客-CSDN博客_snap处理哨兵2数据https://blog.csdn.net/weixin_43562878/article/details/106016954批量哨兵数据大气校正处理:
Sentinel-2批量大气校正_基于Sen2Cor_GeoSuper的博客-CSDN博客_sen2cor批处理https://blog.csdn.net/qq_41718357/article/details/89023618大气校正后需要再Snap中进行重采样,重采样为10m,转为ENVI5.3等版本可使用的数据:
2. 高程数据的处理:根据在 ASF 获取的12.5m的高程数据,在arcmap中或envi中进行数据的镶嵌,得到大范围地区的高程值,还可以根据自己直接获取的dem数据,在ArcMap中提取坡度(slope)数据s,至于如何根据dem提取坡度数据,方法比较简单,可自行查找:
基于以上我们有了三类数据:1哨兵数据、2高程dem数据、3坡度slope数据;
二、数据融合
2.1 提取哨兵数据范围
在envi中加载处理后(重采样完成后)的哨兵数据的12个波段数据,即加载后缀为.img的数据。然后根据envi显示可以得到哨兵数据的四个角的经纬度,有了四个角的经纬度,那么我们就知道了此哨兵数据的范围了,就可以根据该范围得到dem、slope的范围;
2.2 提取与哨兵数据范围相同的dem、slope数据
1. 在arcmap中打开dem、slope数据,然后在【目录】中找到哨兵数据所在文件夹,右键【新建】- 【shapefiles】- 然后【填写名称】、【选择要素类型】-要选择面、【编辑】空间参考;
注意:空间参考可以选择【导入】,找的dem或slope数据,然后选择导入,就会使得建立的面的空间参考与dem数据是一样的,表面出现偏移;
面建立好以后,在菜单中选择【编辑器】-【开始编辑】- 选中编辑的面【m】,点击【继续】,然后【创建要素】-选择【m】、【面】,按经纬度输入数据范围;完成后在【编辑器】中选择【保存编辑内容】。
然后arcmap的【工具箱】中选择【按掩膜裁剪】,提取出dem、slope的数据范围,再对提取后的dem、slope 数据右键选择【数据】-【导出数据】,保存为.tiff格式,分别命名为B13、B14;
2.3 数据融合
将提取的B13、B14(即dem、slope)波段添加到envi中,在envi工具中选择【layer Stacking】,点击【import File】将所有波段添加进来,然后点击【Choose】选择保存路径和名称。
三、样本制备
1. 裁剪样本
打开融合后的数据,用ROI裁剪出固定大小的样本范围,比如我这里用的是128×128的,因此,我用ROI的时候就选择矩形,(如何用ROI进行遥感影像的裁剪,这里边不再赘述了,可以自行查找),绘制好后,右键选择【Rectangle Size】,然后输入128×128;
2. 保存样本
然后在【File】中选择【Save As】- 【Save As...】,选择融合后的数据,可以看到波段数已经是14个波段了,然后点击【Spatial Subet...】-选择上方的【roi】,然后选择要裁剪的roi,点击【OK】,再点击一次【OK】;
然后,选择保存类型为TIFF格式,并选择保存路径;
这样,一个样本就制备完成了。
不足之处:
一个一个的裁剪太麻烦了,但我查找了一下其他博主的文章,谈到用Photoshop的切片工具来裁剪,达到批量裁剪的作用;但是我采用该方法时,photoshop打开合成后的TIFF影像就是一片白色,我又查找方法进行解决,但是按那些方法仍旧不能解决我出现的问题。
如果你能解决这个问题,或者有更好的方法制作样本,希望你能在评论里告诉我,非常感谢!