Обсудить в форуме Комментариев 0Редактировать в вики
Чудесной девушке Ане, которая
вдохновила меня на написание статьи.
Изучаем структуру request-файлов openModeller.
В статье, посвященной приложениям openModeller, неоднократно упоминался request-файл. При использовании openModeller в командной строке сталкиваться с этими файлами приходится очень часто, с их помощью можно выполнить практически все необходимые действия и пройти путь от исходных данных до результатов моделирования.
Request-файл является обычным текстовым файлом, в котором содержатся пары КЛЮЧ = ЗНАЧЕНИЕ, разделенные одним или несколькими переводами строки. Request-файлы часто выступают в роли исходных данных для разных консольных приложений openModeller. Например, руководствуясь указаниями request-файла om_console может: создать модель; применить существующую модель к набору слоёв; создать модель и сразу же применить её к набору слоёв. C request-файлами также работают om_viewer и om_sampler.
Хотя строгой структуры request-файл не имеет, логически его можно разделить на несколько секций:
Строки начинающиеся с символа «#» (решетка) являются комментариями и игнорируюся. Также игнорируются пустые строки.
В зависимости от задач, файл может содержать как все из перечисленных секций, так и только некоторые из них. Рассмотрим каждую секцию подробнее.
Как явствует из названия, это параметры тем или иным образом связанные с точками встречи вида. В группу входят следующие параметры:
Все эти параметры используются только при создании новой модели. Вот пример:
WKT Coord System = GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]] Occurrences source = /home/alex/data/gbif/physalis_peruviana.txt Occurrences group = Physalis peruviana Spatially unique = true Environmentally unique = false
Здесь описываются слои, используемые при создании модели.
terralib>yourusername>yourpassword@PostgreSQL>localhost>terralib>5432>rain_coolest
terralib>yourusername>yourpassword@PostgreSQL>localhost>terralib>5432>rain_coolest
Слой маски должен поддерживать установку значений «nodata», попадание точки в область со значением 0 (ноль) не приводит к ее исключению из анализа.
В качестве значения можно использовать абсолютный или относительный путь к GDAL-совместимому растру или, если openModeller собран с поддержкой TerraLib, ссылку на растр TerraLib в виде
terralib>yourusername>yourpassword@PostgreSQL>localhost>terralib>5432>south_america
Пример
Map = /data/cru_bioclim/meanDiurnal.asc Map = /data/cru_bioclim/meanDiurnalOverCoolestM.asc Map = /data/cru_bioclim/meanDiurnalOverWarmestM.asc Map = /data/cru_bioclim/meanFrostDays.asc Map = /data/cru_bioclim/meanPrecip.asc Map = /data/cru_bioclim/meanPrecipOverCoolestQ.asc Map = /data/cru_bioclim/meanPrecipOverDriestM.asc Map = /data/cru_bioclim/meanPrecipOverDriestQ.asc Map = /data/cru_bioclim/meanPrecipOverFrostFreeM.asc Mask = /data/cru_bioclim/stdevMeanTemp.asc
Результатом анализа является модель, которая может быть сохранена на диск в формате XML (так называемая «сохраненная модель»). Если файл не планируется использовать для создания модели, все параметры этой группы должны быть опущены.
Output model = /home/alex/models/my_model.xml
Ранее созданная при помощи om_console или om_model модель может использоваться в качестве исходной и применяться к некоторому набору слоёв. В этом случае все параметры, относящиеся к точкам встречи и исходным слоям будут проигнорированы.
Input model = /home/alex/models/test_model.xml
Эта группа параметров необходима только если выполняется применение модели к другому набору слоёв. Примечание: необходимо помнить, что число слоёв, их порядок и величины, которые они представляют, должны соответствовать слоям, использованным при создании модели. Например, если модель строилась с использованием трех слоев (данные о температуре, влажности и кислотности почвы), то и второй набор должен состоять из трех слоёв, описывающих те же величины (температуру, влажность и кислотность почвы).
terralib>yourusername>yourpassword@PostgreSQL>localhost>terralib>5432>rain_coolest
terralib>yourusername>yourpassword@PostgreSQL>localhost>terralib>5432>rain_coolest
Слой маски должен поддерживать установку значений «nodata», попадание точки в область со значением 0 (ноль) не приводит к ее исключению из анализа.
В качестве значения можно использовать абсолютный или относительный путь к GDAL-совместимому растру или, если openModeller собран с поддержкой TerraLib, ссылку на растр TerraLib в виде
terralib>yourusername>yourpassword@PostgreSQL>localhost>terralib>5432>south_america
Пример:
Output map = /data/clim_2050/meanDiurnal.asc Output map = /data/clim_2050/meanDiurnalOverCoolestM.asc Output map = /data/clim_2050/meanDiurnalOverWarmestM.asc Output map = /data/clim_2050/meanFrostDays.asc Output map = /data/clim_2050/meanPrecip.asc Output map = /data/clim_2050/meanPrecipOverCoolestQ.asc Output map = /data/clim_2050/meanPrecipOverDriestM.asc Output map = /data/clim_2050/meanPrecipOverDriestQ.asc Output map = /data/clim_2050/meanPrecipOverFrostFreeM.asc Output mask = /data/clim_2050/stdevMeanTemp.asc
Результатом моделирования (применения модели) является растровый файл, показывающий распределение вероятности в заданной области. Охват этой области определяется пересечением охватов всех слоёв, заданных как Output map и слоя маски. Система координат результирующего растра а также размер пикселя будут такими же, как и у растра-«шаблона». «Шаблон» задается параметром Output format.
Output format = /data/clim_2050/stdevMeanTemp.asc Output file type = ByteHFA Output file = /data/output/acacia-2050.img
Если параметры этой группы не заданы, om_console переходит в интерактивный режим, выводит список всех имеющихся алгоримов и просит указать нужный. Аналогично будет выполняться и установка параметров алгоритма. Если же алгоритм и его параметры заданы в request-файле, то om_console будет работать в неинтерактивном режиме и обработает файл без вмешательства пользователя.
Параметры этой группы необходимы только при создании модели.
Если все или часть параметров не заданы, om_console приостанавливает работу и запрашивает значение отсутствующих параметров у пользователя
Например
Algorithm = CSMBS Parameter = Randomisations 8 Parameter = StandardDeviations 2 Parameter = MinComponents 1 Parameter = VerboseDebugging 1
Полный request-файл будет иметь примерно такой вид
# occurences WKT Coord System = GEOGCS["WGS84", DATUM["WGS84", SPHEROID["WGS84", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Longitude",EAST], AXIS["Latitude",NORTH]] Occurrences source = /home/alex/data/gbif/physalis_peruviana.txt Occurrences group = Physalis peruviana Spatially unique = true Environmentally unique = false # input layers Map = /data/cru_bioclim/meanDiurnal.asc Map = /data/cru_bioclim/meanDiurnalOverCoolestM.asc Map = /data/cru_bioclim/meanDiurnalOverWarmestM.asc Map = /data/cru_bioclim/meanFrostDays.asc Map = /data/cru_bioclim/meanPrecip.asc Map = /data/cru_bioclim/meanPrecipOverCoolestQ.asc Map = /data/cru_bioclim/meanPrecipOverDriestM.asc Map = /data/cru_bioclim/meanPrecipOverDriestQ.asc Map = /data/cru_bioclim/meanPrecipOverFrostFreeM.asc Mask = /data/cru_bioclim/stdevMeanTemp.asc # save model as Output model = /home/alex/models/my_model.xml # apply model using this layers Output map = /data/clim_2050/meanDiurnal.asc Output map = /data/clim_2050/meanDiurnalOverCoolestM.asc Output map = /data/clim_2050/meanDiurnalOverWarmestM.asc Output map = /data/clim_2050/meanFrostDays.asc Output map = /data/clim_2050/meanPrecip.asc Output map = /data/clim_2050/meanPrecipOverCoolestQ.asc Output map = /data/clim_2050/meanPrecipOverDriestM.asc Output map = /data/clim_2050/meanPrecipOverDriestQ.asc Output map = /data/clim_2050/meanPrecipOverFrostFreeM.asc Output mask = /data/clim_2050/stdevMeanTemp.asc # result Output format = /data/clim_2050/stdevMeanTemp.asc Output file type = ByteHFA Output file = /data/output/acacia-2050.img # algorithm to use Algorithm = SVM Parameter = SvmType 0 Parameter = KernelType 2 Parameter = Degree 3 Parameter = Gamma 0 Parameter = C 1 Parameter = Coef0 0 Parameter = Nu 0.5 Parameter = ProbabilisticOutput 0 Parameter = NumberOfPseudoAbsences 500
Как видим, ничего сложного в request-файлах нет. Простой текстовый формат позволяет легко формировать такие файлы програмно, а затем использовать их для обработки данных.
Обсудить в форуме Комментариев 0Редактировать в вики
Последнее обновление: 2014-05-14 22:07
Дата создания: 26.02.2012
Автор(ы): Александр Бруй
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).