GDALOGR安装测试

    技术2022-07-11  144

    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
    Processed: 0.010, SQL: 9