Memanggil fungsi GRASS dari Python eksternal?


8

Saya telah menginstal GRASS 6.4.3 svn di komputer saya yang menjalankan Windows 7. Juga di komputer saya, saya menginstal Python 2.7.3 untuk Windows. Sekarang saya perlu memanggil perpustakaan GRASS dari Python dan tidak di dalam shell Python di GRASS GUI itu sendiri. Saya mengatur variabel lingkungan env.batuntuk ini. Tetapi koneksi gagal. Inilah yang env.batsaya miliki:

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 

Adakah yang bisa membantu saya memperbaiki masalah ini?

Jawaban:


5

Periksa halaman ini; itu mungkin memberi Anda beberapa ide bagaimana mengaturnya:

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

-> Membuat skrip Python yang memanggil fungsionalitas GRASS dari luar

-> MS-Windows


Iya. Saya memodifikasi env.bat menggunakan situs web. Namun saya tidak menemukan .grassrc6 di jalur yang diberikan di situs web (GISRC = C: \ Documents and Settings \ user \ .grassrc6) atau di jalur lain. Terkadang mungkin itu penyebabnya. Ada ide tentang ini?
Sanjeewa

1
Jalankan GRASS satu kali untuk membuat file .grassrc6 secara otomatis atau membuatnya secara manual. Saya telah memperbarui halaman wiki sesuai.
markusN

Saya menjalankan GRASS lagi tetapi file tidak dibuat. Pengaturan saya saat ini adalah: GSIDBASE = C: \ users \ kabs \ My Document, Location = Spearfish60 dan Mapset = user1. Cara memperbarui ke direktori yang ada (saya telah membuat c: \ users \ grassdata) dengan lokasi, mapset dan terutama GRASS_DB_ENCODING: ascii
Sanjeewa

Apakah saya benar bahwa kita membahas hal yang sama pada milis pengguna rumput? Namun, halaman Wiki diperbarui lagi.
markusN

2

Ketika mengkonfigurasi python untuk rumput saya menghadapi masalah yang sama. Saya telah menemukan grassrc6 di bawah APPDATA:

Tidak masalah apa nama file itu, selama% GISRC% menunjuk ke sana dan itu berisi pengaturan yang diperlukan.

Lokasi normal untuk GRASS 6.x pada Windows adalah:% APPDATA% \ GRASS6 \ grassrc6

Pada Windows 7, pengaturan khas untuk% APPDATA% adalah C: \ Users \\ AppData \ Roaming

Itu tertulis di sini .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.