zoukankan      html  css  js  c++  java
  • Saga-Python笔记

      要使用saga的python接口,先要安装配置。

    1、下载saga、安装python,注意一定要保持都是32位或64位,否则调用不了

    2、将saga_api文件考到system32目录下,将saga安装目录添加到环境变量path中去,新建一个环境变量,变量名和变量值分别为:SAGA_32和saga安装目录,将saga_2.2.1_win32_python27目录下的site-packages目录下的文件都拷到python对应的文件夹下去。

      调用模块

    saga模块的调用有两种方法:(1)        saga_api.SG_Get_Module_Library_Manager().Add_Library(os.environ['SAGA_32' ] + '/modules/grid_calculus.dll')'''
     (2)  os.environ['PATH'] = os.environ['PATH'] + ';' + os.environ['SAGA_32'] + '/dll'
            saga_api.SG_Get_Module_Library_Manager().Add_Directory(os.environ['SAGA_32' ] + '/modules', False)

    后面一种会将所有的模块均导入,而第一种仅导入对应的模块,个人猜想可能是由于我们要导入的某个模块依赖于其他模块,所以才需要用第二种将所有的模块均导入,仅作为猜想,没有证实过。经过上面其中一种后

        m    = saga_api.SG_Get_Module_Library_Manager().Get_Module(saga_api.CSG_String('grid_calculus'), 6)

      参数调用

    一般情况下通过p    = m.Get_Parameters(),然后依次给参数赋值,注意参数的ID一定要写正确,我们可以再Saga软件中看到相应模块的参数ID,也可以自己调用函数查看,

    有些特殊的情况可能会用到p    = m.Get_Parameters(1)之类的得到p后,再继续给参数赋值

      实例代码

    saga2.2.1中的第一个python例子也就是grid_create_dummy.py应该是有问题:

    从p    = m.Get_Parameters(saga_api.CSG_String('TARGET'))这句开始,该模块根本没有TARGET这一ID,而且后面三句参数赋值的ID也是错误的,应该要在前面加上TARGET_

    程序os.environ['PATH']一句表示将saga的安装目录增加到环境变量中去。

  • 相关阅读:
    GCD与LCM
    命名空间的使用
    [模板][持续更新]欧拉回路与欧拉路径浅析
    二进制GCD算法解析
    [模板]LCA的倍增求法解析
    [模板]字符串哈希的简易做法
    11、Android--屏幕适配
    10、Android--Shape
    09、Android--Fragment
    08、Android--BroadcastReceiver
  • 原文地址:https://www.cnblogs.com/whaohe/p/4835410.html
Copyright © 2011-2022 走看看