GEOTiff 文件上的 GDALOpen return 为空
GDALOpen return null on GEOTiff file
我正在尝试使用 gdal 打开 GEOTiff 图像 library
。
我的代码:
GDALDatasetH hSrcDS = GDALOpen("/home/gamma/srtm_55_01.tif", GA_ReadOnly);
if (hSrcDS == nullptr)
printf("failure");
else
printf("success");
这是输出:
ERROR 4: `/home/gamma/srtm_55_01.tif' not recognized as a supported file format.
failure
我也试过使用相对路径,但也没用。
文件 "/home/gamma/srtm_55_01.tif"
存在并且是从 here (srtm_55_01 下载的。
我想也许我毕竟犯了一个错误。我查看了 sources gdal_contour,那里的代码完全相同。
此外,我尝试在我的文件上使用 gdal_contour
- 一切都成功了。
gamma@gamma:~$ gdalinfo --version
GDAL 2.2.3, released 2017/11/20
尝试按照以下顺序打开光栅文件
/* register all known GDAL drivers.
* attempt to suppress GDAL warnings.
*/
GDALAllRegister();
CPLPushErrorHandler(CPLQuietErrorHandler);
/* -------------------------------------------------------------------- */
/* Open source raster file. */
/* -------------------------------------------------------------------- */
GDALDatasetH hSrcDS = GDALOpen(pszSrcFilename, GA_ReadOnly);
if( hSrcDS == nullptr )
exit( 2 );
GDALRasterBandH hBand = GDALGetRasterBand( hSrcDS, nBandIn );
if( hBand == nullptr )
{
CPLError( CE_Failure, CPLE_AppDefined,
"Band %d does not exist on dataset.",
nBandIn );
exit(2);
}
if( !bNoDataSet && !bIgnoreNoData )
dfNoData = GDALGetRasterNoDataValue( hBand, &bNoDataSet );
我正在尝试使用 gdal 打开 GEOTiff 图像 library
。
我的代码:
GDALDatasetH hSrcDS = GDALOpen("/home/gamma/srtm_55_01.tif", GA_ReadOnly);
if (hSrcDS == nullptr)
printf("failure");
else
printf("success");
这是输出:
ERROR 4: `/home/gamma/srtm_55_01.tif' not recognized as a supported file format.
failure
我也试过使用相对路径,但也没用。
文件 "/home/gamma/srtm_55_01.tif"
存在并且是从 here (srtm_55_01 下载的。
我想也许我毕竟犯了一个错误。我查看了 sources gdal_contour,那里的代码完全相同。
此外,我尝试在我的文件上使用 gdal_contour
- 一切都成功了。
gamma@gamma:~$ gdalinfo --version
GDAL 2.2.3, released 2017/11/20
尝试按照以下顺序打开光栅文件
/* register all known GDAL drivers.
* attempt to suppress GDAL warnings.
*/
GDALAllRegister();
CPLPushErrorHandler(CPLQuietErrorHandler);
/* -------------------------------------------------------------------- */
/* Open source raster file. */
/* -------------------------------------------------------------------- */
GDALDatasetH hSrcDS = GDALOpen(pszSrcFilename, GA_ReadOnly);
if( hSrcDS == nullptr )
exit( 2 );
GDALRasterBandH hBand = GDALGetRasterBand( hSrcDS, nBandIn );
if( hBand == nullptr )
{
CPLError( CE_Failure, CPLE_AppDefined,
"Band %d does not exist on dataset.",
nBandIn );
exit(2);
}
if( !bNoDataSet && !bIgnoreNoData )
dfNoData = GDALGetRasterNoDataValue( hBand, &bNoDataSet );