GDAL / OGR
测试GDAL/OGR是否安装
import sys
try:
    from osgeo import ogr, osr, gdal
except:
    sys.exit('ERROR: cannot find GDAL/OGR modules')检查已安装的GDAL / OGR版本
import sys
from osgeo import gdal
version_num = int(gdal.VersionInfo('VERSION_NUM'))
if version_num < 3000400:
    sys.exit('ERROR: Python bindings of GDAL 3.04 or later required')启用python异常
默认情况下,发生错误时,GDAL / OGR Python绑定不会引发异常。相反,它们返回错误值(例如None),并将错误消息写入sys.stdout。您可以通过调用UseExceptions()函数来启用异常:
from osgeo import gdal
# Enable GDAL/OGR exceptions
gdal.UseExceptions()
# open dataset that does not exist
ds = gdal.Open('test.tif')
# results in python RuntimeError exception that
# `test.tif' does not exist in the file system您可以在运行时的任何时候使用以下命令禁用GDAL / OGR异常:
from osgeo import gdal
gdal.DontUseExceptions()安装GDAL / OGR错误处理程序
import sys
try:
    from osgeo import ogr, osr, gdal
except:
    sys.exit('ERROR: cannot find GDAL/OGR modules')
# example GDAL error handler function
def gdal_error_handler(err_class, err_num, err_msg):
    errtype = {
            gdal.CE_None:'None',
            gdal.CE_Debug:'Debug',
            gdal.CE_Warning:'Warning',
            gdal.CE_Failure:'Failure',
            gdal.CE_Fatal:'Fatal'
    }
    err_msg = err_msg.replace('\n',' ')
    err_class = errtype.get(err_class, 'None')
    print('Error Number: %s' % (err_num))
    print('Error Type: %s' % (err_class))
    print('Error Message: %s' % (err_msg))
if __name__=='__main__':
    # install error handler
    gdal.PushErrorHandler(gdal_error_handler)
    # Raise a dummy error
    gdal.Error(1, 2, 'test error')
    #uninstall error handler
    gdal.PopErrorHandler()结果:
Error Number: 2
Error Type: Debug
Error Message: test error









