Lake Rangsdorf is located at the southern margin of the Teltow Plateau and a former proglacial drainage system, the Rangsdorf-Thyrow-Abflussbahn. Its basin has originally emerged as part of a subglacial drainage system, still visible at the panhandle Krumme Lanke and its northern continuation–the Glasow-Bach valley, whereas the main basin has been designed as a kettle hole. The northern part of Krumme Lanke still exhibits its basin shape as a glacial tunnel lake (max. lake depth 9 m with and average depth of roughly 3.5 m), where the southern main lake shows the typical morphology of a kettle lake silting up to an average depth of approx. 0.9 m (max. 2.7 m). As most of the other shallow lakes in Brandenburg, lake Rangsdorf is an eutrophic to hypertrophic lake suffering from heavy algae blooms in summer season.

Lake bathymetry and chemical sediment data of Lake Rangsdorf was obtained during a field campaign in 2017 led by Kai Hartmann, Department of Earth Sciences at Freie Universität Berlin.


Spatial data

The spatial data for lake Rangsdorf is provided as a zipped file, LakeRangsdorf.zip. The file contains several ESRI shapefiles that we download from the server.

# build a temporary folder on disk
temp <- tempfile()
download_url <- "https://userpage.fu-berlin.de/soga/data/raw-data/spatial/"
zipfile <- "LakeRangsdorf.zip"

## download the file
download.file(paste0(download_url, zipfile), temp, mode = "wb")
## unzip the file(s)
unzip(temp)
## close file connection
unlink(temp)

The file shoreline_poly.shp is a polygon shapefile of lake Rangsdorf. We load the file into memory using the st_read() function from the sf package and plot its geometry to get a first visual impression of the data.

library(sf)
## read in the data
lake <- st_read("shoreline_poly.shp", quiet = TRUE)
plot(lake$geometry)

In addition to the polygon shapefile, the zip-file contains the file shoreline.shp which is a shapefile of the shoreline of lake Rangsdorf. We load the file into memory using again the st_read() function.

## shoreline multiline geometry
shoreline <- st_read("shoreline.shp", quiet = TRUE)

Then we transform it into a POINT geometry type using the st_cast() function from the sf package. This allows us to assign each point on the shoreline a depth of zero, which becomes useful later, when we compute a bathymetric model of the lake.

## shoreline points
shoreline_point_geometry <- st_cast(x = shoreline, to = "POINT")

We add a feature vector denoted as depth_m to the POINT object and assign the vector values of zero.

## add vector of zero depth
shoreline_pts <- st_sf(
  depth_m = rep(0, length(shoreline_point_geometry$geometry)),
  geometry = shoreline_point_geometry$geometry
)

There is one more spatial data set we load into memory. The file sonar.shp contains point measurements of the lake depth obtained during a sonar survey. We load the file and plot it. Note that we make sure that the data does not contain any invalid values, such as zero depth.

sonar <- st_read("sonar.shp", quiet = TRUE)
sonar <- sonar[sonar$depth_m > 0, ]
plot(sonar)