В данный момент в Центре функционирует информационная система для файлов данных, полученных со спутников серии NOAA [3], она позволяет производить поиск и просмотр информации как через веб-интерфейс на сайте Центра, так и через сервер SSE Portal. Реализована утилита извлечения метаданных из файлов данных, полученных с полярно-орбитального спутника FY-1D.
Имеющиеся утилиты извлечения метаданных не могут быть использованы для файлов данных полученных со спутника MTSAT-1R, так как они имеют другой формат.
Новая архитектура системы метаданных потребовала создание подсистемы, отвечающей за справочную информацию о расположении и способе доступа к файлам спутниковых данных. До сих пор эта информация хранилась в базе метаданных наряду с остальными атрибутами. Решение этой задачи в рамках отдельной подсистемы (инвентаря) делает модернизацию и поддержку проще, позволяя компонентам эволюционировать независимо.
Требование к окружению
Минимальные аппаратные требования включают оперативную память 64 Мб, Процессор с частотой 500 МГц.
Также для работы программы необходима установка Java Runtime Environment версии не ниже 1.5.
Для инвентаризатора также необходима установка сервера PostgreSQL, JDBC драйвер для PostgreSQL.
Спецификация данных
Процедур сбора метаданных работает с данными, полученными со спутника MTSAT-1R и сохраненных в формате HIRID.
Файл данных состоит из кадров. Каждый кадр представляет собой данные описывавшие этот кадр, и значения полученные радиометрами спутника.
Функциональные требования
Процедур сбора метаданных требует:
• Методы для извлечения информации, используемой для заполнения полей метаданных
• Методы для генерации уменьшенного изображения
Изображение должно строиться по данным одного из каналов (ИК) и быть кодировано в формат grayscale JPEG и доступно в виде массива байт.
Модули, генерирующие метаданные на основе спутниковых данных должны реализовывать интерфейс MetadataSource. Этот интерфейс описывает произвольный источник метаданных для файлов полярно-орбитальных спутников. Интерфейс требует определения ряда методов для получения необходимой информации. Помимо этих методов, класс, реализующий данный интерфейс, должен иметь конструктор с файлом в качестве параметра (java.io.File).
Для инвентаризации необходимо:
· База данных инвентаризации.
· Утилита, заполняющая базу данных инвентаря данными о расположении файла.
· Утилита для извлечения этих данных из инвентаря.
Проект
Средства реализации
Так как в связи с спецификой лаборатории необходима работа под любой платформой и существующая часть системы написана на языке Java в качестве языка программирования был выбран язык Java. Сервером базы данных был выбран PostgreSQL так как он уже функционирует в лаборатории.
Инструментарий разработки:
· Sun JDK 1.6 – компилятор + утилиты и библиотеки
· IntelliJ IDEA 7 – интегрированная среда разработки
· PostgreSQL 8.2 – сервер базы данных
· pgAdmin 3 – утилита для администрирования СУБД PostgreSQL
Модули и алгоритмы
Проект состоит из двух классов MTSATMetadataSource и MTSAT.
MTSATMetadataSource – реализует интерфейс MetadataSource. Внутри конструктора создаются экземпляр. Реализованы методы возвращающие необходимые поля этого экземпляра.
MTSAT – отвечает за получения необходимых полей метаданных на основе информации из заголовка файла, в том числе координаты границ изображения, даты и времени приёма, виток спутника, числа строк и присутствующие каналы.

Таблица 1. Основные методы класса MTSATMetadataSource
| Метод | Описание |
| T0MetadataSource | Конструктор класса, на входе имеет файл |
| getFormat getSatellite getSensors getTime getLu getRu getRd getLd getLength getTurn getQuality getBlock0 getPreview | Методы для чтения значений полей. Вызываются извне и необходимы для функционирования класса в рамках системы |
Таблица 2. Основные методы класса MTSAT
| Метод | Описание |
| MTSAT | Конструктор класса, на входе имеет файл |
| setSatelliteId setChannels setSatelliteTurn setQualitysetLatRu setLonLu setLength setLonRu setLatRd setLonRd setLatLd setLonLd | Методы для установки значений соответствующих полей. Вызываются изнутри |
| getId getFile getSatelliteId getSatelliteTurn getChannels getLength getQuality getLatLu getLonLu getLatRu getLonRu getLatRd getLonRd getLatLd getLonLd | Методы для чтения значений полей. Вызываются извне и необходимы для функционирования класса в рамках системы |
Для инвентаризатора были реализованы две утилиты INV и INF.
INV- получает на вход полное имя файла, архив в котором он хранится и тип спутника. Заполняет базу данных инвентаря данными о файле и выдает идентификатор файла.
INF-получает на вход идентификатор файла. Выдает информацию о файле.
Таблица 3. Основные методы класса MTSATMetadataSource
| Метод | Описание |
| getID | Вход дата и время. Выход идентификатор |
| getDate | Возвращает дату. |
| Get Time | Возвращает время. |
Структуры данных
База данных состоит из 4 таблиц file, folder, archive, file2folder.
file – Содержит информацию о файле
folder – Содержит информацию о размещении
archive – Содержит информацию об архиве
file2folder – связывает файл с его размешением

Таблица 4. таблица file
| Название поля | Тип | Описание |
| Id | Text | Идентификатор файла |
| Name | Text | Имя файла |
| invDate | Timestamp | Дата-время инвентаризации файла |
| createDate | Timestamp | Дата-время создания файла |
| modifDate | Timestsmp | Дата-время изменения файла |
| Size | Int8 | Размер файла |
Таблица 5. таблица folder
| Название поля | Тип | Описание |
| Id | Int4 | Идентификатор папки |
| Path | Text | Путь к папке |
| archivID | Int4 | Идентификатор архива в котором находиться папка |
Таблица 6. таблица archive
| Название поля | Тип | Описание |
| Id | Text | Идентификатор архива |
| Name | Text | Имя архива |
| Label | Text | Описание |
Таблица 7. таблица file2folder
| Название поля | Тип | Описание |
| fileId | Text | Идентификатор файла |
| folderId | Int4 | Идентификатор папки в которой лежит файл |






