Открытая настольная ГИС SAGA - общая характеристика
Обзор Открытой настольной ГИС SAGA (System for Automated Geoscientific Analyses) – история, свойства и особенности, современное состояние
SAGA – один из наиболее успешных Открытых ГИС-проектов последних лет. Формируясь в академической среде, она смогла интегрировать современные комплексные аналитические алгоритмы в простую для освоения и использования оболочку. Это, в свою очередь, позволило завоевать широкую аудиторию пользователей и разработчиков, способствующих динамичному развитию.
История
Идея разработки нового программного продукта возникла в конце 1990-х на кафедре физической географии (теперь – ландшафтной экологии) факультета геологических наук и географии Гёттингенского университета во время работы над несколькими научно-исследовательскими проектами. Исследования фокусировались в основном на анализе ЦМР для прогнозирования свойств почв, динамики физико-географических процессов связанных с рельефом, а также некоторых климатических параметров.
На тот момент рабочей группой использовалось несколько программ:
- SARA (System for Automated Terrain Analysis), написанная на языке программирования FORTRAN77 и работающая в ОС UNIX;
- SADO (System for the Analysis and Discretisation of Surfaces) – язык С++ и ОС Windows;
- DiGeM (Digitalen Geländemodell) – также С++ и Windows.
И хотя каждая из них справлялся со своим предназначением, разрозненность функций и работа под разными ОС усложняли обмен данными. Кроме того, специфика исследовательских задач требовала разработки и внедрения новых специализированных методов геопространственного анализа и моделирования. Это было сложно сделать, оперируя тремя отдельными инструментами. Поэтому прототипом нового ПО, которое интегрирует существующие наработки и станет удобной базой для внедрения новых алгоритмов, был выбран DiGeM. Именно на его основе и была разработана System for Automated Geoscientific Analyses – SAGA.
- Таблица 1. Основные этапы развития Открытой ГИС SAGA
- Таблица 1. Основные этапы развития Открытой ГИС SAGA
конец 1990-х | зарождение идеи разработки нового ПО на базе интеграции SARA, SADO, DiGeM |
2001 | начало разработки SAGA на основе DiGeM |
2002-2003 | SAGA становится основным рабочим инструментом исследовательской группы |
февраль 2004 | SAGA 1.0 опубликована под Общественной лицензией как ПО с открытым исходным кодом |
июль 2004 | начало работы над SAGA 2.0 (с использованием кросс-платформенной GUI-библиотеки wxWidgets, которая обеспечивает независимую от ОС разработку ПО) |
август 2004 | руководство пользователя SAGA V. Olaya |
январь 2005 | организация Ассоциации пользователей – SAGA User Group Association |
февраль 2005 | SAGA 1.2 и 2.0-beta представлена на CeBIT (Международная ярмарка ИТ, телекоммуникаций и ПО) |
март 2005 | SAGA 2.0 для ОС Windows и Linux |
ноябрь 2005 | первая конференция пользователей SAGA, Гёттинген |
июнь 2006 | выход SAGA 2.0(RC1) |
июль 2006 | первая международная конференция пользователей SAGA в рамках конференции и выставки по прикладной геоинформатике – Symposium und Fachmesse Angewandte Geoinformatik (AGIT), Зальцбург, Австрия |
июнь 2007 | выход SAGA 2.0.0 |
2007 | центр разработки сместился на кафедру физической географии Института географии Гамбургского университета |
май 2008 | A. Brenning публикует RSAGA |
2008-2011 | последовательный выход SAGA 2.0.3-2.0.8 |
На протяжении всего периода своего развития, а особенно после регистрации проекта в феврале 2004 на одном из наибольших хостингов для Открытого ПО SourceForge.net, SAGA демонстрирует стабильную динамику развития и роста пользовательской аудитории. Новая версия выходит минимум раз в год (в 2010 и 2011 – дважды), что позволяет своевременно удовлетворять запросы, поддерживать интерес пользователей и разработчиков.
ХХХХХ РИСУНОК ХХХХ
Учитывая аналитическую направленность программного продукта, его целевая аудитория формируется представителями научно-исследовательских организаций. Поэтому лидерами по активности пользовательских сообществ среди стран являются Германия (родина проекта), Россия, США и Китай, обладающие высоким научным потенциалом. В последние годы количество пользователей растет также благодаря Канаде, Индии, Бразилии, Австралии, Румынии и другим.
ХХХХХ РИСУНОК ХХХХХ
Движущие силы развития
Персоналии
Ключевыми фигурами, стоящими у истоков разработки ГИС SAGA, являются заведующий кафедрой физической географии Института географии Гамбургского университета проф., д-р Jürgen Böhner и ее научный сотрудник д-р Olaf Conrad. Корме того, после выхода SAGA под общественной лицензией в 2004 году, проект пополнился активными участниками и существенными вкладами:
- Victor Olaya – интеграция аналитических алгоритмов SAGA в библиотеку анализа пространственных данных SEXTANTE (Sistema Extremeno de Analisis Territorial), развитие системы и разработка модулей, руководство пользователя;
- Tomas Schorr – геоинформационная поддержка точного земледелия в проекте GEOSTEP, совместимость с Linux, Unicode и 64bit, интерфейс SAGA-Python;
- Volker Wichmann – диссертация на тему моделирования гравитационно-осыпных процессов, сотрудничество с Laserdata GmbH, поддержка и документация, развитие системы и разработка модулей;
- Vern Cimmery – документация и руководство пользователя для версии 2.0;
- Alexander Brenning – плагин RSAGA, обеспечивающий доступ к модулям SAGA из среды R;
- J. van de Wauw – поддержка и распространение версий для Linux (Debian, Ubuntu), исправление ошибок, разработка модулей;
- J. Brunke – активный пользователь, представитель Агентства по охране окружающей среды района Гифхорн земли Нижняя Саксония,
а также многими другими, занятыми преимущественно доработкой модулей и документации.
Организации
Развитие SAGA подчиняется исследовательским интересам ее изобретателей, разработчиков и активных пользователей, которые являются представителями различных объединений. «Колыбелью» проекта стала кафедра физической географии Гёттингенского университета, а в 2007 году центр разработки переместился на кафедру физической географии Института географии Гамбургского университета. Кроме того, в «академическое ядро» поддержки SAGA входят:
- Институт физической географии и ландшафтной экологии, Ганноверский университет Вильгельма Лейбница;
- Центр геоинформатики Z_GIS, Зальцбургский университет;
- Отделение географии, Боннский университет;
- Кафедра физической географии, Католический университет Айхштет-Ингольштадта;
- Лаборатория ДЗ и ГИС, Кёльнский университет;
- Институт агроэкологии / RLP AgroScience федеральной земли Рейнланд-Пфальц.
Коммерческая сторона представлена компаниями:
- SciLands GmbH, Гёттинген - объединяет географический анализ с современными информационными технологиями для решения различных задач в сфере ландшафтных и геоэкологических исследований. Благодаря сотрудничеству с научно-исследовательскими и коммерческим организациями, SciLands обеспечивает прикладное внедрение ГИС SAGA на для решения практических задач.
- Laserdata GmbH, Иннсбрук - использует SAGA в качестве основы развития собственного ПО для обработки и анализа данных лидарной съемки – LiDAR Software (LiS). В результате такого взаимовыгодного сотрудничества SAGA совершенствует свои возможности обработки и анализа данных лазерного сканирования.
Исследовательские проекты
Аналитический потенциал SAGA востребован и динамично развивается благодаря участию создателей и разработчиков данной ГИС в целом ряде научно-исследовательских проектов:
CARBIOCIAL – Carbon sequestration, biodiversity and social structures in Southern Amazonia | Моделирование и реализация углеродно-оптимизированных стратегий землепользования. В рамках проекта проф., д-р Jürgen Böhner с коллегами занимается разработкой и внедрением иерархической цепочки моделей для имитации изменчивости регионального климата и климатических изменений в Южной Амазонии. |
The Future Okavango | Научная поддержка устойчивого земле- и ресурсопользования в бассейне р. Окаванго. Основные усилия сосредоточены на субпроекте ландшафтного анализа с применением ГИС, экологического моделирования и поддержки решений интегрированного управления ресурсами. |
CHELSEA – Climatologies at High Resolution for the Earth’s Land Surface Areas | Проект реализуется в процессе сотрудничества кафедры физической географии (Гамбургский университет) с Институтом системной ботаники (Цюрихский университет), Исследовательской группой по биоразнообразию, макроэкологии и природоохранной биогеографии (Гёттингенский университет). |
LEM 200 – A Landscape Evolution Model | Разработка процессной ландшафтной модели для прогнозирования распространения и свойств перигляциальных отложений. Работы ведутся совместно с Германским государственным институтом геологических наук и природных ресурсов |
SAGA-REKLIM | Изменения климата и лесное хозяйство: исследования и разработка для проблемно-ориентированной регионализации пространственно распределенных климатических данных на основе ГИС SAGA (земля Баден-Вюртенберг) |
CliSAP – Integrated Climate System Analysis and Prediction | Пространственная регионализация городских климатов с высоким пространственным разрешением на основе статистико-динамического масштабирования с применением технологий ДЗ. |
ALADIN | Разработка ГИС-методов анализа данных лазерного сканирования, как информационного источника для управления опасными природными явлениями. Проект осуществлялся при финансовой поддержке исследовательско-консультативного центра по адаптации к климатическим изменениям в горных районах alpS GmbH. |
Общие свойства
Язык программирования
SAGA написана на языке программирования С++, который позволяет осуществлять объектно-ориентированное проектирование системы. При этом наличие готовых универсальных открытых исходных кодов на С++ дает возможность инкорпорировать их в приложение, которое разрабатывается. Благодаря этому сам процесс разработки упрощается и ускоряется.
Открытость
SAGA является ПО с открытым исходным кодом, или проще – Открытым ПО, т.к. ее использование регулируется Общественными лицензиями:
- Стандартная общественная лицензия (GNU General Public License version 2.0 – GPLv2) – регулирует использование графического интерфейса пользователя (Graphical User Interface – GUI) и большинства модулей. Согласно ее условиям программы, использующие GPL-коды, должны распространяться на условиях аналогичных условиям их получения, т.е. как Открытое ПО;
- Стандартная общественная лицензия ограниченного применения (GNU Library or Lesser General Public License version 2.0 – LGPLv2) – касается интерфейса программирования приложений (Application Programming Interface – API). Исходя из условий этой лицензии программы, использующие LGPL-коды, не обязаны публиковаться как Открытое ПО, т.е. некоторые модули SAGA все же могут оставаться проприетарными.
Открытость ПО предоставляет пользователю четыре уровня свободы, основой которых является свободный доступ к исходному коду:
- использовать ПО для любых собственных целей;
- изучать принципы его работы и модифицировать;
- свободно распространять копии;
- совершенствовать и публиковать производные продукты как общедоступные.
Следствиями этих свобод в более узком, практическом смысле являются бесплатность ПО, прозрачность, международное сообщество разработчиков. Особую роль с научной точки зрения играет прозрачность, т.к. важным условием практической адаптации любой методики является независимая проверка ее корректности и воспроизводимости. Обеспечить такие возможности в полной мере может именно Открытый доступ к ПО, т.е. исходному коду и алгоритмам.
Системная архитектура
В основе модульной системной архитектуры SAGA находятся три блока – интерфейс программирования приложения (Application Programming Interface – API), библиотеки модулей и (графический) интерфейс пользователя. По своей сути API и библиотеки модулей являются не отдельными исполнимыми файлами, а библиотеками динамической компоновки (Dynamic Link Libraries – DLL), доступ к которым осуществляется через интерфейс(ы) пользователя.
ХХХ РИСУНОК ХХХ
Интерфейс программирования приложения - API
API это основа приложения, которая предоставляет модели объектов геоданных, множество вспомогательных классов и функций, а также определения для программирования модулей и разработки новых методов.
Библиотека модулей
Предоставляемые SAGA операции реализованы в виде отдельных модулей и сгруппированы в соответствии со своим функционально-тематическим предназначением, как библиотеки динамической компоновки (DLL). С одной стороны, это поддерживает независимость методов, а с другой – обеспечивает их взаимосвязь с общей структурой. Большинство модулей выпущено под лицензией GPL, а их список стабильно растет.
год | число библиотек | число модулей | версия |
---|---|---|---|
2005 | 34 | 119 | 1.2 |
2007 | 42 | 234 | 2.0.0 |
2008 | 48 | 300 | 2.0.3 |
2009 | 49 | 330 | 2.0.4 |
2010 | 56 | 401 | 2.0.5 |
2011 | 63 | 446 | 2.0.7 |
2011 | 63 | 467 | 2.0.8 |
ожидается | 64 | 491 | 2.1.0 |
Интерфейсы
Графический интерфейс пользователя - GUI
GUI один из внешних интерфейсов SAGA, который обеспечивает пользователю общий контроль и интуитивное взаимодействие с системой. Он отвечает за управление, анализ и визуализацию данных. Кроме панелей меню, инструментов и статуса, которые являются типичными элементами графического интерфейса большинства современных программ, GUI SAGA связывает пользователя с тремя дополнительными элементами контроля: рабочей областью, свойствами объекта и окнами сообщений.
ХХХ РИСУНОКХХХ
Рабочая область (Workspace) контролирует окна-вкладки модулей (Modules), данных (Data) и карт (Maps). Каждая такая вкладка может иметь вид иерархического дерева (Tree) или набора пиктограмм (Thumbnails) через которые можно получить доступ к соответствующим объектам, которые контролируются данным элементом. Подключенные библиотеки модулей отображаются в рабочей вкладке модулей вместе с перечнем модулей, которые они объединяют. Аналогичным образом картографические компоновки (виды) отображаются на вкладке карт, а иерархически отсортированные по типам объекты данных – на вкладке данных.
В зависимости от того какой объект в рабочей области выбран, контрольная панель свойств объекта (Object Properties) демонстрирует специфический набор вкладок, которые с ним ассоциируются. Общими для всех объектов является вкладки настроек (Settings) и характеристики (Description). Если в рабочей области выбран модуль, то вкладка настроек будет содержать параметры, которые необходимо установить для выполнения модуля. Вкладка характеристики соответственно будет содержать информацию о модуле, значения его параметров, автора.
В случае выбора объекта данных вкладка настроек дает контроль над такими его свойствами как название, использование дискового пространства, особенности визуализации. Описание объекта дополняется историей (History), которая позволяет восстановить процесс создания и обработки набора данных. Другие вкладки, связанные с объектом, позволяют редактировать атрибуты (Attributes) векторных слоев данных или отображать легенду (Legend) выбранной карты.
ХХХ РИС ХХХ
Окно сообщений (Messages) содержит три вкладки для: общих сообщений (General), сообщений о выполнении модулей (Execution) и сообщений об ошибках ((Errors).
ХХХ РИСУНОК ХХХ
Интерпретатор командной строки - CLI
CLI SAGA позволяет управлять работой модулей через оболочку командной строки. Хотя такой способ и не очень удобен для пользователя, он дает возможность использовать пакетные скрипты для большей автоматизации рабочего процесса. Это особенно удобно, т.к. в GUI SAGA шаблон пакетного скрипта для любого модуля легко может быть создан через его контекстное меню.
Компилятор Simplified Wrapper and Interface Generator – SWIG
SWIG – инструмент для связывания программ и библиотек написанных на C/C++ с высокоуровневыми скриптовыми языками. Строго говоря, SWIG не является интерфейсом как таковым, однако он играет важную роль в обеспечении взаимодействия со скриптами. Именно через компилятор SWIG становится возможным связывание API и модулей SAGA с такими языками как Tcl, Perl, Python, Java, C#, R.
На сегодняшний день полностью готовым к работе является только интерфейс для Python, интерфейс Java находится в активной разработке (V. Wichmann). Также, с учетом возможности практически полного контроля функциональности SAGA из среды R, ожидается скорое появление интерфейса для него.
Интероперабельность
SAGA изначально задумывалась как ИС способная выполнять 4 основных функции – сбор, управление, анализ и представление данных. Ключевым свойством для их осуществления является интероперабельность или гибкость во взаимодействии с различными аппаратными базами, ОС и ПО, способами представления данных, пространственными характеристиками.
Платформы
SAGA работает как на клиентских (персональных), так и серверных платформах. Из официального файлового хранилища на SourcForge.net доступны дистрибутивы для настольных ОС MS Windows и Linux (поддержка Debian и Ubuntu). Начиная с версии 2.0.5 (2010 год), стала возможной сборка на серверной ОС FreeBSD (архитектура PowerPC).
Модели данных
Являясь гибридной ГИС, SAGA поддерживает векторную и растровую модели данных, с акцентом на анализ растров. Она также дает возможность работать с TINами, хотя эта функция, не являясь приоритетной для создателей, реализована здесь слабо. Благодаря тесному сотрудничеству с Laserdata GmbH, большое внимание уделяется обработке облаков точек (point cloud data) – специфическому виду данных, получаемому в результате лидарной съемки.
Форматы данных
Возможность работать с различными форматами геоданных обеспечивается библиотеками GDAL/OGR. GDAL (Geospatial Data Abstraction Library) предоставляет использующему приложению единую обобщенную модель форматов файлов растровых данных. По состоянию на 07.01.2012 число поддерживаемых GDAL форматов достигло 128. Аналогичным образом OGR (OGR Simple Features Library) поддерживает работу с 70 форматами файлов векторных данных.
Помимо этого SAGA способна взаимодействовать с базами данных через интерфейс Open Data Base Connection (ODBC). Взаимосвязь реализована посредством библиотеки Oracle, Odbc and DB2-CLI Template Library (OTL) v.4.0.
Проекции
За поддержку широкого набора систем пространственных параметров в SAGA отвечают две библиотеки картографических проекций. Первая – PROJ.4 – проект OSGeo под руководством Frank Warmerdam, который основывается на работе Gerald Evenden для Геологической службы США. Вторая – Mensuration Services Program (MSP) GeoTrans (Geographic Translator), развиваемая National Geospatial-Intelligence Agency. Обе обеспечивают простоту конвертации географических координат и трансформаций при переходе между системами координат, проекциями, датумами.
Инсталляция
Положительными чертами SAGA являются ее небольшой «вес» (в установленном виде ПО занимает около 35 Мб дискового пространства), а также возможность на основе пакета бинарных файлов использовать ее как портативное ПО, т.е. обойтись без полновесной инсталляции.