17.5.1. Общие сведения о GRASS GIS¶
GRASS: Geographic Resources Analysis Support System¶
- Разрабатывается с 1984 года (USA-CERL). Все это время была открытой ГИС.
- Кроссплатформенная: доступны версии для GNU/Linux, MS-Windows, Mac OSX, SUN, …; 32/64 битные системы.
- Хорошо документирована, большие коллекции данных. Коммерческая поддержка.
![]()
GRASS GIS это¶
- Растровая 2.5D/3D ГИС
- Векторная 2D/3D топологическая ГИС
- Анализ и обработка графов
- Анализ и обработка пространственно-временных рядов
- Система обработки изображений
- Система 2D и 3D визуализации
- Поддержка баз данных:dbf, PostgreSQL, MySQL и sqlite. MS SQL, Oracle (ODBC)
- Поддерживает импорт-экспорт всех распространенных растровых и векторных форматов
Поддерживаемые типы данных¶
- 2D Растровые данные, включая спутниковые снимки и аэрофотосъемку
- 3D (Voxel) данные
- 2D/3D векторные данные с поддержкой топологии
- Временные ряды векторных и растровых данных
![]()
Устройство GRASS: общие сведения¶
- Модульная структура (более 500 модулей)
- Модуль — отдельная программа (или скрипт), использующий библиотеки GRASS
- Собственные (внутренние) форматы данных для растров и векторов
Детали для программистов¶
- Для запуска и работы модулей не нужно запуска граф.интерфейса, только общая инициализация
- В основе — принципы Unix: * Принцип «1 модуль — 1 функция» (не всегда) * Модули могут сочетаться / комбинироваться
- «Ядро» GRASS и большая часть основных модулей написана на С
- Python-библиотека из нескольких модулей: * script — написание скриптов * PyGRASS — Python API
Устройство GRASS: БД, область, набор¶
- Строгая иерархия данных:
- «База данных» (GISDBASE / database) — не настоящая БД, а набор директорий и файлов.
- «Область» (location) — наподобие «проекта», определяется системой координат и географ. охватом. Включает наборы данных, информацию о подключении в база данных и т.д.
- «Набор» (mapset) — набор данных. Часть проекта (области). Можно настроить отдельные права доступа, задать свой охват. Набор PERMANENT должен быть всегда.
- Области/наборы могут создаваться «на лету» (например, в скрипте). Можно переключаться между областями и наборами и/или перебрасывать данные между ними.
Запуск GRASS¶
- Запустите GRASS 7 с интерфейсом wxGUI.
- Всегда первым появляется окно терминала, т.к. GRASS запускается через интерпретатор командной строки (bash, CMD.EXE и т.п.)
- Затем запускается граф. интерфейс
Интерфейсы: CLI/GUI¶
- Командная строка (CLI) — основной метод работы с GRASS (исторически и в силу специфики), графический интерфейс (GUI) — «надстройка»
- Графичеcкий интерфейс пользователя — wxGUI — основан на wxPython.
- Окно менеджера слоев (1-4): 1. Дерево слоев 2. Командная консоль (урезанная) 3. Поиск модулей 4. Интерпретатор Python
- Окно карты (5)
Модули («команды»)¶
- Модули разбиты на группы по функциональному назначению, например:
Тип модуля | Назначение |
---|---|
g.* | Общее управление ГИС и интерфейсом |
r.* | Растровые данные |
v.* | Векторные данные |
… | … |
Принцип названий: „группа_модулей.имя_модуля“ (g.region, r.to.vect, v.clean и т.п.)
Каждый модуль имеет параметры (опции) и флаги, контролирующие процесс выполнения. Например:
g.region res=5 -p
Посмотреть описание модуля и все его опции: „имя_модуля -help“ в командной строке. Например:
g.region -help