
City where the municipal public authorities are based - SIANE
Source:R/esp-get-capimun.R
esp_get_capimun.RdGet a sf POINT with the location of the political powers for
each municipality.
Note that this differs from the centroid of the boundaries of the
municipality, returned by esp_get_munic_siane().
Usage
esp_get_capimun(
year = Sys.Date(),
epsg = 4258,
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
region = NULL,
munic = NULL,
moveCAN = TRUE,
rawcols = FALSE
)Source
CartoBase ANE provided by Instituto Geografico Nacional (IGN), http://www.ign.es/web/ign/portal. Years available are 2005 up to today.
Copyright: https://centrodedescargas.cnig.es/CentroDescargas/cartobase-ane
It's necessary to always acknowledge authorship using the following formulas:
When the original digital product is not modified or altered, it can be expressed in one of the following ways:
CartoBase ANE 2006-2024 CC-BY 4.0 ign.es
CartoBase ANE 2006-2024 CC-BY 4.0 Instituto Geográfico Nacional
When a new product is generated:
Obra derivada de CartoBase ANE 2006-2024 CC-BY 4.0 ign.es
Data distributed via a custom CDN, see https://github.com/rOpenSpain/mapSpain/tree/sianedata.
Arguments
- year
character string or number. Release year, it must be in formats
YYYY(assuming end of year) orYYYY-MM-DD. Historical information starts as of 2005.- epsg
character string or number. Projection of the map: 4-digit EPSG code. One of:
"4258": ETRS89"4326": WGS84."3035": ETRS89 / ETRS-LAEA."3857": Pseudo-Mercator.
- cache
logical. Whether to do caching. Default is
TRUE. See Caching strategies section inesp_set_cache_dir().- update_cache
logical. Should the cached file be refreshed? Default is
FALSE. When set toTRUE, it will force a new download.- cache_dir
character string. A path to a cache directory. See Caching strategies section in
esp_set_cache_dir().- verbose
logical. If
TRUEdisplays informational messages.- region
Optional. A vector of region names, NUTS or ISO codes (see
esp_dict_region_code()).- munic
character string. A name or
regexexpression with the names of the required municipalities.NULLwill return all municipalities.- 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 inesp_move_can().- rawcols
logical. Setting this to
TRUEwill add the raw columns of the resulting object as provided by IGN.
Value
A sf object.
Details
When using region 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).
When calling a higher level (province, CCAA or NUTS1), all the municipalities of that level will be added.
Note
Although mapSpain supplies cartographically suitable datasets, a historical database of Spanish municipal boundaries is also available, offering higher‑resolution geometries that may be more appropriate for GIS‑oriented workflows:
Goerlich, F. J., & Pérez Vázquez, P. (2025). Base de datos histórica de contornos municipales de España –LAU2boundaries4Spain– [Data set]. Zenodo. doi:10.5281/zenodo.15345101 , https://www.uv.es/goerlich/Ivie/LAU2boundaries4Spain.html.
See also
Other datasets representing political borders:
esp_get_ccaa(),
esp_get_ccaa_siane(),
esp_get_comarca(),
esp_get_countries_siane(),
esp_get_gridmap,
esp_get_munic(),
esp_get_munic_siane(),
esp_get_nuts(),
esp_get_prov(),
esp_get_prov_siane(),
esp_get_simpl,
esp_get_spain(),
esp_get_spain_siane(),
esp_siane_bulk_download()
Political borders from CartoBase ANE:
esp_get_ccaa_siane(),
esp_get_countries_siane(),
esp_get_munic_siane(),
esp_get_prov_siane(),
esp_get_spain_siane(),
esp_siane_bulk_download()
Datasets representing municipalities:
esp_get_munic(),
esp_get_munic_siane()
Examples
# \donttest{
# This code compares centroids of municipalities against esp_get_capimun
# Get shape
area <- esp_get_munic_siane(munic = "Valladolid", epsg = 3857)
# Area in km2
print(paste0(round(as.double(sf::st_area(area)) / 1000000, 2), " km2"))
#> [1] "353.42 km2"
# Extract centroid
centroid <- sf::st_centroid(area)
#> Warning: st_centroid assumes attributes are constant over geometries
centroid$type <- "Centroid"
# Compare with capimun
capimun <- esp_get_capimun(munic = "Valladolid", epsg = 3857)
capimun$type <- "Capimun"
# Join both point geometries
points <- dplyr::bind_rows(centroid, capimun)
# Check on plot
library(ggplot2)
ggplot(points) +
geom_sf(data = area, fill = NA, color = "blue") +
geom_sf(data = points, aes(fill = type), size = 5, shape = 21) +
scale_fill_manual(values = c("green", "red")) +
labs(title = "Centroid vs. capimun")
# }