24.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