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.
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)