This function computes and plots spatial discontinuities. The discontinuities are plotted over the layer outputted by the getBorders function. The line widths reflect the ratio or the difference between values of an indicator in two neighbouring units.
discLayer(
x,
df,
dfid = NULL,
var,
method = "quantile",
nclass = 4,
threshold = 0.75,
type = "rel",
sizemin = 1,
sizemax = 10,
col = "red",
legend.pos = "bottomleft",
legend.title.txt = "legend title",
legend.title.cex = 0.8,
legend.values.cex = 0.6,
legend.values.rnd = 2,
legend.frame = FALSE,
add = TRUE
)
an sf object, a simple feature collection, as outputted by the getBorders function.
a data frame that contains the values used to compute and plot discontinuities.
name of the identifier variable in df, default to the first column of df. (optional)
name of the numeric variable used to compute and plot discontinuities.
a classification method; one of "sd", "equal", "quantile", "fisher-jenks"," q6", "geom", "arith", "em" or "msd" (see getBreaks).
a targeted number of classes. If null, the number of class is automatically defined (see getBreaks).
share of represented borders, value between 0 (nothing) and 1 (all the discontinuities).
type of discontinuity measure, one of "rel" or "abs" (see Details).
thickness of the smallest line.
thickness of the biggest line.
color of the discontinuities lines.
position of the legend, one of "topleft", "top", "topright", "right", "bottomright", "bottom", "bottomleft", "left" or a vector of two coordinates in map units (c(x, y)). If legend.pos is "n" then the legend is not plotted.
title of the legend.
size of the legend title.
size of the values in the legend.
number of decimal places of the values in the legend.
whether to add a frame to the legend (TRUE) or not (FALSE).
whether to add the layer to an existing plot (TRUE) or not (FALSE).
An invisible sf object (MULTISTRING) with the discontinuity measures is returned.
The "rel" type of discontinuity is the result of pmax(value unit 1 / value unit 2, value unit 2 / value unit 1).
The "abs" type of discontinuity is the result of pmax(value unit 1 - value unit 2, value unit 2 - value unit 1).
library(sf)
mtq <- st_read(system.file("gpkg/mtq.gpkg", package="cartography"))
#> Reading layer `mtq' from data source
#> `/tmp/RtmpmpfIrO/temp_libpath18ee15f22a9e/cartography/gpkg/mtq.gpkg'
#> using driver `GPKG'
#> Simple feature collection with 34 features and 7 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 690574 ymin: 1592536 xmax: 735940.2 ymax: 1645660
#> Projected CRS: WGS 84 / UTM zone 20N
# Get borders
mtq.borders <- getBorders(x = mtq)
# Median Income
choroLayer(x = mtq, var = "MED", border = "grey", lwd = 0.5,
method = 'equal', nclass = 6, legend.pos = "topleft",
legend.title.txt = "Median Income\n(in euros)" )
# Discontinuities
discLayer(x = mtq.borders, df = mtq,
var = "MED", col="red4", nclass=3,
method="equal", threshold = 0.4, sizemin = 0.5,
sizemax = 10, type = "abs",legend.values.rnd = 0,
legend.title.txt = "Discontinuities\n(absolute difference)",
legend.pos = "bottomleft", add=TRUE)