Download and process OpenStreetMap (OSM) accessible trail (lines) within place
,
from the Geofabrik database. It is a wrapper around
functions in the package osmextract
, and
processes the downloaded files for subsequent analyses. Refer to package osmextract
for
more details and options for input arguments when downloading the data.
get_trails_osm(
place,
date = NULL,
dir_raw = osmextract::oe_download_directory(),
filename = NULL,
...
)
sf
object (with projected coordinate reference system). Geographical area to match with the (.osm.pbf
) file in the data archive.
Argument passed to osmextract::oe_match()
.
Date of OSM data snapshot to download. Object of class "Date" in format %Y-%m-%d
. Refer to https://download.geofabrik.de
for the specific dates available. Defaults to NULL
(download the latest available data).
character. Directory to download the raw unprocessed OSM data. Passed to
argument download_directory
in osmextract::oe_read()
.
character (optional). File path to export output data (GeoJSON format).
Other arguments passed to osmextract::oe_read()
.
The processed trail lines (sf
object).
OSM lines filtered by key-value attributes, where highway:
is track
, path
, footway
or cycleway
, and access:
is not no
or private
.
if (FALSE) {
data(pop_sgp)
pop_sgp <- sf::st_transform(pop_sgp, sf::st_crs(32648)) # transform to projected crs
# merge all census blocks for chosen year (2020) into single multi-polygon
# function requires that polygons are merged
city_boundaries <- pop_sgp %>%
dplyr::filter(year == 2020) %>%
sf::st_union() %>%
sf::st_as_sf() %>%
smoothr::fill_holes(threshold = units::set_units(1, 'km^2')) %>% # clean up
smoothr::drop_crumbs(threshold = units::set_units(1, 'km^2')) %>%
sf::st_make_valid()
# run function
get_trails_osm(place = city_boundaries,
date = as.Date('2021-01-01'),
filename = 'accessible-trails_osm-lines_2021-01-01.geojson')
}