Импорт продуктов MODIS первого уровня обработки
по адресу 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 самостоятельно.
Автоматизация обработки
Автоматизировать процесс обработки для многих файлов можно двумя способами:
- С помощью специальной программы на Visual Basic - подробности читайте в статье: Импорт данных MODIS первого уровня обработки с помощью MODIS-Swath-Import-tool
- С помощью простого скрипта на языке Python. Скрипт требует установленный MRT Swath и GDAL, перед началом работы нужно внести изменения в параметры запуска прямо в теле скрипта.