Chamando funções GRASS de Python externo?

8

Eu tenho o GRASS 6.4.3 svn instalado na minha máquina executando o Windows 7. Também na minha máquina, instalei o Python 2.7.3 para Windows. Agora eu preciso chamar as bibliotecas GRASS do Python e não dentro do shell Python na própria GUI do GRASS. Eu defino as variáveis ​​de ambiente no env.batpara isso. Mas a conexão falha. Este é o que env.bateu tenho:

set GISBASE=C:\Program Files\GRASS GIS 6.4.3svn

set HOME=%USERPROFILE%

set LD_LIBRARY_PATH = %GISBASE%\lib

set PATH= %GISBASE%\etc;%PATH%
set PATH=%GISBASE%\Python27;%PATH%
set PATH=%GISBASE%\lib;%GISBASE%\bin;%GISBASE%\extralib;%GISBASE%\msys\bin;%PATH%
set PATH=C:\Python27;%PATH%

set PYTHONLIB= C:\Python27;%PYTHONLIB%
set PYTHONPATH= %GISBASE%\etc\python;%PYTHONPATH%

rem Environmental variables for GRASS stand-alone installer

set GRASS_WISH=%GISBASE%\extrabin\wish.exe
set GRASS_PYTHON=python

set GRASS_PROJSHARE=%GISBASE%\proj
set GRASS_HTML_BROWSER=explorer
set GRASS_SH=%GISBASE%\msys\bin\sh.exe

set PYTHONHOME=%GISBASE%\Python27
set GDAL_DATA=%GISBASE%\share\gdal
set PROJ_LIB=%GISBASE%\proj
set GEOTIFF_CSV=%GISBASE%\share\epsg_csv

set PATH=%GISBASE%\msys\bin;%PATH%
set PATH=%GISBASE%\extrabin;%GISBASE%\extralib;%PATH%
set PATH=%GISBASE%\tcl-tk\bin;%GISBASE%\sqlite\bin;%GISBASE%\gpsbabel;%PATH%
set PATH=%GISBASE%\bin;%PATH%

rem Path to the python directory --
rem set PYTHONHOME=%GISBASE%\Python27 
rem if "x%GRASS_PYTHON%" == "x" set GRASS_PYTHON=python 

Alguém pode me ajudar a corrigir o problema?

Sanjeewa
fonte

Respostas:

5

Verifique esta página; pode lhe dar uma idéia de como configurá-lo:

http://grasswiki.osgeo.org/wiki/GRASS_and_Python

-> Criando scripts Python que chamam a funcionalidade GRASS de fora

-> MS-Windows

markusN
fonte
Sim. Eu alterei o env.bat usando o site. No entanto, não encontro .grassrc6 no caminho indicado no site (GISRC = C: \ Documents and Settings \ user \ .grassrc6) ou em qualquer outro caminho. Às vezes pode ser a causa. Alguma idéia sobre isso?
precisa saber é o seguinte
1
Execute o GRASS uma vez para criar automaticamente o arquivo .grassrc6 ou manualmente. Eu atualizei a página wiki de acordo.
markusN
Executei o GRASS novamente, mas o arquivo não foi criado. Minhas configurações atuais são: GSIDBASE = C: \ users \ kabs \ Meu documento, Local = Spearfish60 e Mapset = usuário1. Como atualizar para o diretório existente (eu criei c: \ users \ grassdata) com localização, conjunto de mapas e, especialmente, GRASS_DB_ENCODING: ascii
Sanjeewa
Estou certo de que discutimos o mesmo na lista de discussão dos usuários comuns? No entanto, a página Wiki foi atualizada novamente.
markusN
2

Ao configurar o python para grama, enfrentei o mesmo problema. Encontrei grassrc6 em APPDATA:

Não importa como o arquivo é chamado, desde que% GISRC% aponte para ele e ele contenha as configurações necessárias.

O local normal do GRASS 6.x no Windows é:% APPDATA% \ GRASS6 \ grassrc6

No Windows 7, uma configuração típica para% APPDATA% é C: \ Users \\ AppData \ Roaming

Está escrito aqui .

GokcenG
fonte