16.5.1. Общие сведения о GRASS GIS

GRASS: Geographic Resources Analysis Support System

  • Разрабатывается с 1984 года (USA-CERL). Все это время была открытой ГИС.
  • Кроссплатформенная: доступны версии для GNU/Linux, MS-Windows, Mac OSX, SUN, …; 32/64 битные системы.
  • Хорошо документирована, большие коллекции данных. Коммерческая поддержка.
../../../_images/platforms.png

GRASS GIS это

  • Растровая 2.5D/3D ГИС
  • Векторная 2D/3D топологическая ГИС
  • Анализ и обработка графов
  • Анализ и обработка пространственно-временных рядов
  • Система обработки изображений
  • Система 2D и 3D визуализации
  • Поддержка баз данных:dbf, PostgreSQL, MySQL и sqlite. MS SQL, Oracle (ODBC)
  • Поддерживает импорт-экспорт всех распространенных растровых и векторных форматов

Поддерживаемые типы данных

  • 2D Растровые данные, включая спутниковые снимки и аэрофотосъемку
  • 3D (Voxel) данные
  • 2D/3D векторные данные с поддержкой топологии
  • Временные ряды векторных и растровых данных
../../../_images/datatypes.png

Устройство GRASS: общие сведения

  • Модульная структура (более 500 модулей)
  • Модуль — отдельная программа (или скрипт), использующий библиотеки GRASS
  • Собственные (внутренние) форматы данных для растров и векторов

Детали для программистов

  • Для запуска и работы модулей не нужно запуска граф.интерфейса, только общая инициализация
  • В основе — принципы Unix: * Принцип «1 модуль — 1 функция» (не всегда) * Модули могут сочетаться / комбинироваться
  • «Ядро» GRASS и большая часть основных модулей написана на С
  • Python-библиотека из нескольких модулей: * script — написание скриптов * PyGRASS — Python API

Устройство GRASS: БД, область, набор

../../../_images/help_loc_struct.png
  • Строгая иерархия данных:
    • «База данных» (GISDBASE / database) — не настоящая БД, а набор директорий и файлов.
    • «Область» (location) — наподобие «проекта», определяется системой координат и географ. охватом. Включает наборы данных, информацию о подключении в база данных и т.д.
    • «Набор» (mapset) — набор данных. Часть проекта (области). Можно настроить отдельные права доступа, задать свой охват. Набор PERMANENT должен быть всегда.
  • Области/наборы могут создаваться «на лету» (например, в скрипте). Можно переключаться между областями и наборами и/или перебрасывать данные между ними.

Запуск GRASS

  1. Запустите GRASS 7 с интерфейсом wxGUI.
../../../_images/wxGUI_start.png
  • Всегда первым появляется окно терминала, т.к. GRASS запускается через интерпретатор командной строки (bash, CMD.EXE и т.п.)
  • Затем запускается граф. интерфейс

Интерфейсы: CLI/GUI

  • Командная строка (CLI) — основной метод работы с GRASS (исторически и в силу специфики), графический интерфейс (GUI) — «надстройка»
  • Графичеcкий интерфейс пользователя — wxGUI — основан на wxPython.
../../../_images/GUI_v2.png
  • Окно менеджера слоев (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