GDAL裁剪栅格影像且重新生成RPC参数
RPC作为一种校正参数,为栅格影像提供地理参考信息,但是不同于地理坐标系和投影坐标系。
笔者在使用 ENVI 以及 ArcGIS Pro 裁剪带有RPC地理参考信息的高光谱影像时总是失败,具体表现为裁剪的影像复制使用原始影像的RPC参数导致影像块出现在原始影像的左上角。
为解决该问题,使用 GDAL 自带的 gdal_translate 程序裁剪影像块,具体步骤如下。
1. 使用 Conda
conda activate gdal_env
2. 安装 GDAL
conda install gdal=3.6
3. 调用 gdal_translate 裁剪影像
gdal_translate -of ENVI .\gf5_flaash.dat .\gf5_flaash_part.dat -srcwin 232 515 663 449 -mo "RPC=YES"
| 参数 | 含义 |
|---|---|
gdal_translate |
GDAL 工具,用于图像裁剪、格式转换、重采样等 |
.\gf5_flaash.dat |
原始输入影像文件 |
.\gf5_flaash_part.dat |
输出的裁剪后影像文件 |
-srcwin 232 515 663 449 |
指定裁剪窗口,以像素行为单位 |
232 |
裁剪窗口左上角的列号(X 偏移) |
515 |
裁剪窗口左上角的行号(Y 偏移) |
663 |
裁剪窗口的宽度(列数) |
449 |
裁剪窗口的高度(行数) |
-mo "RPC=YES" |
添加一个元数据项 "RPC=YES" 到输出影像中。 |
然后会出现一个简单的进度条,等待即可。
Input file size is 2008, 2083
0...10...20...30...40...50...60...70...80...90...100 - done.
如果使用ENVI裁剪子影像,那么用 Qgis 打开后子影像块直接出现在原始大影像的左上角,使用 GDAL 的 gdal_translate 工具则重新根据 RPC 模型计算新的 RPC 参数,可以使用 ArcGIS、ENVI、Qgis 正确打开带有 RPC 参考信息的子影像块,解决该问题。
记录一下优秀的 gdal_translate,无它。
浙公网安备 33010602011771号