我想在我的python脚本中调用一些grass模块(例如r.walk模块)。幸运的是,我在Python#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文件夹时,如何使用最新版本设置环境变量。非常感谢。
发布于 2016-05-10 15:10:04
更好的指南是wiki在官方文档中:
您只需指定(到)草二进制文件的路径即可。这类似于Linux上的grass70、Mac上的/Applications/GRASS/GRASS-7.0.app/和MS上的C:\OSGeo4Win\grass70.bat。一般来说,这取决于您如何安装GRASS GIS。在上,查看OSGeo4W安装和独立安装程序之间的差异。它们中的每一个都会将GRASS安装到不同的目录(您还可以在安装向导期间指定目录)。
样板代码使用subprocess.Popen调用--config path的GRAS二进制文件,以获得设置参数所需的值。然后在GRASS安装中添加扩展PYTHONPATH (sys.path)和.../etc/python。最后,调用grass.script.setup.init来设置剩余的运行时变量,并将GRASS连接到GRASS、Location和Mapset,如下所示:
import grass.script.setup as gsetup
rcfile = gsetup.init(gisbase, gisdb, location, mapset)
# ... do arbitrary grass
os.remove(rcfile)https://stackoverflow.com/questions/37130737
复制相似问题