0
点赞
收藏
分享

微信扫一扫

GDAL / OGR安装测试

小迁不秃头 2022-01-25 阅读 59


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



举报

相关推荐

0 条评论