GDAL开发手册API详细说明,内含详细示例代码,适合初学者使用,非常棒的入门书!In pythe
Import go
from gdalconst import s
datasct-gdal. Open( filename, GA ReadOnly
if dataset is none
如果 GDALOpen(函数返回NUL则表示打开失败,同时 CPLError(函数产生
相应的错误信息。如果您需要对错误迂行处理可以参考 CPLError相关文档
通常情况下,所有的GDAL函数都通过 CPLError(报告错误。另外需要注意的
是 pszFilename并不一定对应一个实际的文件名(当然也可以就是一个文件
名)。它的具休解释由相应的驱动程序负责。它可能是一个URL,或者是文件
名以后后面带有许多用于控制打开方式的参数。通常建议,不要在打开文件的
选择对话框中对文件的类型做太多的限制。
1.2.获取 Dataset信息
如果GL数据模型一节所描述的,一个 GDALDataset包含了光栅数据的一系列
的泼段信息。同时它还包含元数据、一个坐标系统、投影类型、光枥的大小以
及其他许多信息。
dfGeotransform[0]/米左上角x*/
dfGeoTrans lori[1]/东西方向一个像素对应的距离*/
adfGeotransform[2]/米旋转,0表示上面为北方
adfGeotransform[3]米左上角y*/
adfGeotrans form[4]/*旋转,0表示上面为北方米/
adfGeoTransform[5]/*南北方向一个像素对应的距离*/
如果需要输出 dataset的基木信息,可以这样:
In c+t
adfGcotransform[6]
printf( Driver: %s/%s\n
poDataset->GetDriver(->GetDescription o
poDataset->GetDriver()->GetMetadataltem( GDAL DMD LONGNAME))
printr( Size is %dx%dx%d\n
poDataset->GetRasterXSizeo, poDataset->GetRasterYSize(
poDataset->GetRasterCounto)
if( poDataset->GetProjectionRef(!= NULL
printf( Projection is %s'n
poDataset->GetProjectionRef()
if( poDataset->GetGeoTransform( adfGeoTransform
one
printf( Origin=(%. 6f, %. 6f)\n
adfGeoTransform[01, adfGeoTrans form[3])
printf(Pixel Size=(%. 6f, %. 6f)\n
adfGcoTransform[1, adfGco Transform[5
In c
GDALDriverh dRiver
double
adfGeoTransform[6]
hDriver- GDALGctDatasctDriver( hDatasct
printf( Driver: %s /%s\n
GDALGetDriver ShortName( hDriver
GDALGetDriverlongName
( dRiver))
printf size is %dx%dx%d\n
GDALGetRasterXSize( hDataset
GDALGetRasterYSize( dAtaset
GDALGetRasterCount( hDataset))
if( GDALGetProjectionRef( hDataset )! -NULL
printf( Projection is %s\n
GDALGetProjectionRef( dAtaset ))
if( GDALGetGeoTransform( hDataset, adfGeoTransform )==CE None
printf( Origin =(9%.6f, %.6f)\n
adfGeo Transform[01, adfGeo Transform[3])
printf( pixel Size=(%. 6f, %.6f)\n
adfGeoTransform[1, adfGeoTrans form[5)
In Python
print Driver:', dataset GetDriver(. ShortName, /',
dataset. Get Driver(. Lon
1