Gọi các hàm GRASS từ Python bên ngoài?


8

Tôi đã cài đặt GRASS 6.4.3 svn trên máy chạy Windows 7. Ngoài ra, trong máy của tôi, tôi đã cài đặt Python 2.7.3 cho Windows. Bây giờ tôi cần gọi các thư viện GRASS từ Python chứ không phải trong shell Python trong chính GRASS GUI. Tôi đặt các biến môi trường trong env.batnày. Nhưng kết nối thất bại. Đây là cái env.battôi có:

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 

Ai đó có thể giúp tôi trong việc khắc phục vấn đề?

Câu trả lời:


5

Kiểm tra trang này; nó có thể cung cấp cho bạn một số ý tưởng làm thế nào để thiết lập nó:

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

-> Tạo tập lệnh Python gọi chức năng GRASS từ bên ngoài

-> MS-Windows


Đúng. Tôi đã sửa đổi env.bat bằng cách sử dụng trang web. Tuy nhiên, tôi không tìm thấy .grassrc6 trong đường dẫn được cung cấp trong trang web (GISRC = C: \ Documents and Settings \ user \ .grassrc6) hoặc trong bất kỳ đường dẫn nào khác. Đôi khi nó có thể là nguyên nhân. Bất cứ ý tưởng về điều này?
Sanjeewa

1
Chạy GRASS một lần để tự động tạo tệp .grassrc6 hoặc tạo thủ công. Tôi đã cập nhật trang wiki phù hợp.
markusN

Tôi đã chạy GRASS một lần nữa nhưng tệp không được tạo. Cài đặt hiện tại của tôi là: GSIDBASE = C: \ users \ kabs \ My Document, Location = Spearfish60 và Mapset = user1. Cách cập nhật vào thư mục hiện có (tôi đã tạo c: \ users \ grassdata) với vị trí, bộ bản đồ và đặc biệt là GRASS_DB_ENCODING: ascii
Sanjeewa

Tôi có đúng không khi chúng ta thảo luận tương tự trong danh sách gửi thư của người dùng cỏ? Tuy nhiên, trang Wiki đã cập nhật lại.
markusN

2

Khi cấu hình python cho cỏ tôi gặp vấn đề tương tự. Tôi đã tìm thấy grassrc6 trong APPDATA:

Không có vấn đề gì với tập tin được gọi, miễn là% GISRC% chỉ vào nó và nó chứa các cài đặt cần thiết.

Vị trí bình thường cho GRASS 6.x trên Windows là:% APPDATA% \ GRASS6 \ grassrc6

Trên Windows 7, cài đặt điển hình cho% APPDATA% là C: \ Users \\ AppData \ Roaming

Nó được viết ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.