1、坐标系问题:在GDAL 3.x版本中,使用等距柱面投影(EPSG:4326)时,如果坐标中存在错误,可能会返回“创建0Px0L数据集”的错误,这是因为从GDAL 2开始,如果你从netCDF文件中提取图像,它不会自动地理参考你的tiff图像,你需要使用gdal_translate对图像进行地理参考。
2、RPC校正偏差:在使用python调用gdal.Warp函数进行RPC校正时,如果transformerOptions参数设置不当,可能会导致无法使用设置的DEM数据,从而造成RPC校正的偏差,正确的方法是将dem的输入设置为字典并写做‘NAME=VALUE’的形式。
3、环境问题:如果在执行gdal命令时,终端没有切换到对应的Conda环境下,可能会导致报错,解决办法是将Debug的终端也切换到对应的Conda环境下,或者在本地打开的终端再安装一次GDAL。
4、DEM采样方式问题:在指定DEM的采样方式为最邻近时,校正结果可能会有很大偏差,当指定DEM的采样方式为双线性采样和三次立方卷积采样时,处理的结果与ENVI等专业软件处理的结果一致。
5、内存限制问题:GDALWarpOptions结构体中的dfWarpMemoryLimit参数用于设置GDALWarpOperation在处理图像中使用的最大内存数,如果这个值设置得过小,可能会导致程序运行效率低下或者出错,对于256MB的系统,这个值最少设置为64MB比较合理。
6、其他变换选项问题:GDALWarpOptions结构体中包含了很多参数来对变换进行设置,nBandCount参数用于指定要处理的波段数量,panSrcBands和panDstBans数组需要在外面动态申请,然后在调用GDALDestroyWarpOptions()函数的时候会自动释放。
gdalwarp报错的原因可能有很多,需要根据具体的错误信息和上下文进行分析和解决。