Начало работы с openModeller

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/openmodeller-intro.html


Знакомимся с openModeller — библиотекой моделирования экологических ниш, которая предоставляет единый метод моделирования структурного распределения при помощи различных алгоритмов.

openModeller — свободный инструмент моделирования единовременного пространственного распределения с открытым исходным кодом.

Общие сведения

Существует ряд приложений для выполнения анализа фундаментальных экологических ниш. Среди наиболее известных: Bioclim, DesktopGARP, MaxEnt и другие. Как правило, каждое из этих приложений создано для использования конкретного алгоритма и, в основном, все они являются закрытыми коммерческими разработками. Кроме того, каждое приложение имеет свои системные требования (например, наличие Java или работа только в среде MS Windows) и требования к исходным данным. Все это приводит к тому, что пользователю, желающему использовать разные алгоритмы, приходится осваивать новое ПО и адаптировать исходные данные.

С целью устранить эти (и некоторые другие) недостатки в 2003 году в Centro de Referência em Informação Ambiental (CRIA) в рамках проекта speciesLink начали работу над openModeller. Сейчас в разработке помимо CRIA принимают участие Escola Politécnica da USP (Poli), Instituto Nacional de Pesquisas Espaciais (INPE) и независимые разработчики-энтузиасты. Финансовую поддержку осуществляет Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) и проект Incofish. В разное время в разработке принимали участие BDWorld project (University of Reading), University of Kansas Natural History Museum & Biodiversity Research Center (KU).

Основная цель проекта openModeller — предоставить удобный инструмент исследователям, заинтересованным в моделировании экологических ниш. Приложения разрабатываются на языке С++, используют такие библиотеки как GDAL, GSL, TerraLib и могут работать под управлением Windows, Linux и Mac OS X.

Модульная структура позволяет легко добавлять новые алгоритмы. Уже реализованы в виде подключаемых модулей алгоритмы GARP, Bioclim, CSM, Environmental Distance и многие другие. Предоставление всех алгоритмов в рамках единой архитектуры облегчает сравнение результатов, полученных разными методами, поскольку все модели можно построить с использованием одних и тех же независимых данных и получить результат в одном и том же формате.

Проект состоит из нескольких частей. Первая и самая важная — библиотека openModeller, которая предоставляет общую платформу для всех остальных частей проекта. Она занимается чтением данных представляющих параметры окружающей среды и данных о местах находок видов; загрузкой и запуском алгоритмов; записью результатов анализа. Помимо самой библиотеки доступны привязки к языкам С++ и Python.

Web Services API на базе SOAP позволяет выполнять моделирование на удаленных машинах. Также предоставляется CGI приложение для интеграции openModeller с web-сервером Apache.

Разработан ряд инструментов командной строки. om_console позволяет выполнить модель, используя текстовые конфигурационные файлы, в которых указываются исходные наборы данных. om_create и om_project позволяют использовать openModeller с конфигурационными файлами в XML формате. Существуют и другие вспомогательные приложения, например, используя om_sampledump можно извлечь данные о каждой точке находки и сохранить результат в виде текста с разделителями.

Для конечных пользователей разработан кроссплатформенный графический интерфейс (используется библиотека виджетов Qt) openModeller Desktop.

Получение и установка

openModeller состоит из двух компонент: ядра системы со вспомогательными консольными приложениями (openModeller) и графического интерфейса (openModeller Desktop). Также существует расширение для QGIS, позволяющие ставить эксперименты и просматривать результаты не покидая ГИС.

На момент написания статьи, для скачивания была доступна версия 1.1.0, в наличии установщик для Windows, rpm-пакеты и тарболы с исходным кодом для Linux, файлы DMG для MacOS (загрузить openModeller и openModeller Desktop). Желающие использовать самую последнюю версию могут взять исходный код из svn:

svn co https://openmodeller.svn.sourceforge.net/svnroot/openmodeller openmodeller

и собрать его самостоятельно. Модуль для QGIS в скомпилированном виде не распространяется, если он нужен — без компиляции не обойтись.

Запуск. Основные возможности

Далее будем рассматривать работу с приложением openModeller Desktop, которое позволяет пользоваться всеми возможностями openModeller не прибегая к программированию и не используя командную строку.

Openmodeller-intro-01.png

С помощью openModeller Desktop можно:

  1. автоматически получать данные о распространении видов из таких баз данных как GBIF и speciesLink
  2. управлять растровыми слоями, которые будут использоваться в моделировании
  3. управлять параметрами алгоритмов, которые включены в состав openModeller
  4. создавать эксперименты, которые будут запускать несколько моделей для одного или нескольких видов используя один или несколько алгоритмов
  5. визуализировать результаты экспериментов, просматривая каждую модель в табличном виде или на карте.

Познакомимся с основными инструментами openModeller Desktop.

Модуль поиска точек встреч видов

Для моделирования экологических ниш необходимо иметь два вида данных: данные о распространении вида (точки встреч, локации) и слои с данными о климате и других параметрах окружающей среды.

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

В openModeller Desktop есть модуль поиска данных о точках встреч видов (Search for locality data), при помощи которого можно выполнять поиск данных в базах GBIF и speciesLink. Для этого

  • нажмите на кнопку «Search for locality data»
  • чтобы использовать данные GBIF необходимо согласиться с условиями использования
  • в поле «Search term» введите название вида и нажмите на кнопку со знаком «+» (плюс). Искать можно несколько видов одновременно. Кроме того предусмотрена возможность загрузки списка видов из текстового файла (по одному виду в строке)
  • укажите каталог, где будут располагаться результаты поиска
  • запустите поиск, нажав «Next»
Openmodeller-intro-02.png

