Импорт продуктов MODIS первого уровня обработки

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


Описание процесса импорта данных MODIS c помощью MODIS Swath Reprojection Tool

Задача: Перевести имеющиеся данные MODIS продуктов первого уровня обработки в нужную проекцию и формат TIF с одновременным созданием мозаик из граничащих фрагментов.

Исходно, данные MODIS, продукты первого уровня обработки распространяются через LAADS Web (Level 1 and Atmosphere Archive and Distribution System) в формате HDF (описание системы LAADS Web). Это данные не имеют проекции и в комплекте с файлом данных (MOD02*) идёт файл с матрицей геопривязки - MOD03.*. Для работы с такими данными нужна специальная программа - MODIS Swath Reprojection Tool.

Для решения нашей задачи (перевод в TIF и нужную проекцию) можно воспользоваться пакетом MRT Swath (MODIS Swath Reprojection Tool). Данный пакет очень похоже по принципу работы и набору параметров на своего родственника MRT (Modis Reprojection Tool), предназначенного для работы с продуктами MODIS уровня обработки 2G, 3, 4. Однако, MRT Swath отличается от MRT как рядом важных параметров, так и определенными деталями в синтаксисе параметров, которые, к сожалению, делают невозможным прямое использование для MRT Swath файлов параметров, созданных для MRT. Как и MRT, кроме графического интерфейса, оперировать MRT Swath можно с помощью командной строки. Об этом и пойдет речь дальше.

С помощью создания командного файла можно автоматизировать процесс обработки данных. Командная строка для запуска процесса трансформации (перепроектировки и сохранения в формате TIF) выглядит следующим образом.

swath2grid.exe -pf=paramfile.prm

где:

-pf=paramfile.prm - имя файла параметров трансформации, обязательный параметр (см. далее)

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

Файл параметров представляет из себя обычный текстовый файл следующего содержания:

Для проекции Albers Equal Area (параметры):

INPUT_FILENAME = D:\MOD02QKM.A2007204.0805.005.2007205121542.hdf
GEOLOCATION_FILENAME = D:\MOD03.A2007204.0805.005.2007205033646.hdf
INPUT_SDS_NAME = EV_250_RefSB, 1, 1
OUTPUT_SPATIAL_SUBSET_TYPE = LAT_LONG
OUTPUT_SPACE_UPPER_LEFT_CORNER (LONG LAT) = 51.8 40.2
OUTPUT_SPACE_LOWER_RIGHT_CORNER (LONG LAT) = 61.3 30.2
OUTPUT_FILENAME = D:\result
OUTPUT_FILE_FORMAT = GEOTIFF_FMT
KERNEL_TYPE (CC/BI/NN) = NN
OUTPUT_PROJECTION_NUMBER = ALBERS
OUTPUT_PROJECTION_PARAMETER = 0.0 0.0 52.0 64.0 45.0 0.0 8500000.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
OUTPUT_PROJECTION_SPHERE = 8
OUTPUT_PIXEL_SIZE = 250

Для географической "проекции":

INPUT_FILENAME = D:\MOD02QKM.A2007204.0805.005.2007205121542.hdf
GEOLOCATION_FILENAME = D:\MOD03.A2007204.0805.005.2007205033646.hdf
INPUT_SDS_NAME = EV_250_RefSB, 1, 1
OUTPUT_SPATIAL_SUBSET_TYPE = LAT_LONG
OUTPUT_SPACE_UPPER_LEFT_CORNER (LONG LAT) = 51.8 40.2
OUTPUT_SPACE_LOWER_RIGHT_CORNER (LONG LAT) = 61.3 30.2
OUTPUT_FILENAME = D:\result-dd
OUTPUT_FILE_FORMAT = GEOTIFF_FMT
KERNEL_TYPE (CC/BI/NN) = NN
OUTPUT_PROJECTION_NUMBER = GEO
OUTPUT_PROJECTION_PARAMETER = 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
OUTPUT_PROJECTION_SPHERE = 8
OUTPUT_PIXEL_SIZE = 0.002

где:

INPUT_FILENAME - имя обрабатываемого файла в формате hdf. Необходимо обратить внимание, что для импорта определенных каналов SDS эти каналы включаются/выключаются тут же, в отличие от импорта продуктов MODIS с помощью MRT, где для этого есть специальный параметр SPECTRAL_SUBSET.

GEOLOCATION_FILENAME - имя матрицы привязки (MOD03) поставляемой вместе с продуктом.

INPUT_SDS_NAME - названия массивов данных в HDF, названия являются стандартными (например для MOD02QKM SDS с собственно изображениями называется EV_250_RefSB) и их можно узнать использовав HDF Explorer или gdalinfo или любой другой инструмент для просмотра структуры данных в формате HDF. После названия SDS указывается перечень единиц или нулей, в количестве равном количеству элементов SDS (количество каналов). 1 соответствует импортируемому каналу, 0 - пропускаемому.

OUTPUT_SPATIAL_SUBSET_TYPE - тип адресации области интереса (фрагмента изображения). Возможно несколько вариантов адресации, в географических координатах - LAT_LONG, прямоугольных - PROJ_COORDS, пиксельных (ряды колонки - LINE_SAMPLE).

OUTPUT_SPACE_UPPER_LEFT_CORNER, OUTPUT_SPACE_LOWER_RIGHT_CORNER - если в процессе импорта необходимо вырезать фрагмент изображение (область интереса), то эти параметры должны присутствовать и определять эту область посредством географических координат верхнего левого и нижнего правого углов, соответственно.

OUTPUT_FILENAME - имя выходного файла в формате tif. Расширение при этом не задается, так как данный параметр указывает только первую часть имени выходного файла, вторая часть будет сгенерирована MRT Swath в зависимости от типа данных и импортируемых SDS. Например, в соответствие с примером выше, выходные файлы будут называться следующим образом:

result-dd_EV_250_RefSB_b0.tif
result-dd_EV_250_RefSB_b1.tif

OUTPUT_FILE_FORMAT - выходной формат данных, который также определяет и расширение результирующих файлов.

KERNEL_TYPE (CC/BI/NN) - тип интерполяции используемой при пересчете растра.

OUTPUT_PROJECTION_NUMBER - тип проекции выходного файла. В данном случае - AEA - Albers Equal Area, так же может понадобится GEO - географическая.

OUTPUT_PROJECTION_PARAMETER - перечень дополнительно параметров проекции, если OUTPUT_PROJECTION_TYPE = GEO, то дополнительные параметры - нули.

OUTPUT_PROJECTION_SPHERE - сфероид, по умолчанию WGS84.

OUTPUT_PIXEL_SIZE - разрешение выходного растра, параметр может быть пропущен, тогда размер будет рассчитан MRT самостоятельно.

Автоматизация обработки

Автоматизировать процесс обработки для многих файлов можно двумя способами:

  1. С помощью специальной программы на Visual Basic - подробности читайте в статье: Импорт данных MODIS первого уровня обработки с помощью MODIS-Swath-Import-tool
  2. С помощью простого скрипта на языке Python. Скрипт требует установленный MRT Swath и GDAL, перед началом работы нужно внести изменения в параметры запуска прямо в теле скрипта.

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