--- title: "Getting started with rcrisp" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Getting started with rcrisp} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} bibliography: references.bib csl: ../inst/csl/apa.csl link-citations: true --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, eval = FALSE ) ``` # 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: - identifies corridor boundaries on the street network along the edges of the river valley; - (optionally) segments the corridor; and - (optionally) delineates the river space. # Workflow 1. Acquire base data: - OpenStreetMap layers using `get_osm_*()` functions - (Optional) global Digital Elevation Model data 2. Delineate the river valley, corridor, segments and/or riverspace with the all-in-one `delineate()` function or with the dedicated `delineate_*()` functions 3. Visualize, validate, and export results for use in downstream analyses # Data considerations - Use an appropriate projected CRS (e.g., a relevant UTM EPSG code). - Verify OSM coverage and elevation availability for your area. - Spatial (street and railway) network completeness and elevation data quality may affect corridor and segment accuracy. - The `delineate()` function retrieves OSM data and global DEM data by default, so no additional data retrieval is needed. - The `delineate_*()` functions allow for any data input, not only OSM and global DEM data. # Example ```{r} 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 - Use the segments and/or river spaces for comparative analyses along the river; or - Integrate relevant data layers within a segment and/or river space of interest; or - Run the analysis on other cities to compare a phenomenon of interest across corridors, segments and/or river spaces; - Export to GIS formats for further processing. # References