По окончанию поиска будет показан отчет о проделанной работе. А в указанной папке появится точечный shape-файл и текстовый файл с данными. Примечание: при большом числе точек возможно аварийное завершение работы модуля.

Openmodeller-intro-03.png

Менеджер слоёв

В процессе моделирования часто приходится использовать одни и те же слои. openModeller Desktop позволяет упростить эту задачу, объединяя слои в так называемые «наборы слоёв» при помощи инструмента Layerset Manager.

Openmodeller-intro-04.png

Слои можно объединить в группу с запоминающимся именем, например, «Глобальный климат», добавить к группе описание. Когда набор создан, он становится доступен для выбора при создании эксперимента. Для создания набора нужно:

  • вызвать Менеджер наборов слоёв, нажав на кнопку «Layerset Manager»
  • задать имя набора и, при желании, описание
  • нажать на кнопку с зеленым знаком «+» и указать каталог со слоями
    Openmodeller-intro-05.png
  • выбрать необходимые слои и нажать «OK»
  • после нажатия на «Apply» в списке доступных наборов появится новый пункт
    Openmodeller-intro-06.png

Менеджер алгоритмов

Менеджер алгоритмов (Algorithm manager) позволяет просматривать все доступные подключаемые модули моделирования, установленные вместе с библиотекой openModeller.

Openmodeller-intro-07.png

Все алгоритмы поставляются с предустановлеными параметрами по умолчанию (определяются автором алгоритма) и могут использоваться без дополнительной настройки. В Менеджере алгоритмов эти параметры отображаются в виде неизменяемых «системных профилей». «Cистемные профили» можно клонировать и создавать на их основе «пользовательские профили». Изменение параметров требует знания деталей функционирования соответствующего алгоритма, но в то же время предоставляет опытным пользователям большую гибкость и возможность контроля. Новички могут просто использовать «cистемные профили» без изменений.

Пример

Одна из задач экологического моделирования ниш — определение областей, уязвимых к появлению инвазивных видов. В этом примере мы покажем как использовать openModeller для поиска потенциальных областей появления Acacia cyclops. Acacia cyclops — растение, произрастающее в юго-западной части Австралии, но может быть занесено и в другие части мира.

Прежде всего необходимо получить информацию о местах произрастания Acacia cyclops, это можно сделать при помощи инструмента «Search for locality data». Так как полученный файл содержит данные по всему миру, то мы отредактировали его, оставив только данные по Австралии. Это сделано для того, чтобы построить модель исключительно на основе данных об изначальном распространении вида.

Затем, при помощи Layerset Manager, был создан набор слоёв, содержащий 23 слоя с данными о темепературе, осадках и т.п. Слои были загружены с сайта CRU (хhttp://www.cru.uea.ac.uk/ http://www.cru.uea.ac.uk/]).

Данные о распределении вида, экологические слои и алгоритм — три основных составляющих эксперимента. Редактор экспериментов (Experiment designer) прозволяет указать как эти составляющие должны быть связаны.

Openmodeller-intro-08.png

Каждый эксперимент имеет уникальное имя и описание. При помощи редактора экспериментов можно создавать сложные эксперименты, моделирующие несколько видов с использованием нескольких алгоритмов. Запуск процесса моделирования выполняется через специальный модуль, так называемый «modeller plugin». На момент написания статьи существует два таких модуля:

  • «local», использующий библиотеку openModeller напрямую
  • «web services», умеющий отсылать задания на удаленный сервер через openModeller Web Services API

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

Выбрав модель, в правой части окна мы получим подробный отчет, кроме того результаты моделирования можно просмотреть на карте. Просмотрщик карты использует библиотеки Quantum GIS и позволяет выполнять панормирование, масштабирование и сохранение видимой части карты.

Openmodeller-intro-09.png
Openmodeller-intro-10.png

В нашем примере данные о распространении Acacia cyclops в Австралии были использованы для создания модели, которая потом была применена к глобальному (на всю планету) набору данных. На рисунке показаны результаты применения модели к юго-западной части Австралии.

Openmodeller-intro-11.png

Исходные места появления, которые использовались при создании модели, показаны зелеными точками. Синим цветом показаны области с малой вероятностью появления данного вида. А градиентом от голубого к желтому, а затем к красному показаны области с возрастанием вероятности. Т.е. если растение будет занесено в область, показаную красным, то вероятность его выживания очень высока. Ниже показан фрагмент этой же модели, но уже в районе Южной Африки.

Openmodeller-intro-12.png

Как видим, на основании модели можно утверждать, что в Южной Африке имеются районы с оптимальной средой для произрастания Acacia cyclops. Действительно, Acacia cyclops является проблемным инвазивным растением, завезенным в Африку для укрепления песчаных дюн.

А вот как выглядит openModeller в QGIS

Openmodeller-intro-13.png

Заключение

Проект openModeller предоставляет решения как для для пользователей, так и для разработчиков, интересующихся моделированием экологических ниш. Библиотека openModeller позволяет использовать наработки проекта в других программах. При помощи инструментов командной строки можно создавать различные сценарии для пакетной обработки. Приложение openModeller Desktop предоставляет удобный пользовательский интерфес, а используя openModeller Web Services API можно развернуть openModeller на производительном сервере.

Модульная архитекура позволяет использовать различные методики без необходимости каждый раз осваивать новое программное обеспечение или адаптировать исходные данные под разные требования. Кроме того, модульная архитектура позволяется разработчикам концентрироваться исключительно на реализации основного функционала алгоритма, и не отвлекаться на создание интерфеса и процедур ввода/вывода данных.

Приложение openModeller Desktop и расширение для QGIS предоставляют среду, где можно выполнить все операции начиная с подготовки данных, планирования и проведения эксперимента, и заканчивания визуализацией результатов.

Ссылки по теме