0

我想在我的 python 脚本中调用一些草模块(egrwalk 模块)。幸运的是,我在https://grasswiki.osgeo.org/wiki/GRASS_and_Python#MS-Windows上找到了很多有用的提示。这里是。

MS-Windows 为了从外部通过 Python 使用 GRASS 功能,必须设置一些环境变量:
GISBASE= C:\GRASS-64 GISRC= C:\Documents and Settings\user\.grassrc6 LD_LIBRARY_PATH= C:\GRASS-64\lib PATH= C:\GRASS-64\etc;C:\GRASS-64\etc\python;C:\GRASS-64\lib;C:\GRASS-64\bin;C:\GRASS-64\extralib;C:\GRASS-64\msys\bin;C:\Python26; PYTHONLIB= C:\Python26 PYTHONPATH= C:\GRASS-64\etc\python GRASS_SH= C:\GRASS-64\msys\bin\sh.exe

但是,我安装最新版本的 WinGRASS-7.0.3 和 7.0.4 后,msys 文件夹不存在。我想知道的是在没有msys文件夹的情况下如何使用最新版本设置环境变量。非常感谢。

4

1 回答 1

1

比维基更好的指南在官方文档中:

您只需要指定(路径)您的 GRASS 二进制文件。这类似于grass70在 Linux、/Applications/GRASS/GRASS-7.0.app/Mac 和C:\OSGeo4Win\grass70.batMS Windows 上。一般来说,这取决于您如何安装 GRASS GIS。在 MS Windows 上,请注意 OSGeo4W 安装和独立安装程序之间的区别。他们每个人都会将 GRASS 安装到不同的目录(您还可以在安装向导期间指定目录)。

样板代码用于subprocess.Popen调用 GRASS 二进制文件--config path以获取设置参数所需的值。然后在 GRASS 安装中添加 extends PYTHONPATH( sys.path) 。.../etc/python最后,grass.script.setup.init调用它来设置剩余的运行时变量,它还将 GRASS 会话连接到 GRASS 数据库、位置和地图集,如下所示:

import grass.script.setup as gsetup
rcfile = gsetup.init(gisbase, gisdb, location, mapset)
# ... do arbitrary grass
os.remove(rcfile)
于 2016-05-10T15:10:04.370 回答