Returns
provinces of Spain
as POLYGON or POINT at a specified scale.
esp_get_prov()uses GISCO (Eurostat) as source. Please usegiscoR::gisco_attributions()
esp_get_prov_siane()uses CartoBase ANE as source, provided by Instituto Geografico Nacional (IGN), http://www.ign.es/web/ign/portal. Years available are 2005 up to today.
Usage
esp_get_prov(prov = NULL, moveCAN = TRUE, ...)
esp_get_prov_siane(
prov = NULL,
year = Sys.Date(),
epsg = "4258",
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
resolution = "3",
moveCAN = TRUE,
rawcols = FALSE
)Source
IGN data via a custom CDN (see https://github.com/rOpenSpain/mapSpain/tree/sianedata).
Arguments
- prov
A vector of names and/or codes for provinces or
NULLto get all the provinces. See Details.- moveCAN
A logical
TRUE/FALSEor 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.- ...
Arguments passed on to
esp_get_nutsspatialtypeType of geometry to be returned:
"LB": Labels -POINTobject."RG": Regions -POLYGONobject.
- year
Release year. See
esp_get_nuts()foresp_get_prov()and Details foresp_get_prov_siane().- 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 toTRUEit 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.- resolution
Resolution of the
POLYGON. Values available are3,6.5or10.- rawcols
Logical. Setting this to
TRUEwould add the raw columns of the resulting object as provided by IGN.
Value
A sf object specified by spatialtype.
Details
When using prov you can use and mix names and NUTS codes (levels 1, 2 or
3), ISO codes (corresponding to level 2 or 3) or "cpro" (see
esp_codelist).
Ceuta and Melilla are considered as provinces on this dataset.
When calling a higher level (Autonomous Community or NUTS1), all the provinces of that level would be added.
On esp_get_prov_siane(), year could be passed as a single year ("YYYY"
format, as end of year) or as a specific date ("YYYY-MM-DD" format).
Historical information starts as of 2005.
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 political:
esp_codelist,
esp_get_can_box(),
esp_get_capimun(),
esp_get_ccaa(),
esp_get_comarca(),
esp_get_country(),
esp_get_gridmap,
esp_get_munic(),
esp_get_nuts(),
esp_get_simpl_prov()
Examples
prov <- esp_get_prov()
library(ggplot2)
ggplot(prov) +
geom_sf() +
theme_void()
# \donttest{
# Random Provinces
Random <- esp_get_prov(prov = c(
"Zamora", "Palencia", "ES-GR",
"ES521", "01"
))
ggplot(Random) +
geom_sf(aes(fill = codauto), show.legend = FALSE, alpha = 0.5) +
scale_fill_manual(values = hcl.colors(
nrow(Random), "Spectral"
)) +
theme_minimal()
# All Provinces of a Zone plus an addition
Mix <- esp_get_prov(prov = c(
"Noroeste",
"Castilla y Leon", "La Rioja"
))
Mix$CCAA <- esp_dict_region_code(
Mix$codauto,
origin = "codauto"
)
ggplot(Mix) +
geom_sf(aes(fill = CCAA), alpha = 0.5) +
scale_fill_discrete(type = hcl.colors(5, "Temps")) +
theme_classic()
# ISO codes available
allprovs <- esp_get_prov()
ggplot(allprovs) +
geom_sf(fill = NA) +
geom_sf_text(aes(label = iso2.prov.code),
check_overlap = TRUE,
fontface = "bold"
) +
theme_void()
#> Warning: st_point_on_surface may not give correct results for longitude/latitude data
# }
