library(ediblecity)
The function set_scenario
provides a convenient way to
create randomized scenarios for urban agriculture. We use the
city_example
provided with the package that is meant to
serve as example to create a model for a city of interest.
We create one scenario, with 50% of normal gardens, vacant plot,
streets and 75% of rooftops converted to edible_gardens. And with 50% of
created gardens being for commercial purposes. To see the correspondence
between original and urban agriculture elements, see
?set_scenario
.
<- set_scenario(city_example,
scenario pGardens = 0.5,
pVacant = 0.5,
pRooftop = 0.75,
private_gardens_from = "Normal garden",
vacant_from = c("Vacant", "Streets"),
rooftop_from = "Rooftop",
pCommercial = 0.5)
#> Only 328 rooftops out of 453 assumed satisfy the 'min_area_rooftop'
The warnings are triggered when there are not elements enough to fulfill the proportions provided to the function.
in this examples, we use the scenario created with
set_scenario
, but all the indicators can be calculated
using an sf
object with the same structure as
city_example
.
Likewise, all the parameters used by the indicators are defined in
city_land_uses
. However, all indicators provide an option
to override this an provide a customized dataframe with the parameters.
The structure of this dataframe is detailed in the documentation of each
function.
The urban heat island indicator can return a summary of values or a
stars
object. It needs a raster representing the Sky view
factor. See ?UHI
for more details. We use the
SVF
object provided with the package.
UHI(scenario, SVF)
#> Warning in CPL_rasterize(file, driver, st_geometry(sf), values, options, : GDAL
#> Message 1: The definition of geographic CRS EPSG:4258 got from GeoTIFF keys is
#> not the same as the one from the EPSG registry, which may cause issues during
#> reprojection operations. Set GTIFF_SRS_SOURCE configuration option to EPSG to
#> use official parameters (overriding the ones from GeoTIFF keys), or to GEOKEYS
#> to use custom values from GeoTIFF keys and drop the EPSG code.
#> Warning in CPL_read_gdal(as.character(x), as.character(options),
#> as.character(driver), : GDAL Message 1: The definition of geographic CRS
#> EPSG:4258 got from GeoTIFF keys is not the same as the one from the EPSG
#> registry, which may cause issues during reprojection operations. Set
#> GTIFF_SRS_SOURCE configuration option to EPSG to use official parameters
#> (overriding the ones from GeoTIFF keys), or to GEOKEYS to use custom values
#> from GeoTIFF keys and drop the EPSG code.
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 0.000 0.551 1.016 1.033 1.419 2.587
plot(UHI(scenario, SVF, return_raster = TRUE))
#> Warning in CPL_rasterize(file, driver, st_geometry(sf), values, options, : GDAL
#> Message 1: The definition of geographic CRS EPSG:4258 got from GeoTIFF keys is
#> not the same as the one from the EPSG registry, which may cause issues during
#> reprojection operations. Set GTIFF_SRS_SOURCE configuration option to EPSG to
#> use official parameters (overriding the ones from GeoTIFF keys), or to GEOKEYS
#> to use custom values from GeoTIFF keys and drop the EPSG code.
#> Warning in CPL_read_gdal(as.character(x), as.character(options),
#> as.character(driver), : GDAL Message 1: The definition of geographic CRS
#> EPSG:4258 got from GeoTIFF keys is not the same as the one from the EPSG
#> registry, which may cause issues during reprojection operations. Set
#> GTIFF_SRS_SOURCE configuration option to EPSG to use official parameters
#> (overriding the ones from GeoTIFF keys), or to GEOKEYS to use custom values
#> from GeoTIFF keys and drop the EPSG code.
The function runoff_prev
returns an estimation of the
runoff in the city after a specific rain event (mm/day). It also
estimates the total rainfall and the rainwater harvested by urban
agriculture.
runoff_prev(scenario)
#> runoff rainfall rainharvest
#> 35.94306 108169.04500 1457.54729
The function green_distance
computes the distances from
each home in the city to its closest public green area larger than a
specific area. The homes must be identified using the column passed to
residence_col
. The default values for minimal area (0.5 ha)
and for maximum distance (300 meters) follow the recommendations of
WHO.
green_distance(scenario)
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 6.12 155.08 251.70 249.72 347.42 465.73
If percent_out
is set to TRUE
, instead of a
summary of distances, it returns the percentage of homes that are
further than max_dist
.
green_distance(scenario, percent_out = TRUE)
#> [1] 36.92615
The function green_capita
calculates the amount of
public and/or private green are per capita in the city. It can compute
the total of the city, the values for each neighbourhood or the ratio
between the neighbourhoods with minimum and maximum value (min /
max).
green_capita(scenario, inhabitants = 6000)
#> [1] 10.6845
green_capita(scenario,
neighbourhoods = neighbourhoods_example,
inh_col = 'inhabitants',
name_col = 'name',
verbose = TRUE)
#> # A tibble: 2 × 4
#> name area inhabitants green_capita
#> <chr> <dbl> <dbl> <dbl>
#> 1 Sant Narcís nord 35957 1028 35.0
#> 2 Sant Narcís sud 33230 5290 6.28
green_capita(scenario,
neighbourhoods = neighbourhoods_example,
inh_col = 'inhabitants',
name_col = 'name')
#> [1] 0.1795909
The function no2_seq
computes the amount of
NO2 sequestered by urban green in gr/s.
no2_seq(scenario)
#> gr/s
#> 109.4544
The function edible_jobs
estimates the number of jobs
potentially created by commercial urban agriculture. Since the number of
jobs / m2 is randomized, it computes a Monte Carlo simulation (n=1000)
to estimate the value and returns the confidence interval (unless
verbose = TRUE
).
edible_jobs(scenario)
#> 5% 50% 95%
#> 220.5918 1626.6634 3158.8951
The function edible_volunteers
estimates the number of
volunteers potentially involved in community urban agriculture. Since
the number of volunteers / m2 is randomized, it computes a Monte Carlo
simulation (n=1000) to estimate the value and returns the confidence
interval (unless verbose = TRUE
).
edible_volunteers(scenario)
#> 5% 50% 95%
#> 273.3766 2224.1086 4385.3583
The function food_production
estimates the food produced
by urban agriculture (in kg/year). Since the productivity of each plot
is randomized, It computes a Monte Carlo simulation (n=1000) to estimate
the value and returns the confidence interval (unless
verbose = TRUE
).
food_production(scenario)
#> 5% 50% 95%
#> 667946.7 916532.1 1145246.6
The construction of scenarios as well as some parameters in the indicators are randomized to consider uncertainty. Our recommendation is to run each scenario you want to simulate in a Monte Carlo simulation to get the confidence interval for each indicator. You will find a practical implementation here.