我正在尝试下载和绘制MODIS数据http://orca.science.oregonstate.edu/1080.by.2160.monthly.hdf.vgp.vgpm.s.s.chl.a.sst.php
我定期使用来自Ocean Color网站的.NC文件,但我似乎无法以相同的方式使用HDF文件。可以将HDF转换为栅格吗?
gdalinfo("~vgpm.2008245.hdf")
gdal_translate(sds, dst_dataset = "~test.tiff")
sh:-c:line 0:寻找匹配``''
时出乎意料的EOF SH:-C:第1行:语法错误:文件的意外结束
null
rast <- raster("~test.tiff")
.local中的错误(.object,...(:
.rasterObject fromfile(x,band = band,objectType =" rasterlayer",:
无法从此文件创建rasterlayer对象。(文件不存在(
我在这里尝试了建议,将HDF文件读为R并将其转换为Geotiff Rasters
并收到此错误:SH:-C:第0行:在寻找匹配``''时出乎意料的EOFSH:-C:第1行:语法错误:文件的意外结束
我还尝试了此处的建议,将HDF转换为GeoRected File(Geotiff,ShapeFile(错误是:.rasterObject fromfile(x,band = band,objectType =" rasterlayer",: 无法从此文件创建rasterlayer对象。
我只想提取数据,并在线图中与我拥有的其他数据一起绘制给定位置的生产力数据...
谢谢
在Windows上(以及Linux,如果已安装了HDF驱动程序(,则无需转换这些文件。您可以直接使用它们
library(raster)
x <- raster("vgpm.2008245.hdf")
x
#class : RasterLayer
#dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell)
#resolution : 1, 1 (x, y)
#extent : 0, 2160, 0, 1080 (xmin, xmax, ymin, ymax)
#crs : NA
#source : vgpm.2008245.hdf
#names : vgpm.2008245
您在评论中指出的是,该程度不正确(并且不定定义CRS;也未设置Na标志(。您可以这样解决。
extent(x) <- extent(-180, 180, -90, 90)
crs(x) <- "+proj=longlat +datum=WGS84"
NAvalue(x) <- -9999
x
#class : RasterLayer
#dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell)
#resolution : 0.1666667, 0.1666667 (x, y)
#extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
#crs : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
#source : vgpm.2008245.hdf
#names : vgpm.2008245
,如果您想要tif,可以做
r <- writeRaster(x, "vgpm.2008245.tif"
过去,这在Windows上不起作用。显然,它在MAC上不起作用 - 取决于您安装GDAL的方式。我认为您需要使用"使用" - 请完成"