Skip to contents

Get 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 (Atlas Nacional de España) provided by Instituto Geográfico Nacional (IGN), http://www.ign.es/web/ign/portal. Years available are 2005 up to today.

Copyright: https://centrodedescargas.cnig.es/CentroDescargas/cartobase-ane

Always acknowledge authorship using the following statements:

  1. When the original digital product is not modified or altered, use one of the following statements:

    • CartoBase ANE 2006-2024 CC-BY 4.0 ign.es.

    • CartoBase ANE 2006-2024 CC-BY 4.0 Instituto Geográfico Nacional.

  2. When a new product is generated:

    • Obra derivada de CartoBase ANE 2006-2024 CC-BY 4.0 ign.es.

Data distributed through the sianedata data branch, see https://github.com/rOpenSpain/mapSpain/tree/sianedata.

Arguments

year

Character string or number. Release year. It must use format YYYY (assuming end of year) or YYYY-MM-DD. Historical information starts as of 2005.

epsg

Character string or number. Projection of the map: 4-digit EPSG code. One of:

cache

Logical. Whether to cache downloaded files. Default is TRUE. See Caching strategies section in esp_set_cache_dir().

update_cache

Logical. If TRUE, refreshes the cached file and forces a new download. Defaults to FALSE.

cache_dir

Character string. A path to a cache directory. See Caching strategies section in esp_set_cache_dir().

verbose

logical. If TRUE displays informational messages.

region

Optional. A vector of region names, NUTS or ISO codes (see esp_dict_region_code()).

munic

Character string. A name or regex expression with the names of the required municipalities. Use NULL to return all municipalities.

moveCAN

A logical TRUE/FALSE or a vector of coordinates c(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 in esp_move_can().

rawcols

Logical. If TRUE, adds 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, Autonomous Community or City, or NUTS 1), all municipalities of that level are 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:

Examples

# \donttest{
# Compare municipality centroids against esp_get_capimun().

# Get the municipality boundary.
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 the 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 a 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")

# }