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的改变而出现错误。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值