4 votos

El acceso a la Banda de Calidad para MCD12Q1 con MODISTools GetBands

Estoy usando MODISTools (https://github.com/seantuck12/MODISTools) para el proceso de MCD12Q1 de datos, la cual, según el LP DAAC sitio web (https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table/mcd12q1), cuenta con 16 bandas. Creo que uno de ellos es una banda de calidad (cobertura de la Tierra QC). Sin embargo, cuando uso el MODISSubsets función para descargar MCD12Q1 y la GetBands función para ver a las bandas, a sólo 15 bandas son devueltos (sin la cobertura de la Tierra control de calidad de la banda). Sin esta banda, no puedo usar el MODISSummaries función. ¿Alguien sabe cómo solucionar este problema?

4voto

MM. Puntos 367

Es fácil extraer necesario subdatasets de HDF con GDAL herramientas de línea de comandos. Supongo que usted podría querer hacer todo en R por lo que aquí es la forma en que se puede ejecutar desde ella. En R hay un paquete llamado gdalUtils proporciona contenedores para GDAL herramientas. Usted necesitará gdal_translate para la conversión de datos.

Ejemplo:

library(gdalUtils)
hdf4_dataset <- file.choose() #select your HDF
gdal_translate(hdf4_dataset,"modis_qa.tif",sd_index=1)

A continuación puede leer con otro paquete de R rgdal:

library(rgdal)
d <- file.choose() #select your saved GeoTIFF
x = new("GDALReadOnlyDataset", test)

Ahora manipular x a tu gusto, solo es una de datos.marco.

Usted podría preguntarse por qué no usar rgdal solamente. El problema es que no lee OL formato que se utiliza para distribuir datos MODIS.

2voto

Tilo Wiklund Puntos 741

Esto se puede lograr fácilmente utilizando el MODIS paquete que actualmente está alojado en GitHub. Instale el paquete a través de

library(devtools)
install_github("MatMatt/MODIS")
library(MODIS)

y asegúrese de ajustar el local de salida de las rutas de los archivos a través de MODISoptions. Una descripción más detallada del procedimiento de instalación puede ser, por ejemplo, encuentran aquí.

A continuación, descargue un deseada MCD12Q1 azulejo con

getHdf("MCD12Q1", begin = "2013-01-01", 
       tileH = 21, tileV = 9)

y, por último, la lista de los científicos conjuntos de datos (SDS) incluidos en la misma, el uso de

fls <- list.files(getOption("MODIS_localArcPath"), 
                  pattern = "MCD12Q1.A2013001.*.hdf",
                  recursive = TRUE, full.names = TRUE)

getSds(fls)

Como se ve desde la salida de la consola, el 11 de SDS es el deseado 'de la Cubierta Terrestre Tipo de control de calidad' de la capa, que posteriormente pueden ser extraído por medio de

runGdal("MCD12Q1", begin = "2013-01-01", 
        tileH = 21, tileV = 9, 
        SDSstring = "0000000000100000")

Tenga en cuenta que runGdal es también una función de contenedor alrededor de getHdf, lo que significa que si la MCD12Q1 azulejo no ha sido previamente descargado, runGdal realizará automáticamente la descargue y extraiga el deseado SDS capas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X