Getting started with rcrisp

What is rcrisp?

rcrisp automates the morphological delineation of riverside urban areas following a method developed by @forgaci2018 [pp. 88-89]. It overcomes the challenge of arbitrary urban river corridor delineation by providing a reliable workflow to produce morphologically grounded spatial analytical units.

Such spatial units enable integrated local analyses (many different layers within one case) and large-scale cross-case analyses (many cases using comparable spatial units) in a wide range of domains of application, such as urban planning, environmental management, public space design, and disaster risk reduction.

In short, given a city name and a river name, it:

Workflow

  1. Acquire base data:
  2. OpenStreetMap layers using get_osm_*() functions
  3. (Optional) global Digital Elevation Model data
  4. Delineate the river valley, corridor, segments and/or riverspace with the all-in-one delineate() function or with the dedicated delineate_*() functions
  5. Visualize, validate, and export results for use in downstream analyses

Data considerations

Example

library(rcrisp)

# Parameters
city_name <- "Bucharest"
river_name <- "Dâmbovița"
epsg_code <- 32635

# Delineation
bd <- delineate(city_name, river_name, segments = TRUE)

# Base layers for visualisation
bb <- get_osm_bb(city_name)
streets <- get_osm_streets(bb, epsg_code)$geometry
railways <- get_osm_railways(bb, epsg_code)$geometry

# Plot
plot(bd$corridor)
plot(railways, col = "darkgrey", add = TRUE, lwd = 0.5)
plot(streets, add = TRUE)
plot(bd$segments, border = "orange", add = TRUE, lwd = 3)
plot(bd$corridor, border = "red", add = TRUE, lwd = 3)

Interpretation and next steps

References



Try the rcrisp package in your browser

Any scripts or data that you put into this service are public.

rcrisp documentation built on Nov. 24, 2025, 5:07 p.m.