Введение

Программное обеспечение географической информационной системы компьютерное программное обеспечение

Система поддержки анализа географических ресурсов (обычно называемая GRASS GIS) – это программный пакет географической информационной системы (ГИС), используемый для управления и анализа геопространственных данных, обработки изображений, создания графики и карт, пространственного и временного моделирования, а также визуализации. Она поддерживает работу с растровыми, топологическими векторными данными, обработкой изображений и графическими данными. GRASS GIS включает более 350 модулей для отображения карт и изображений на мониторе и бумаге, манипулирования растровыми и векторными данными, включая векторные сети, обработки многоспектральных изображений, а также создания, управления и хранения пространственных данных. Программа распространяется под лицензией GNU General Public License (GPL) как свободное программное обеспечение с открытым исходным кодом. Она работает в различных операционных системах, включая OS X, Windows и Linux. Пользователи могут взаимодействовать с функциями программы через графический пользовательский интерфейс (GUI) или подключаться к GRASS через другое программное обеспечение, например QGIS. Также возможно непосредственное взаимодействие с модулями через специализированную оболочку, запускаемую приложением, или путем вызова отдельных модулей непосредственно из стандартной командной строки. Последняя стабильная версия (LTS) – GRASS GIS 7, доступная с 2015 года. Команда разработчиков GRASS – это многонациональная группа, состоящая из разработчиков, работающих в разных странах. GRASS является одним из восьми первоначальных программных проектов Open Source Geospatial Foundation.

Архитектура

GRASS поддерживает растровые и векторные данные в двух и трех измерениях. Векторная модель данных является топологической, то есть области определяются границами и центроидами; границы не могут пересекаться в пределах одного слоя. В отличие от этого, OpenGIS Simple Features определяет векторы более свободно, подобно негеопривязанной программе векторной графики. GRASS разработан как среда, в которой выполняются инструменты, осуществляющие конкретные ГИС-вычисления. В отличие от прикладного программного обеспечения с графическим интерфейсом, пользователю GRASS предоставляется оболочка Unix, содержащая модифицированную среду, поддерживающую выполнение команд GRASS, называемых модулями. Среда имеет состояние, включающее параметры, такие как охватываемый географический регион и используемая картографическая проекция. Все модули GRASS считывают это состояние и, кроме того, получают конкретные параметры (например, входные и выходные карты или значения для использования в вычислениях) при выполнении. Большинством модулей и возможностей GRASS можно управлять через графический пользовательский интерфейс (предоставляемый модулем GRASS) как альтернативу манипулированию географическими данными в оболочке. Дистрибутив GRASS включает более 350 основных модулей. На его веб-сайте предлагается более 100 дополнительных модулей, созданных пользователями. Библиотеки и основные модули написаны на C. Другие модули написаны на C, C++, Python, Unix shell, Tcl или других скриптовых языках. Модули разработаны в соответствии с философией Unix и, следовательно, могут быть объединены с использованием Python или скриптов оболочки для создания более сложных или специализированных модулей пользователями без знания языка C. Существует сотрудничество между проектами GRASS и Quantum GIS (QGIS). Последние версии QGIS могут выполняться в среде GRASS, что позволяет использовать QGIS в качестве удобного графического интерфейса для GRASS, который больше похож на другое графическое программное обеспечение ГИС, чем на интерфейс GRASS, основанный на оболочке. Существует также проект по перереализации GRASS на Java как JGRASS.

История

GRASS находится в непрерывной разработке с 1982 года и включает в себя большое количество федеральных агентств США, университетов и частных компаний. Основные компоненты GRASS и управление интеграцией усилий в его релизы первоначально осуществлялись Армейской исследовательской лабораторией строительной инженерии США (USA CERL), филиалом Инженерного корпуса армии США, в Шампейне, штат Иллинойс. USA CERL завершила свой последний релиз GRASS в версии 4.1 в 1992 году и предоставила пять обновлений и исправлений к этому релизу до 1995 года. USA CERL также разработала основные компоненты версии GRASS 5.0 с плавающей точкой. Разработка GRASS была начата USA CERL для удовлетворения потребностей вооруженных сил США в программном обеспечении для управления земельными ресурсами и экологического планирования. Ключевым стимулом был Закон о национальной экологической политике. Платформой разработки была Unix, работающая на аппаратном обеспечении VAX. В период с 1982 по 1995 год USA CERL возглавляла разработку GRASS, при участии многих других, включая университеты и другие федеральные агентства. USA CERL официально прекратила участие в GRASS после релиза 4.1 (1995), хотя разработка была ограничена незначительными исправлениями с 1993 года. Группа, сформированная в Университете Бейлора, взяла на себя поддержку программного обеспечения, выпустив GRASS 4.2. Примерно в это же время был выполнен перенос программного обеспечения на Linux. В 1998 году Маркус Нетельер, нынешний руководитель проекта, объявил о выпуске GRASS 4.2.1, который предлагал значительные улучшения, включая новый графический пользовательский интерфейс. В октябре 1999 года лицензия изначально общедоступного программного обеспечения GRASS была изменена на GNU GPL в версии 5.0. С тех пор GRASS превратилась в мощный программный пакет с широким спектром приложений в различных областях научных исследований и инженерии. Например, он используется для оценки потенциальной выработки солнечной фотоэлектрической энергии с помощью r.sun. По состоянию на 2015 год GRASS используется в академических и коммерческих учреждениях по всему миру, а также во многих государственных учреждениях, включая NASA, NOAA, USDA, DLR, CSIRO, Службу национальных парков, Бюро переписи населения США, USGS и многие экологические консалтинговые компании. По состоянию на 2015 год последней стабильной версией (LTS) является GRASS GIS 7. Она была выпущена в 2015 году, заменив старую стабильную ветку (6.4), выпущенную в 2011 году. Версия 7 добавила множество новых функций, включая поддержку больших данных, быстрый топологический 2D/3D векторный движок, мощный векторный сетевой анализ, полную временную структуру и многие другие функции и улучшения. По состоянию на 2015 год разработка GRASS разделена на две ветки: стабильную и экспериментальную. Стабильная ветка рекомендуется для большинства пользователей, в то время как экспериментальная ветка служит платформой для тестирования новых функций.