Skip to contents

Merge lake bathymetry raster with a DEM raster

Merge lake bathymetry raster with a DEM raster (smooth blend at shoreline)

Usage

merge_bathy_dem(
  shoreline,
  bathy_raster,
  dem_raster,
  transform_shoreline = TRUE,
  catchment = NULL,
  crop_dem_to_catchment = TRUE,
  blend_buffer = 10
)

merge_bathy_dem(
  shoreline,
  bathy_raster,
  dem_raster,
  transform_shoreline = TRUE,
  catchment = NULL,
  crop_dem_to_catchment = TRUE,
  blend_buffer = 10
)

Arguments

shoreline

sf object of lake shoreline.

bathy_raster

SpatRaster object with bathymetry depths (negative values).

dem_raster

SpatRaster object with DEM elevations.

transform_shoreline

logical. If TRUE, reprojects shoreline to match DEM CRS.

catchment

sf object of the catchment boundary.

crop_dem_to_catchment

logical. If TRUE, crops DEM to catchment boundary.

blend_buffer

numeric. Width (map units) of the shoreline blending zone.

Value

SpatRaster object with the merged bathymetry and DEM data.

SpatRaster object with merged bathymetry and DEM data.

Examples

shoreline <- readRDS(system.file("extdata/rotoma_shoreline.rds",
package = "bathytools"))
catchment <- readRDS(system.file("extdata/rotoma_catchment.rds",
                                 package = "bathytools"))
depth_points <- readRDS(system.file("extdata/depth_points.rds",
package = "bathytools"))
bathy_raster <- rasterise_bathy(shoreline = shoreline,
depth_points = depth_points, crs = 2193)
#> Generating depth points... [2025-08-25 02:37:13]
#> Finished! [2025-08-25 02:37:14]
#> Interpolating to raster... [2025-08-25 02:37:14]
#> Adjusting depths >= 0 to  -0.82 m
#> Finished! [2025-08-25 02:37:25]

dem_raster <- terra::rast(system.file("extdata/dem_32m.tif",
package = "bathytools"))
dem_bath <- merge_bathy_dem(shoreline = shoreline, bathy_raster = bathy_raster,
dem_raster = dem_raster, catchment = catchment)
#> Resolutions differ. Resampling bathy_raster to DEM resolution.
#> Lake surface elevation from DEM: 313.3 m