#' Convert AMSR-E H4
#'
#' Converts an AMSR-E H4 soil moisture file to GeoTIFF.
#' @param x Path to file.
#' @param savePath Optional save path for new GeoTIFF. Defaults to \code{NULL}.
#' @param plotNew Plot new raster? Defaults to \code{FALSE}.
#' @param saveRaster Should raster be written to file? Defaults to \code{TRUE}. If \code{FALSE}, \code{raster} object is returned. If \code{TRUE}, filename is returned.
#' @export
#' @return \code{raster} object or filename.
#' @examples
#' extractAMSRE(x = "path/to/data/amsre_soilmoisture.hdf")
convertAMSRE <- function(x = "C:/Users/ssaxe/Documents/Scripts/R Scripts/Model Evaluation Tool/raster/Soil Moisture/AMSR-E/amsre_soil_moisture_avr_11_2002.hdf",
savePath = NULL, plotNew = F, saveRaster = T){
require(gdalUtils)
require(raster)
# Convert to tiff in temporary directory
temp_path <- tempfile(fileext = ".tif")
y <- gdalUtils::gdal_translate(x, dst_dataset = temp_path)
# import as raster
r <- raster::raster(temp_path)
# convert -9999 vals to NA
r[r == -9999] <- NA
# redefine extent information
raster::extent(r) <- raster::extent(c(-180,180,-90,90))
# define projection system
raster::crs(r) <- raster::crs("+init=epsg:4326")
# plot?
if (plotNew) plot(r)
# write new raster to working directory
if (saveRaster){
if (is.null(savePath)){
# generate name
saveName <- paste0(tools::file_path_sans_ext(basename(x)), ".tif")
raster::writeRaster(x = r,
filename = saveName,
format = "GTiff")
return(saveName)
}else{
raster::writeRaster(x = r,
filename = savePath,
format = "GTiff")
return(savePath)
}
}else{
return(r)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.