saga_api python库:raise AttributeError(“未定义构造函数”)

2024-05-13 04:59:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用saga_api库执行python脚本,不幸的是,我在第一步就被阻止了:(。 当我在python上执行这个命令时:aga_api.CSG_Module_Library() 我收到以下错误消息:

def init(self, args, *kwargs):
    raise AttributeError("No constructor defined")
        AttributeError: No constructor defined

在窗户上也一样!在

你能帮我过这台阶吗?!在

^{pr2}$

代码如下:

啊!/usr/bin/env python

导入saga_api、sys、os

def Import_光栅(在网格中):

print saga_api.SAGA_API_Get_Version()

fmlb = '/usr/lib/saga/libio_gdal.so'

Library = saga_api.CSG_Module_Library() # here is the bug !!!

if Library.Create(saga_api.CSG_String(fmlb)) == 0:
    print 'unable to load SAGA module library'
    return 0

print '... success'

Module = Library.Get_Module('GDAL: Import Raster')

Parms = Module.Get_Parameters()
Parms('FILES').Set_Value(in__grid) 
Parms('SELECT').Set_Value(1) 
Parms('TRANSFORM').Set_Value(0)
Parms('INTERPOL').Set_Value(0)

Parms = Module.Get_Parameters(0) # additional parameter list

print Module.Get_Name() + ': ' + Parms('FILE').asString()

if Module.Execute() == 0:
    print 'module execution failed'
    return 0
print 'module successfully executed'

print 'save as SAGA grid'
if Parms('GRID').asGrid().Save(saga_api.CSG_String(in__grid)) == 0:
    print '... failed'
    return 0
print '... success'

return 1

如果名称='main':

if len( sys.argv ) != 4:
    print 'Usage: this_script.py <in: gridfile> <out: gridfile> <in: shapefile> <out: shapefile>'
    in__grid = '/home/.../CC432_landsat8.tif'
    in__grid = os.path.abspath(in__grid)

else:
    in__grid = sys.argv[1]

    if os.path.split(in__grid)[0] == '':
        in__grid    = './' + in__grid

Import_raster(in__grid)

打印“完成!”在

以下是初始化: .... 类CSG_模块_库(_对象): swig\u setmethods={} setattr=lambda self,名称,值:_swig_setattr(self,CSG_Module_Library,name,value) swig\u getmethods={} getattr=lambda self,名称:_swig_getattr(self,CSG_Module_Library,name) definit(self,*args,**kwargs):引发AttributeError(“未定义构造函数”) 重复 定义有效(self):return\u saga_api.CSG_模块_库_有效(自我) def Get_File_Name(self):return_saga_api.CSG_模块_库_Get_文件名(自我) def Get_Library_Name(self):返回\u saga_api.CSG_模块_库_Get_Library_名称(自我) def Get_Info(self,*args):return\u saga_api.CSG_模块_库_Get_Info(自身,*args) def Get_Name(self):返回_api.CSG_模块_库_Get_名称(自我) def Get_Description(self):返回传奇_api.CSG_模块_库_Get_描述(自我) def Get_Author(self):返回传奇_api.CSG_模块_库_Get_作者(自我) def Get_Version(self):返回传奇_api.CSG_模块_库_Get_版本(自我) def Get_Summary(self,*args):return\u saga_api.CSG_模块_库_Get_摘要(自身,*args) def Get_Count(self):返回传奇_api.CSG_模块_库_Get_计数(自我) def Get_Menu(self,*args):返回传奇_api.CSG_模块_库_Get_菜单(自身,*args) def Get_Module(self,*args):返回saga_api.CSG_模块_库_Get_模块(自身,*args) def Get_Module_Grid(self,*args):return_saga_api.CSG_模块_库_Get_模块_网格(自身,*args) def Get_Module_Interactive(self,*args):return_saga_api.CSG_模块_库_Get_模块_交互式(自身,*args) def Get_Module_Grid_Interactive(self,*args):return_saga_api.CSG_模块_库_Get_模块_Grid_交互式(自身,*args) CSG_模块_库_swigregister=\u saga_api.CSG_模块_库_swigregister CSG_Module_库_swigregister(CSG_Module_Library) .... 在


Tags: 模块inselfapigetreturndeflibrary