44 lines
1.6 KiB
R
Executable File
44 lines
1.6 KiB
R
Executable File
# wps.des: netCDF_aggregation, Process for aggregation of netCDF file data;
|
|
# wps.in: file, netcdf_x, File to be aggregated;
|
|
# wps.out: output, netcdf_x, Aggregated output file;
|
|
|
|
# change to your needs, preferably to a local copy. However, writing to NetCDF is by default disabled.
|
|
#file <- "D:/Tomcat6/apache-tomcat-6.0.32/temp/ncInput1319114818439.nc"
|
|
|
|
#"//ifgifiles/projekte/UncertWeb/WP 3 Tools/Spatio-temporal Aggregation/Data/biotemperature_normalDistr.nc"
|
|
|
|
uncdf <- open.nc(file, write=F)
|
|
print.nc(uncdf) # gives:
|
|
|
|
|
|
spUNetCDF <- readUNetCDF(file, variables=c("biotemperature_variance"))
|
|
|
|
str(spUNetCDF)
|
|
|
|
spplot(spUNetCDF,col.regions=rev(heat.colors(100)))
|
|
|
|
# define new grid
|
|
|
|
scale <- 2 # factor of rescaling
|
|
newCellsize <- scale*spUNetCDF@grid@cellsize # rescaling the cell size
|
|
newCellcentre.offset <- spUNetCDF@bbox[,1]+newCellsize/2 # min of bbox + 1/2 new cellsize -> lower-left cellcentre
|
|
newDim <- ceiling(c(diff(spUNetCDF@bbox[1,])/newCellsize[1], diff(spUNetCDF@bbox[2,])/newCellsize[2])) # calculating the new dimensions. The new grid will most likely extend the old grid on the top-right corner
|
|
|
|
gridTopo <- GridTopology(cellcentre.offset=newCellcentre.offset, cellsize=newCellsize, cells.dim=newDim)
|
|
newGrid <- SpatialGrid(gridTopo, proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"))
|
|
str(newGrid)
|
|
|
|
newGrid@bbox
|
|
spUNetCDF@bbox # is contained in the new bbox
|
|
|
|
newPixels <- as(newGrid,"SpatialPixels") # there seems to be a problem with grids, works fine for SpatialPixels
|
|
str(newPixels)
|
|
|
|
spAgg <- aggregate.Spatial(spUNetCDF,newPixels,mean)
|
|
|
|
str(spAgg)
|
|
spplot(spAgg)
|
|
|
|
writeUNetCDF(newfile="newUNetCDF.nc", spAgg)
|
|
output = "newUNetCDF.nc"
|