Loads a sf
LINESTRING
object representing the main roads of
Spain.
Usage
esp_get_roads(
year = Sys.Date(),
epsg = "4258",
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
moveCAN = TRUE
)
Source
IGN data via a custom CDN (see https://github.com/rOpenSpain/mapSpain/tree/sianedata).
Arguments
- year
Release year. See Details for years available.
- epsg
projection of the map: 4-digit EPSG code. One of:
"4258"
: ETRS89."4326"
: WGS84."3035"
: ETRS89 / ETRS-LAEA."3857"
: Pseudo-Mercator.
- cache
A logical whether to do caching. Default is
TRUE
. See About caching.- update_cache
A logical whether to update cache. Default is
FALSE
. When set toTRUE
it would force a fresh download of the source file.- cache_dir
A path to a cache directory. See About caching.
- verbose
Logical, displays information. Useful for debugging, default is
FALSE
.- moveCAN
A logical
TRUE/FALSE
or a vector of coordinatesc(lat, lon)
. It places the Canary Islands close to Spain's mainland. Initial position can be adjusted using the vector of coordinates. See Displacing the Canary Islands.
Value
A sf
LINESTRING
object.
Details
year
could be passed as a single year ("YYYY" format, as end of year) or
as a specific date ("YYYY-MM-DD" format).
About caching
You can set your cache_dir
with esp_set_cache_dir()
.
Sometimes cached files may be corrupt. On that case, try re-downloading
the data setting update_cache = TRUE
.
If you experience any problem on download, try to download the
corresponding .geojson file by any other method and save it on your
cache_dir
. Use the option verbose = TRUE
for debugging the API query.
Displacing the Canary Islands
While moveCAN
is useful for visualization, it would alter the actual
geographic position of the Canary Islands. When using the output for
spatial analysis or using tiles (e.g. with esp_getTiles()
or
addProviderEspTiles()
) this option should be set to FALSE
in order to
get the actual coordinates, instead of the modified ones. See also
esp_move_can()
for displacing stand-alone sf
objects.
See also
Other infrastructure:
esp_get_railway()
Examples
# \donttest{
country <- esp_get_country()
Roads <- esp_get_roads()
library(ggplot2)
ggplot(country) +
geom_sf(fill = "grey90") +
geom_sf(data = Roads, aes(color = tipo), show.legend = "line") +
scale_color_manual(
values = c("#003399", "#003399", "#ff0000", "#ffff00")
) +
guides(color = guide_legend(direction = "vertical")) +
theme_minimal() +
labs(color = "Road type") +
theme(legend.position = "bottom")
# }