<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.gis-lab.info/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_MOD14_SPA</id>
	<title>Сборка MOD14 SPA - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.gis-lab.info/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_MOD14_SPA"/>
	<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_MOD14_SPA&amp;action=history"/>
	<updated>2026-04-04T13:31:17Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.gis-lab.info/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_MOD14_SPA&amp;diff=5797&amp;oldid=prev</id>
		<title>Voltron: Новая страница: «{{Статья|Опубликована|mod14-compile}} {{Аннотация|Как самостоятельно скомпилировать реализацию…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.gis-lab.info/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_MOD14_SPA&amp;diff=5797&amp;oldid=prev"/>
		<updated>2012-07-19T15:49:29Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{Статья|Опубликована|mod14-compile}} {{Аннотация|Как самостоятельно скомпилировать реализацию…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Статья|Опубликована|mod14-compile}}&lt;br /&gt;
{{Аннотация|Как самостоятельно скомпилировать реализацию MODIS Active Fire Product (MOD14) Science Processing Algorithm MOD14_SPA.}}&lt;br /&gt;
&lt;br /&gt;
MODIS Active Fire Product (MOD14) Science Processing Algorithm MOD14_SPA является открытой реализацией алгоритма детектирования пожаров MOD14.&lt;br /&gt;
&lt;br /&gt;
=== Общие сведения ===&lt;br /&gt;
&lt;br /&gt;
Алгоритм MODIS Active Fire Product (MOD14) Science Processing Algorithm MOD14_SPA использует значения яркости пикселей каналов 4 и 11 микрометрового диапазона (каналы MODIS 21, 22 и 31) для детектирования пожаров. Каналы 1, 2, 7 и 32 используются для маскирования облаков и уменьшения количества ложных срабатываний. В качестве входных данных выступает файл MODIS Level 1B. На выходе будет двумерная маска пожаров в формате HDF (Hierarhical Data Format).&lt;br /&gt;
&lt;br /&gt;
Исходный код приложения можно бесплатно получить на странице загрузок [http://directreadout.sci.gsfc.nasa.gov/index.cfm?section=downloads&amp;amp;page=technology Direct Readout Laboratory]. Для получения кода понадобится зарегистрироваться. На момент написания статьи последней версией данного алгоритма была 5.0.1.&lt;br /&gt;
&lt;br /&gt;
=== Компиляция в Windows ===&lt;br /&gt;
&lt;br /&gt;
Кроме исходного кода приложений нам понадобятся следующие библиотеки:&lt;br /&gt;
&lt;br /&gt;
* библиотека для работы с форматом HDF4&lt;br /&gt;
* библиотека для работы с форматом JPEG&lt;br /&gt;
* библиотека сжатия ZLIB&lt;br /&gt;
* библиотека сжатия SZIP (не обязательно)&lt;br /&gt;
&lt;br /&gt;
Все эти библиотеки, кроме опциональной SZIP, можно загрузить при помощи установщика OSGeo4W. В дальнейшем будем предполагать, что библиотеки были загружены и установлены в каталог по умолчанию (&amp;lt;tt&amp;gt;C:\OSGeo4W&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Также нам понадобится компилятор GCC, точнее его реинкарнация для систем семейства Windows — [http://www.mingw.org/ MinGW]. Установить его можно несколькими способами:&lt;br /&gt;
&lt;br /&gt;
* при помощи онлайн-установщика [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst mingw-get-inst] (необходимые пакеты будут загружены из сети). [http://www.mingw.org/wiki/Getting_Started Подробнее] об установке.&lt;br /&gt;
* установка в [http://www.mingw.org/wiki/InstallationHOWTOforMinGW ручном режиме]&lt;br /&gt;
* при помощи неофициального установщика все-в-одном [http://tdm-gcc.tdragon.net/ TDM-GCC]&lt;br /&gt;
&lt;br /&gt;
Установку желательно выполнять в каталог, не содержащий в названии пробелов и/или кириллицы. После установки необходимо проверить наличие в переменной PATH пути к папке bin установленного MinGW.&lt;br /&gt;
&lt;br /&gt;
Исходные коды приложений находятся в каталоге algorithm. Т.к. приложения были разработаны для OC Linux, перед сборкой необходимо отредактировать файл &amp;lt;tt&amp;gt;misc.c&amp;lt;/tt&amp;gt; и привести его к виду&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char *make_uname(void)&lt;br /&gt;
{&lt;br /&gt;
	static char unamestr[] = &amp;quot;MS Doors&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	return unamestr;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь редактируем файл &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt;. В строке 9 указываем путь к каталогу, в котором находятся файлы библиотеки HDF4. Т.к. мы установили ее при помощи установщика OSGeo4W, то эта строка будет выглядеть так&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HDFHOME = C:/OSGeo4W&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Строку 50 приводим к виду&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;LIB = -L$(HDFLIB) -lmfhdf -lhdf -ljpeg_i -lzlib -lm&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для удобства мы подготовили архив с исходными кодами, содержащий все необходимые исправления ([http://gis-lab.info/other/mod14.tar.bz2 загрузить]). '''ВАЖНО'''! Если установка библиотек была выполнена в каталог, отличный от &amp;lt;tt&amp;gt;C:\OSGeo4W&amp;lt;/tt&amp;gt;, необходимо исправить путь в 8-й строке файла &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
После окончания редактирования открываем командную строку, переходим в каталог с исходными кодами и даем команду&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw32-make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После непродолжительного процесса сборки в каталоге должны появиться два исполнимых файла: mod14.exe и fireloc.exe.&lt;br /&gt;
&lt;br /&gt;
Загрузить адаптированный [http://gis-lab.info/other/mod14.tar.bz2 исходный код] и скомпилированные [http://gis-lab.info/other/mod14-bin-win32.7z программы для Windows].&lt;br /&gt;
&lt;br /&gt;
=== Компиляция в Linux ===&lt;br /&gt;
&lt;br /&gt;
Пользователям ОС Linux повезло больше. Во-первых, они могут обойтись без компиляции, т.к. в архиве с исходным кодом присутствуют исполняемые файлы, скомпилированые статически для Intel-совместимых 32-х разрядных систем (сборка выполнена на Fedora Core 4 при помощи компилятора gcc 4.0.2).&lt;br /&gt;
&lt;br /&gt;
Во-вторых, самостоятельная сборка на порядок проще по сравнению с Windows. Нам понадобятся:&lt;br /&gt;
&lt;br /&gt;
* библиотека для работы с форматом HDF4&lt;br /&gt;
* библиотека для работы с форматом JPEG&lt;br /&gt;
* библиотека сжатия ZLIB&lt;br /&gt;
* библиотека сжатия SZIP (не обязательно)&lt;br /&gt;
&lt;br /&gt;
Библиотеки ZLIB и JPEG скорее всего уже установлены, нужно только убедиться что кроме самих библиотек присутствуют и dev-версии соответствующих пакетов. Сделать это можно при помощи пакетного менеджера вашего дистрибутива.&lt;br /&gt;
&lt;br /&gt;
Библиотеку HDF4.2.x можно получить несколькими способами:&lt;br /&gt;
&lt;br /&gt;
* установить при помощи пакетного менеджера (предпочтительнее)&lt;br /&gt;
* [http://www.hdfgroup.org/release4/obtain.html#obtain загрузить] статическую сборку с сайта HDF Group. '''ВАЖНО'''! Обратите внимание на версии компиляторов. Если вы используете компиляторы, отличные от указанных, вам необходимо скомпилировать библиотеку самостоятельно или попытаться установить ее из репозитория&lt;br /&gt;
* скомпилировать и установить библиотеку самостоятельно&lt;br /&gt;
&lt;br /&gt;
Далее будем предполагать, что все необходимые библиотеки установлены. После распаковки оригинального архива с исходным кодом переходим в каталог &amp;lt;tt&amp;gt;algorithm&amp;lt;/tt&amp;gt;. Перед сборкой необходимо отредактировать файл &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt;, указав используемый компилятор (по умолчанию будет использоваться gcc), кроме того, при необходимости можно изменить список опций компилятора. Здесь же, в переменной HDFHOME, указывается путь к каталогу установки библиотеки HDF (обычно &amp;lt;tt&amp;gt;/usr&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Затем последовательно выполняем команды&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;make clean&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
для очистки каталога от существующих бинарных файлов, и&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
для запуска сборки.&lt;br /&gt;
&lt;br /&gt;
=== Ссылки по теме ===&lt;br /&gt;
&lt;br /&gt;
* [http://directreadout.sci.gsfc.nasa.gov/index.cfm?section=downloads&amp;amp;page=technology MOD14_SPA at Direct Readout Laboratory]&lt;br /&gt;
* [http://gis-lab.info/qa/mod14-process.html Самостоятельное детектирование очагов пожаров по алгоритму MOD14]&lt;/div&gt;</summary>
		<author><name>Voltron</name></author>
	</entry>
</feed>