Как преобразовать данные hdf5 в растр, используя код ncdf4 - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть данные hdf5, и я попытался извлечь переменную в растр, используя код n c. Я получил ошибку в последней строке кода, когда попытался создать растр, как показано на рисунке. Мин (лат) также отображается как NAN, почему? Выход

library(sp)
library(sf)
library(gdalUtilities)
library(rgdal)      
library(rungdal)
library(tiff)
library(ncdf4)
library(hdf5r)
library(hdfqlr)
library(BiocManager)
#BiocManager::install("rhdf5")
#source("http://bioconductor.org/biocLite.R")
#biocLite("rhdf5")
library(rhdf5)
library(gdalUtils)
library(raster)
library(maps)
library(sf)
library(fields)
library(maptools)
library(ncdf4)
library(ncdf.tools)
library(ncdfgeom)
data(wrld_simpl)
options(max.print = 99999999)
library(sp)
data(meuse)
coordinates(meuse) <- ~x+y
#library(ncdf.tools)
#library(latticeExtra)
setwd("D://2R")
fname = '1C.F19.SSMIS.XCAL2016-V.20150906-S011918-E030110.007356.V05A.hdf5'
ncin <- nc_open(fname)
ncin
print(ncin)
lon <- ncvar_get(ncin, "S1/Longitude")
lat <- ncvar_get(ncin, "S1/Latitude")
a_unit <- ncatt_get(ncin,"S1/Tc","units")
canopy.array <- ncvar_get(ncin, "S1/Tc")
dim(canopy.array)
fillvalue <- ncatt_get(ncin, "S1/Tc", "_FillValue")
nc_close(ncin)
a <- raster(canopy.array, xmn=min(lon), xmx=max(lon), ymn=min(lat), ymx=max(lat), crs=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs+ towgs84=0,0,0"))
min(lon)
...