Обзор существующих методов решения

 

В данный момент в Центре функционирует информационная система для файлов данных, полученных со спутников серии 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 Идентификатор папки в которой лежит файл






double arrow
Сейчас читают про: