Структура базы геоданных ГИС GRASS и способы ее создания

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Структура базы геоданных ГИС GRASS

В отличие от многих других ГИС, при работе с ГИС GRASS все используемые данные должны храниться в определеном пользователем каталоге, который в терминологии GRASS носит название базы геоданных (DATABASE). В данной статье описывается структура базы геоданных на общем уровне, т.е. с точки зрения пользователя системы GRASS, а не ее разработчика. Нужно отметить, что русскоязычная терминология описания структуры базы геоданных еще не устоялась, поэтому ниже при описании будут приводиться английские названия описываемых объектов и соответствующий им русский эквивалент (один или несколько).

Понятие базы геоданных, области и набора данных

На общем уровне база геоданных состоит из следующих частей:

  • DATABASE -- база геоданных (второе название -- каталог данных). Это обычный каталог, который может быть расположен в любом месте дерева каталогов на компьютере пользователя или сети. Здесь хранятся все области проектов (LOCATION).
Аналогия: "здание библиотеки, в котором есть несколько читальных залов".
  • LOCATION -- область проекта, более краткое название: область или просто проект. Область проекта определяется системой координат и пространственным охватом. Таким образом для каждой новой территории следует создавать отдельный проект. Аналогично, даже если планируется работать с одной и той же территорией, но в разных системах кординат, то необходимо создать несколько проектов -- для каждой системы координат свой отдельный проект. В проекте хранится вся информация об интересующей территории (карты), настройки подключений к БД и т.п. Тем не менее, проект это не замкнутая система, и данные, хранимые в одном проекте могут быть легко использованы в другом.
Аналогия: "читальный зал библиотеки по конкретной отрасли знаний".
  • MAPSET -- набор карт (набор данных или просто набор). Набор представляет собой часть области проекта. Т.е. проект может быть поделен на более мелкие логические части, например:
  • по тематике (скажем, набор топографических данных и набор данных ДЗЗ),
  • пространствнному охвату (к примеру, набор на всю территорию и набор на северо-западную часть области),
  • пользователю-владельцу набора (набор пользователя user1 и набор пользователя user2).
На наборы карт можно настраивать права доступа, например, можно указать, что пользователь user2 не имеет права читать данные пользователя user1, а user1 имеет права на чтение набора данных по ДЗЗ, но не имеет прав писать в этот набор.
В любой области должен быть задан как минимум один набор, название которого -- PERMANENT.


<amuriy> Сюда бы картинку типа этой, но с пояснениями на русском (сделаю) </amuriy>

GRASS location structure.png


<amuriy> Набор PERMANENT доступен из всех остальных наборов и для всех пользователей. В нём в нескольких текстовых файлах хранится основная информация данной области: параметры системы координат и проекции (PROJ_INFO и PROJ_UNITS); вычислительный регион по умолчанию (файл DEFAULT_WIND) и текущий регион (WIND); параметры подключения таблиц атрибутов (VAR) — драйвер по умолчанию и полный путь к базе данных; перечень наборов, по которым производится поиск (SEARCH_PATH). </amuriy>


Аналогия: "книжный шкаф с книгами по определенной тематики или определенного автора".

Особенности использования

При создании базы геоданных пользователь сам определяет место расположения базы, ее название, а также названия областей и наборов. Тем не менее, существуют простые рекомендации о том, что пути и названия не должны содержать:

  • пробелы,
  • символы, отличные от символов латинского алфавита.


Способы создания областей и наборов в ГИС GRASS

Существует несколько способов создания областей и наборов данных в ГИС GRASS, ниже даны ссылки на описания основных из них:

  • Наиболее общий и, соответственно, сложный способ (но применимый в любых условиях) создания области/набора непосредственно в системе GRASS -- создание области с указанием ее параметров (проекция, пространственные границы и разрешение). Данный способ приводится в Учебном руководстве по ГИС GRASS 6.0, в разделе 4.5 "Создание различных областей проектов GRASS".
  • Более простые способы создания областей/наборов непосредственно в ГИС GRASS описаны на форуме gis-lab.info.
  • Поскольку база геоданных, область проекта и набор данных представляют собой обычные каталоги определенной структуры, то можно создать область и набор данных, используя внешние программы или скрипты, не используя систему GRASS. Этот подход рассматривается в данной статье.

<amuriy>

  • Существует также скрипт для создания области GRASS "извне" из растровых/векторных данных, файлов проекций (WKT) или по коду EPSG — grass_create_location.sh

</amuriy>

Модули для работы с базой геоданных и областями/наборами

<amuriy>

За работу с базой геоданных отвечает целый набор специальных модулей с начальным префиксом g.*:

  • g.access — контролирует доступ к набору данных для пользователей
  • g.copy — копирование данных (в т.ч. между наборами)
  • g.dirseps — служебный модуль для смены символа разделения директорий
  • g.filename — вывод имён файлов
  • g.findetc — поиск служебных файлов GRASS
  • g.gisenv — вывод и изменение переменных окружения
  • g.list — список геоданных
  • g.mapset — создание наборов и их смена
  • g.mapsets — изм-е путей поиска по наборам
  • g.mlist — список геоданных (с шаблонами и т.п.)
  • g.mremove — удаление данных (с шаблонами и т.п.)
  • g.proj — вывод информации о СК/проекции и изменение их параметров
  • g.region — управление текущим регионом
  • g.remove — удаление данных
  • g.rename — переименование данных
  • g.setproj — интерактивное изменение параметров проекции для области
  • g.tempfile — создание временных файлов

В большинстве случаев пользователю просто незачем "вручную" менять какие-либо характеристики базы геоданных или производить действия с файлами в её составе.

</amuriy>