interp3d_bilinear: Bilinear interpolation for 3d array

interp3d_bilinearR Documentation

Bilinear interpolation for 3d array

Description

Bilinear interpolation for 3d array

Usage

interp3d_bilinear(
  z,
  grid = NULL,
  grid_target,
  na.rm = TRUE,
  convertTo2d = FALSE
)

Arguments

z

3d array (lon, lat, time), with the dimension of ⁠[nlon, nlat, ntime]⁠. image(z[,,1]) should look normal.

grid

A list object with lon⁠, ⁠latandloc'.

  • lon: numeric, ⁠[nlon]⁠

  • lat: numeric, ⁠[nlon]⁠

grid_target

A list object with lon, lat and loc.

  • lon: numeric, ⁠[nlon]⁠

  • lat: numeric, ⁠[nlon]⁠

  • loc: a data.frame with the column of c("x", "y"), with the row length of nlon*nlat.

na.rm

If true, Na value in margin will be fixed.

Note

High resolution interpolating to low resolution will lead to unreliable result, if cellsize.new/cellsize.origin > 2.

Examples

## Not run: 
library(CMIP6tools)
# library(rgdal)
# library(sp2)
library(maptools)

# polyline
read_polyline <- function(file, lwd = 0.5, ...){
    suppressWarnings(shp <- readShapeLines(file))
    proj4string(shp) <- prj84
    list("sp.lines", shp, first = FALSE, lwd = lwd, ...) # china poly    
}
# sp_arc_world <- read_polyline("G:/ArcGIS/continent.shp") # sp_arc_world
# sp_arc_CH <- read_polyline(system.file("extdata/shp", "bou1_4l_sml.shp", package = "CMIP5tools"))

range <- c(70, 140, 15, 55)
# MAIN SCRIPTS ------------------------------------------------------------
x <- readRDS(system.file("extdata", "tasmax_Threshold_ACCESS1-0.RDS", package = "CMIP5tools"))

class(x) <- "raster2"
plot(x)

x_interp <- interp3d_bilinear(x$grid, x$TRS, range, cellsize_x = 1.5) 
x_clip <- clip_raster2(x, range)

plot(x_interp)
plot(x_clip) # , sp.layout = sp_arc_CH

## End(Not run)

rpkgs/nctools documentation built on Sept. 24, 2023, 9:23 p.m.