2_开始使用GDAL

开始使用GDAL

导入GDAL

GDALOGR都归于osgeo的新类库下面,所以通过以下引入GDAL:

from osgeo import gdal

除了GDAL包,还有一个gdalconst包最好也导入。 gdalconst也是osgeo的一个包,它只是在代码中对GDAL中用到的一些常量进行了绑定。 其中gdalconst中的常量都加了前缀,力图与其他模块冲突最小。

from osgeo.gdalconst import *

Drivers

驱动,注册驱动程序。

使用GDAL读取数据,那么第一步就是要创建一个驱动器DriverDriver的意义在于打开gdal支持的栅格数据文件类型。

第一个方法:

是创建所有文件的总Driver,这个可以读取所有的文件,但是并不能改写。

gdal.AllRegister()

第二个方法:

单独注册所需要打开的文件的Driver,这样可以实现读写,但是目标文件必须是gdal支持的文件类型。

所有的文件类型在官方文档的Raster drivers中可以找到。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lt175oLM-1667653368663)(I:\MarkDownFiles\GDAL\GDAL_Pic\2022-11-04-15-05-11-image.png)]

这里以HFAL1BZMap文件格式为例,可以发现都是gdal所支持的。

目前并不清楚print之后表达的值是什么意思,猜测可能是在支持列表中的顺序。

以上问题解决,表示的就是在gdal支持文件列表中的顺序,即序号

from osgeo import gdal
from osgeo.gdalconst import *driver_hfa = gdal.GetDriverByName('HFA')  # 7
driver_l1b = gdal.GetDriverByName('l1b')  # 55
driver_zmap = gdal.GetDriverByName('zmap')  # 129
print(driver_zmap.Register())

查看GDAL所支持的所有数据格式

若提前知道所需文件格式的序号,可以通过id来获取生成Driver
在这里插入图片描述

gdal.GetDriver(id)

通过下列的循环可以输出当前gdal所支持的所有数据格式。

gdal.GetDriverCount()输出gdal当前支持的数据格式的数目;

driver.ShortName``driver.LongName两个属性,输出当前driver的数据格式简写和全称。

driver_count = gdal.GetDriverCount()
for index in range(driver_count):driver_loop = gdal.GetDriver(index)print(f"{driver_loop.ShortName} : {driver_loop.LongName}")

注意:一般情况下用数据名称直接获取Driver,用GetDriver有时会因index的改变而出现错误。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部