Создание скрипта на Python для ГИС GRASS
-
- Bot
- Сообщения: 276
- Зарегистрирован: 03 фев 2008, 23:13
- Репутация: 3
Создание скрипта на Python для ГИС GRASS
Обсуждение статьи "Создание скрипта на Python для ГИС GRASS"
http://gis-lab.info/qa/grass64-python.html
http://gis-lab.info/qa/grass64-python.html
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание скрипта на Python для ГИС GRASS
Чисто из любопытства: а при стандартном наборе [bash + awk + ...] это можно было бы реализовать? Как я понял, питон --- это прежде всего это для "кроссплатформенности" скрипта?.. А на страничку http://grass.osgeo.org/wiki/GRASS_AddOns модуль попадёт? 

Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание скрипта на Python для ГИС GRASS
При запуске (на Linux) вне окружения GRASS ругается:
В то время как (по идее) должен писать:
Т.е., видимо, питон просто не доходит до нужного предупреждения, т.к. не может загрузить модуль grass.script, так?
Код: Выделить всё
Traceback (most recent call last):
File "./i.jmdist", line 50, in <module>
import grass.script as grass
ImportError: No module named grass.script
Код: Выделить всё
You must be in GRASS GIS to run this program.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Создание скрипта на Python для ГИС GRASS
Судя по ошибке не установлен или не находится пакет-обертка над GRASS grass.script.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание скрипта на Python для ГИС GRASS
Это понятно -- скрипт работает только из GRASS, там и подгружается grass.script.Voltron писал(а):Судя по ошибке не установлен или не находится пакет-обертка над GRASS grass.script.
Вопрос, вроде, решился: если кусок
Код: Выделить всё
if __name__ == "__main__":
if "GISBASE" not in os.environ:
print "You must be in GRASS GIS to run this program."
sys.exit(1)
Код: Выделить всё
import os, sys
from math import exp, sqrt, log
import numpy as np

Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Создание скрипта на Python для ГИС GRASS
Все, обновил скрипт. Спасибо.amuriy писал(а): Вопрос, вроде, решился: если кусок
<...>
из самого конца перенести в начало после строк
<...>
то работает "как мне надо". Мелочь, а приятно
Последний раз редактировалось KolesovDmitry 03 июн 2011, 19:16, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Re: Создание скрипта на Python для ГИС GRASS
Скачал я прилагаемый к статье скрипт i.jmdist
Я конечно извиняюсь, но что-то так и не понял, КАК уже готовый скрипт запустить.
Его из GRASS запускают или из Python? Каким методом?
Я конечно извиняюсь, но что-то так и не понял, КАК уже готовый скрипт запустить.
Его из GRASS запускают или из Python? Каким методом?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создание скрипта на Python для ГИС GRASS
bolotoved, запускать нужно из-под работающей GRASS из командной строки. Будет ли скрипт работать под Win как надо, точно сказать не могу.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Кто-нибудь запускал Python-скрипты под Windows?
У меня Windows и тот Грасс, что идет в комплекте с Кугис при установке через Osgeo4w.amuriy писал(а):bolotoved, запускать нужно из-под работающей GRASS из командной строки. Будет ли скрипт работать под Win как надо, точно сказать не могу.
Чтобы запустить скрипт нужно создать файл i.jmdist.bat в папке C:\OSGeo4W\apps\grass\grass-6.4.2\bin содержащий следующий код:
Код: Выделить всё
@"%GRASS_PYTHON%" "%GISBASE%/scripts/i.jmdist" %*
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Создание скрипта на Python для ГИС GRASS
Статья обновлена, исправлены ошибки в формулах расчетов (как в описании модуля, так и в его реализации).
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 0 гостей