Я пытаюсь извлечь данные излучения MODIS в определенных местах, однако мой код всегда возвращает NA.Кажется, проблема в том, что я не правильно использую информацию о местоположении из плитки.
Буду признателен за любую помощь, чтобы получить решение.
{
prod <- "MCD18A2"
lon <- (-93.62)
lat <- 42.03
buffer <- 0.3
dates <- paste0("2011-12-0",1:2)
library(MODIS)
library(rgdal)
library(sp)
# create a spatial object from the coordinate(s)
coordinates = SpatialPoints(coords=cbind(lon, lat), proj4string = CRS('+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0'))
sinus = CRS("+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs")
# transform the coordinates
coordinates_sinus = spTransform(coordinates, sinus)
e <- extent(lon-buffer, lon+buffer, lat-buffer, lat+buffer)
tileLayer <- getTile(e)
target.file <- getHdf(product=prod,
begin=dates[1],
end=dates[length(dates)],
tileH=tileLayer@tileH,
tileV=tileLayer@tileV,
# extent=tileLayer@extent,
checkIntegrity = FALSE)
# convert to raster
sds <- getSds(as.character(target.file$MCD18A2.006[1]))
hdf_layer = raster(readGDAL(sds$SDS4gdal[1], as.is = TRUE))
# extract data
point = extract(hdf_layer, coordinates_sinus)
}