| Title: | Download 'Eurostat' 'GISCO' Spatial Data |
|---|---|
| Description: | Tools to download global and European spatial data from the 'Eurostat' 'GISCO' (Geographic Information System of the Commission) data distribution <https://ec.europa.eu/eurostat/web/gisco>. The package provides helpers for country boundaries, 'NUTS' regions, administrative units, statistical units, transport networks, basic service locations and other 'GISCO' datasets. This package is not officially related to or endorsed by 'Eurostat'. |
| Authors: | Diego Hernangómez [aut, cre, cph] (ORCID: <https://orcid.org/0000-0001-8457-4658>), Eurostat [cph] (ROR: <https://ror.org/033d3q980>), EuroGeographics [cph] |
| Maintainer: | Diego Hernangómez <[email protected]> |
| License: | GPL-3 |
| Version: | 1.1.1.9000 |
| Built: | 2026-06-22 09:22:02 UTC |
| Source: | https://github.com/rOpenGov/giscoR |
Functions to interact with the GISCO Address API, which supports geocoding and reverse geocoding with a pan-European address database.
Each endpoint is implemented through a specific function. See Details.
The API supports fuzzy searching, also referred to as approximate string matching, for all arguments of each endpoint.
gisco_address_api_search( country = NULL, province = NULL, city = NULL, road = NULL, housenumber = NULL, postcode = NULL, verbose = FALSE ) gisco_address_api_reverse(x, y, country = NULL, verbose = FALSE) gisco_address_api_bbox( country = NULL, province = NULL, city = NULL, road = NULL, postcode = NULL, verbose = FALSE ) gisco_address_api_countries(verbose = FALSE) gisco_address_api_provinces(country = NULL, city = NULL, verbose = FALSE) gisco_address_api_cities(country = NULL, province = NULL, verbose = FALSE) gisco_address_api_roads( country = NULL, province = NULL, city = NULL, verbose = FALSE ) gisco_address_api_housenumbers( country = NULL, province = NULL, city = NULL, road = NULL, postcode = NULL, verbose = FALSE ) gisco_address_api_postcodes( country = NULL, province = NULL, city = NULL, verbose = FALSE ) gisco_address_api_copyright(verbose = FALSE)gisco_address_api_search( country = NULL, province = NULL, city = NULL, road = NULL, housenumber = NULL, postcode = NULL, verbose = FALSE ) gisco_address_api_reverse(x, y, country = NULL, verbose = FALSE) gisco_address_api_bbox( country = NULL, province = NULL, city = NULL, road = NULL, postcode = NULL, verbose = FALSE ) gisco_address_api_countries(verbose = FALSE) gisco_address_api_provinces(country = NULL, city = NULL, verbose = FALSE) gisco_address_api_cities(country = NULL, province = NULL, verbose = FALSE) gisco_address_api_roads( country = NULL, province = NULL, city = NULL, verbose = FALSE ) gisco_address_api_housenumbers( country = NULL, province = NULL, city = NULL, road = NULL, postcode = NULL, verbose = FALSE ) gisco_address_api_postcodes( country = NULL, province = NULL, city = NULL, verbose = FALSE ) gisco_address_api_copyright(verbose = FALSE)
country |
A country code ( |
province |
A province within a country. For a list of provinces within
a country, use the provinces endpoint
( |
city |
A city within a province. For a list of cities within a
province, use the cities endpoint
( |
road |
A road within a city. |
housenumber |
The house number or house name within a road or street. |
postcode |
A postcode to use with the previous arguments. |
verbose |
A logical value indicating whether to display informational messages. |
x, y
|
Longitude and latitude coordinates to convert into a human-readable address. |
The following table describes the API endpoints, based on the GISCO Address API endpoint documentation:
| Endpoint | Description |
/countries |
All country codes compatible with the address API. Check the coverage map for available countries and see the list of official country codes. |
/provinces |
All provinces within the specified country. It can also retrieve the province for a specified city. |
/cities |
All cities within a specified province or country. |
/roads |
All roads or streets within a specified city. |
/housenumbers |
All house numbers or names within the specified road. In some countries, an address may not have a road component. If a road is not specified, the API returns at most 1,000 house numbers. |
/postcodes |
All postcodes within the specified address component, such as country, province or city. |
/search |
Structured queries to the address database. Various argument combinations can retrieve addresses that share an address component. The API returns at most 100 addresses. |
/reverse |
A structured address for longitude and latitude coordinates. |
/bbox |
A WKT bounding box for an address component, depending on the specified arguments. |
/copyright |
The copyright text for each available country in the Address API. |
The resulting object may include these variables:
| Property name | Description |
LD |
Locator designator, which represents the house number part of the address. |
TF |
Thoroughfare, which represents the street or road part of the address. |
L0 |
Level 0 of the API administrative levels. Values are two-character country codes. |
L1 |
Level 1 of the API administrative levels. Values are province names. "Province" is a generic term that may vary by country. |
L2 |
Level 2 of the API administrative levels. Values are town or city names. "City" is a generic term that may vary by country. |
PC |
Postal code. |
N0 |
NUTS 0. |
N1 |
NUTS 1. |
N2 |
NUTS 2. |
N3 |
NUTS 3. |
X and Y |
Longitude and latitude coordinates of the address point. |
OL |
The Open Location Code for the address. |
A tibble in most cases, except
gisco_address_api_search(), gisco_address_api_reverse() and
gisco_address_api_bbox(), which return a sf object.
https://gisco-services.ec.europa.eu/addressapi/docs/screen/home.
See the GISCO Address API documentation at https://gisco-services.ec.europa.eu/addressapi/docs/screen/home.
GISCO API tools:
gisco_id_api
# Cities in a region. gisco_address_api_cities(country = "PT", province = "LISBOA") # Geocode and reverse geocode with `sf` objects. # Structured search. struct <- gisco_address_api_search( country = "LU", city = "Luxembourg", road = "Rue Alphonse Weicker" ) struct # Reverse geocoding. reverse <- gisco_address_api_reverse(x = struct$X[1], y = struct$Y[1]) reverse# Cities in a region. gisco_address_api_cities(country = "PT", province = "LISBOA") # Geocode and reverse geocode with `sf` objects. # Structured search. struct <- gisco_address_api_search( country = "LU", city = "Luxembourg", road = "Rue Alphonse Weicker" ) struct # Reverse geocoding. reverse <- gisco_address_api_reverse(x = struct$X[1], y = struct$Y[1]) reverse
Get the legal text to use for administrative and statistical data downloaded from GISCO. See section Copyright.
For other datasets you may follow the Eurostat general copyright notice and license policy.
gisco_attributions(lang = "en", copyright = FALSE)gisco_attributions(lang = "en", copyright = FALSE)
lang |
A character value with the language (two-letter ISO code). See countrycode::codelist and Details. |
copyright |
A logical value indicating whether to display the copyright notice on the console. |
Supported languages are:
"en": English.
"da": Danish.
"de": German.
"es": Spanish.
"fi": Finnish.
"fr": French.
"no": Norwegian.
"sv": Swedish.
Please consider contributing if you spot a mistake or want to add a new language.
A string with the attribution to be used.
The provisions described in this section apply to administrative and statistical data provided by the following functions:
Administrative units
Statistical units
Postal code data use a separate CC-BY-SA-4.0 attribution. See
gisco_get_postal_codes().
When data downloaded from GISCO is used in any printed or electronic publication, in addition to any other provisions applicable to the whole Eurostat website, the data source must be acknowledged in the legend of the map and on the introductory page of the publication with the following copyright notice:
EN: © EuroGeographics for the administrative boundaries.
FR: © EuroGeographics pour les limites administratives.
DE: © EuroGeographics bezüglich der Verwaltungsgrenzen.
For publications in languages other than English, French or German, the translation of the copyright notice in the language of the publication shall be used.
If you intend to use the data commercially, please contact EuroGeographics for information about their license agreements.
gisco_attributions() gisco_attributions(lang = "es", copyright = TRUE) gisco_attributions(lang = "XXX") # Get the list of codes from countrycode. library(dplyr) countrycode::codelist |> select(country.name.en, iso2c)gisco_attributions() gisco_attributions(lang = "es", copyright = TRUE) gisco_attributions(lang = "XXX") # Get the list of codes from countrycode. library(dplyr) countrycode::codelist |> select(country.name.en, iso2c)
Download zipped data from GISCO to the cache_dir
and extract the relevant files.
gisco_bulk_download( id = c("countries", "coastal_lines", "communes", "lau", "nuts", "urban_audit", "postal_codes"), year = 2016, cache_dir = NULL, update_cache = FALSE, verbose = FALSE, resolution = 10, ext = c("shp", "geojson", "svg", "json", "gdb"), recursive = deprecated(), ... )gisco_bulk_download( id = c("countries", "coastal_lines", "communes", "lau", "nuts", "urban_audit", "postal_codes"), year = 2016, cache_dir = NULL, update_cache = FALSE, verbose = FALSE, resolution = 10, ext = c("shp", "geojson", "svg", "json", "gdb"), recursive = deprecated(), ... )
id |
A character string or numeric value with the dataset type to download, see Details. Supported values are:
|
year |
A character string or numeric value with the release year of the file, see Details. |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
verbose |
A logical value indicating whether to display informational messages. |
resolution |
A character string or numeric value with the geospatial data resolution. One of:
|
ext |
The extension of the file or files to download. Available
formats are |
recursive |
|
... |
Ignored. The argument |
Some arguments only apply to a specific value of "id". For example
"resolution" is ignored for values "communes", "lau",
"urban_audit" and "postal_codes".
See available years in the corresponding functions:
The usual extensions used across giscoR are "gpkg" and "shp",
but other formats are already available on GISCO. After a bulk download, you
may need to adjust the default ext value in the corresponding function
to connect it with the downloaded files (see Examples).
An invisible character vector with the full path of the files extracted. See Examples.
https://gisco-services.ec.europa.eu/distribution/v2/.
gisco_get_metadata() to inspect available datasets, years and
file formats before downloading.
Bulk and single-unit downloads:
gisco_get_unit
tmp <- file.path(tempdir(), "testexample") dest_files <- gisco_bulk_download( id = "countries", resolution = 60, year = 2024, ext = "geojson", cache_dir = tmp ) # Read one file. library(sf) read_sf(dest_files[1]) |> head() # Connect the function with the downloaded data. connect <- gisco_get_countries( resolution = 60, year = 2024, ext = "geojson", cache_dir = tmp, verbose = TRUE ) # The message shows that the file is already cached. # Clean up. unlink(tmp, force = TRUE)tmp <- file.path(tempdir(), "testexample") dest_files <- gisco_bulk_download( id = "countries", resolution = 60, year = 2024, ext = "geojson", cache_dir = tmp ) # Read one file. library(sf) read_sf(dest_files[1]) |> head() # Connect the function with the downloaded data. connect <- gisco_get_countries( resolution = 60, year = 2024, ext = "geojson", cache_dir = tmp, verbose = TRUE ) # The message shows that the file is already cached. # Clean up. unlink(tmp, force = TRUE)
Use this function with caution. It clears your cached data and configuration, specifically:
Deletes the giscoR config directory
(tools::R_user_dir("giscoR", "config")).
Deletes the cache_dir directory.
Deletes the value stored in Sys.getenv("GISCO_CACHE_DIR").
gisco_clear_cache(config = FALSE, cached_data = TRUE, verbose = FALSE)gisco_clear_cache(config = FALSE, cached_data = TRUE, verbose = FALSE)
config |
If |
cached_data |
If |
verbose |
A logical value indicating whether to display informational messages. |
Fully resets your cache state as if you had never installed or used giscoR.
Invisible. Called for its side effects.
Cache management utilities:
gisco_set_cache_dir()
# Do not run this. It modifies your current state. ## Not run: my_cache <- gisco_detect_cache_dir() # Set an example cache. ex <- file.path(tempdir(), "example", "cache") gisco_set_cache_dir(ex, verbose = FALSE) # Restore the initial cache. gisco_clear_cache(verbose = TRUE) gisco_set_cache_dir(my_cache) identical(my_cache, gisco_detect_cache_dir()) ## End(Not run)# Do not run this. It modifies your current state. ## Not run: my_cache <- gisco_detect_cache_dir() # Set an example cache. ex <- file.path(tempdir(), "example", "cache") gisco_set_cache_dir(ex, verbose = FALSE) # Restore the initial cache. gisco_clear_cache(verbose = TRUE) gisco_set_cache_dir(my_cache) identical(my_cache, gisco_detect_cache_dir()) ## End(Not run)
sf objectThis object contains the coastal lines of the world.
A sf object with POLYGON geometries, resolution:
1:20 million and EPSG:4326.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
COAS_RG_20M_2016_4326.gpkg file.
Included datasets:
gisco_countries_2024,
gisco_countrycode,
gisco_db,
gisco_nuts_2024
library(sf) data("gisco_coastal_lines") gisco_coastal_lineslibrary(sf) data("gisco_coastal_lines") gisco_coastal_lines
sf objectThis object contains world administrative boundaries at the country level.
A sf object with MULTIPOLYGON geometries, resolution:
1:20 million and EPSG:4326. It has
263 rows and 12 variables:
CNTR_IDCountry ID from Eurostat.
CNTR_NAMEOfficial country name in local language.
NAME_ENGLCountry name in English.
NAME_FRENCountry name in French.
ISO3_CODEISO 3166-1 alpha-3 code of each country from GISCO.
SVRG_UNSovereign status according to the United Nations.
CAPTCapital city.
EU_STATEuropean Union member.
EFTA_STATEFTA member.
CC_STATEU candidate member.
NAME_GERMCountry name in German.
geometryGeometry field.
See the GISCO administrative unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
Check the download and usage provisions in gisco_attributions().
CNTR_RG_20M_2024_4326.gpkg file.
Included datasets:
gisco_coastal_lines,
gisco_countrycode,
gisco_db,
gisco_nuts_2024
data("gisco_countries_2024") head(gisco_countries_2024)data("gisco_countries_2024") head(gisco_countries_2024)
A tibble containing conversions between country code schemes (Eurostat, ISO 3166-1 alpha-2 and ISO 3166-1 alpha-3) and geographic regions from the World Bank and the UN (M49 Standard). This database was extracted from the countrycode package.
A data frame with 249 rows and 13 variables:
ISO3_CODEEurostat code of each country.
CNTR_CODEISO 3166-1 alpha-2 code of each country.
iso2cISO 3166-1 alpha-2 code of each country.
iso.name.enISO English short name.
cldr.short.enEnglish short name as provided by the Unicode Common Locale Data Repository.
continentContinent from the World Bank.
un.region.codeNumeric region code UN (M49).
un.region.nameRegion name UN (M49).
un.regionintermediate.codeNumeric intermediate region.
un.regionintermediate.nameIntermediate region name UN (M49).
un.regionsub.codeNumeric sub-region code UN (M49).
un.regionsub.nameSub-region name UN (M49).
euLogical value indicating whether the country belongs to the European Union.
Regions follow the UN geographic regions (see https://unstats.un.org/unsd/methodology/m49/). Under this scheme Cyprus is assigned to Asia.
countrycode::codelist v1.6.1.
gisco_get_countries(), countrycode::codelist.
See also Unicode Common Locale Data Repository.
Included datasets:
gisco_coastal_lines,
gisco_countries_2024,
gisco_db,
gisco_nuts_2024
data("gisco_countrycode") dplyr::glimpse(gisco_countrycode)data("gisco_countrycode") dplyr::glimpse(gisco_countrycode)
Database with the list of files in the GISCO geodata distribution as of 2026-06-19.
A tibble with 10,987 rows.
This database is used to redirect the corresponding functions to the correct API endpoints.
This version of the database is used if there is a problem during update.
Please use gisco_get_cached_db() with update_cache = TRUE to update the
corresponding API endpoints.
GISCO geodata distribution datasets.json.
Included datasets:
gisco_coastal_lines,
gisco_countries_2024,
gisco_countrycode,
gisco_nuts_2024
GISCO database and metadata:
gisco_get_cached_db(),
gisco_get_metadata()
data("gisco_db") gisco_db |> dplyr::glimpse()data("gisco_db") gisco_db |> dplyr::glimpse()
This function accesses the GISCO airport and heliport datasets. Airports are identified using International Civil Aviation Organization (ICAO) airport codes.
gisco_get_airports( year = c(2024, 2013, 2006), country = NULL, cache_dir = NULL, update_cache = FALSE, verbose = FALSE )gisco_get_airports( year = c(2024, 2013, 2006), country = NULL, cache_dir = NULL, update_cache = FALSE, verbose = FALSE )
year |
A character string or numeric value with the release year of the
file. One of |
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
verbose |
A logical value indicating whether to display informational messages. |
The returned object is transformed to EPSG:4326.
A sf object.
See the Eurostat general copyright and licence provisions: https://ec.europa.eu/eurostat/web/gisco/geodata.
https://ec.europa.eu/eurostat/web/gisco/geodata/transport-networks.
Transport network datasets:
gisco_get_ports()
airp <- gisco_get_airports(year = 2024) coast <- giscoR::gisco_get_countries(year = 2024) if (!is.null(airp)) { library(ggplot2) ggplot(coast) + geom_sf(fill = "grey10", color = "grey20") + geom_sf( data = airp, color = "#00F0FF", size = 0.2, alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Airports in Europe", subtitle = "Year 2024", caption = "Source: Eurostat, Airports 2024 dataset." ) + # Center on Europe with EPSG 3035. coord_sf( crs = 3035, xlim = c(2377294, 7453440), ylim = c(1313597, 5628510) ) }airp <- gisco_get_airports(year = 2024) coast <- giscoR::gisco_get_countries(year = 2024) if (!is.null(airp)) { library(ggplot2) ggplot(coast) + geom_sf(fill = "grey10", color = "grey20") + geom_sf( data = airp, color = "#00F0FF", size = 0.2, alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Airports in Europe", subtitle = "Year 2024", caption = "Source: Eurostat, Airports 2024 dataset." ) + # Center on Europe with EPSG 3035. coord_sf( crs = 3035, xlim = c(2377294, 7453440), ylim = c(1313597, 5628510) ) }
Returns or optionally updates the cached database with endpoints from the GISCO geodata distribution.
gisco_get_cached_db(update_cache = FALSE)gisco_get_cached_db(update_cache = FALSE)
update_cache |
A logical value. If |
The cached database is stored in the giscoR cache path. See
gisco_set_cache_dir() for details. The cached database is used in
subsequent R sessions.
On new GISCO data releases, you can access the updated data by refreshing the cached database without waiting for a new version of giscoR.
A static database gisco_db is shipped with the package. This database is used if there is any problem during the update.
A tibble.
https://gisco-services.ec.europa.eu/distribution/v2/.
GISCO database and metadata:
gisco_db,
gisco_get_metadata()
gisco_get_cached_db() |> dplyr::glimpse()gisco_get_cached_db() |> dplyr::glimpse()
This dataset provides 2011 census units as region or point geometries.
gisco_get_census( year = 2011, cache_dir = NULL, update_cache = FALSE, verbose = FALSE, spatialtype = c("RG", "PT") )gisco_get_census( year = 2011, cache_dir = NULL, update_cache = FALSE, verbose = FALSE, spatialtype = c("RG", "PT") )
year |
A character string or numeric value with the release year of the
file.
Currently only |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
verbose |
A logical value indicating whether to display informational messages. |
spatialtype |
The type of geometry to return:
|
A sf object.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units/census.
See gisco_id_api_census_grid() to download via GISCO ID service API.
Statistical unit datasets:
gisco_get_coastal_lines(),
gisco_get_lau(),
gisco_get_nuts(),
gisco_get_urban_audit()
library(sf) pts <- gisco_get_census(spatialtype = "PT") ptslibrary(sf) pts <- gisco_get_census(spatialtype = "PT") pts
Download global coastal lines.
gisco_get_coastal_lines( year = 2016, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = 20, ext = "gpkg" )gisco_get_coastal_lines( year = 2016, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = 20, ext = "gpkg" )
year |
A character string or numeric value with the release year of the
file.
One of |
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
resolution |
A character string or numeric value with the geospatial data resolution. One of:
|
ext |
A character value with the extension of the file (default
|
A sf object.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
GISCO coastal lines distribution API: https://gisco-services.ec.europa.eu/distribution/v2/coas/.
See gisco_bulk_download() to perform a bulk download of datasets.
Statistical unit datasets:
gisco_get_census(),
gisco_get_lau(),
gisco_get_nuts(),
gisco_get_urban_audit()
coast <- gisco_get_coastal_lines() library(ggplot2) ggplot(coast) + geom_sf(color = "#1278AB", fill = "#FDFBEA") + # Zoom on the Mediterranean Sea. coord_sf( xlim = c(-4, 35), ylim = c(31, 45) ) + theme_minimal() + theme( panel.background = element_rect(fill = "#C7E7FB", color = NA), panel.border = element_rect(colour = "black", fill = NA) )coast <- gisco_get_coastal_lines() library(ggplot2) ggplot(coast) + geom_sf(color = "#1278AB", fill = "#FDFBEA") + # Zoom on the Mediterranean Sea. coord_sf( xlim = c(-4, 35), ylim = c(31, 45) ) + theme_minimal() + theme( panel.background = element_rect(fill = "#C7E7FB", color = NA), panel.border = element_rect(colour = "black", fill = NA) )
This dataset provides pan-European administrative boundaries at commune
level. Communes may correspond to municipalities represented in the
separate Local Administrative Units dataset. See gisco_get_lau().
gisco_get_communes( year = 2016, epsg = 4326, cache = deprecated(), update_cache = FALSE, cache_dir = NULL, verbose = FALSE, spatialtype = "RG", country = NULL, ext = "shp" )gisco_get_communes( year = 2016, epsg = 4326, cache = deprecated(), update_cache = FALSE, cache_dir = NULL, verbose = FALSE, spatialtype = "RG", country = NULL, ext = "shp" )
year |
A character string or numeric value with the release year of the
file. One of
|
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
|
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
spatialtype |
A character string with the type of geometry to return. Options available are:
|
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
ext |
A character value with the extension of the file (default
|
The Nomenclature of Territorial Units for Statistics (NUTS) and the LAU nomenclature are hierarchical classifications of statistical regions that together subdivide the EU economic territory into regions of five different levels, moving from larger to smaller territorial units: NUTS 1, 2 and 3 and LAU.
The dataset is based on EuroBoundaryMap from EuroGeographics. Geographical extent covers the European Union 28, EFTA countries and candidate countries. The scale of the dataset is 1:100 000.
The LAU classification is not covered by any legislative act.
A sf object.
See the GISCO administrative unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
Check the download and usage provisions in gisco_attributions().
GISCO communes distribution API: https://gisco-services.ec.europa.eu/distribution/v2/communes/.
See gisco_bulk_download() to perform a bulk download of datasets.
Administrative unit datasets:
gisco_get_countries(),
gisco_get_postal_codes()
ire_comm <- gisco_get_communes(spatialtype = "LB", country = "Ireland") if (!is.null(ire_comm)) { library(ggplot2) ggplot(ire_comm) + geom_sf(shape = 21, col = "#009A44", size = 0.5) + labs( title = "Communes in Ireland", subtitle = "Year 2016", caption = gisco_attributions() ) + theme_void() + theme(text = element_text( colour = "#009A44", family = "serif", face = "bold" )) }ire_comm <- gisco_get_communes(spatialtype = "LB", country = "Ireland") if (!is.null(ire_comm)) { library(ggplot2) ggplot(ire_comm) + geom_sf(shape = 21, col = "#009A44", size = 0.5) + labs( title = "Communes in Ireland", subtitle = "Year 2016", caption = gisco_attributions() ) + theme_void() + theme(text = element_text( colour = "#009A44", family = "serif", face = "bold" )) }
This dataset contains world administrative boundaries at the country level. It provides two feature classes, regions and boundaries, at five scale levels: 1M, 3M, 10M, 20M and 60M.
Downloads data from the aggregated GISCO country file. To download
single-unit country files, use gisco_get_unit_country().
gisco_get_countries( year = 2024, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = 20, spatialtype = "RG", country = NULL, region = NULL, ext = "gpkg" )gisco_get_countries( year = 2024, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = 20, spatialtype = "RG", country = NULL, region = NULL, ext = "gpkg" )
year |
A character string or numeric value with the release year of the
file. One of
|
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
resolution |
A character string or numeric value with the geospatial data resolution. One of:
|
spatialtype |
A character string with the type of geometry to return. Options available are:
|
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
region |
An optional character vector of UN M49 region codes or
European Union membership. Possible values are |
ext |
A character value with the extension of the file (default
|
A sf object.
Regions follow the UN geographic regions (see https://unstats.un.org/unsd/methodology/m49/). Under this scheme Cyprus is assigned to Asia.
See the GISCO administrative unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
Check the download and usage provisions in gisco_attributions().
GISCO countries distribution API: https://gisco-services.ec.europa.eu/distribution/v2/countries/.
gisco_countrycode, gisco_countries_2024, gisco_get_metadata(),
countrycode::countrycode().
See gisco_bulk_download() to perform a bulk download of datasets.
See gisco_get_unit_country() to download single-unit files.
See gisco_id_api_country() to download via GISCO ID service API.
Administrative unit datasets:
gisco_get_communes(),
gisco_get_postal_codes()
cntries <- gisco_get_countries() library(ggplot2) ggplot(cntries) + geom_sf() # Get a region africa <- gisco_get_countries(region = "Africa") ggplot(africa) + geom_sf(fill = "#078930", col = "white") + theme_minimal()cntries <- gisco_get_countries() library(ggplot2) ggplot(cntries) + geom_sf() # Get a region africa <- gisco_get_countries(region = "Africa") ggplot(africa) + geom_sf(fill = "#078930", col = "white") + theme_minimal()
This dataset integrates Member States' official data on the location of education services. Additional information on these services is included when available. See Details.
gisco_get_education( year = c(2023, 2020), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, country = NULL )gisco_get_education( year = c(2023, 2020), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, country = NULL )
year |
A character string or numeric value with the release year of the
file. One of
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
Files are distributed in EPSG:4326.
The following table describes the education service attributes:
| Attribute | Description |
id |
The education service identifier, based on national identification codes when available. |
name |
The name of the education institution. |
site_name |
The name of a specific site or branch of the education institution. |
lat |
Latitude (WGS 84). |
lon |
Longitude (WGS 84). |
street |
Street name. |
house_number |
House number. |
postcode |
Postcode. |
address |
Address information when the different components of the address are not separated in the source. |
city |
City name. In some sources, this refers to a region or municipality. |
cntr_id |
Country code (2 letters, ISO 3166-1 alpha-2). |
levels |
Education levels represented by a single integer or range, using ISCED 2011. |
max_students |
Measure of capacity by maximum number of students. |
enrollment |
Measure of capacity by number of enrolled students. |
fields |
Academic disciplines in which the institution specializes, using ISCED-F 2013. |
facility_type |
Type of institution by ownership and operation, such as Catholic or international. |
public_private |
Public or private status of the education service. |
tel |
Telephone number. |
email |
Email address. |
url |
URL for the institution's website. |
ref_date |
The reference date (DD/MM/YYYY) for the data. The dataset represents the state on this date. |
pub_date |
The publication date of the dataset by Eurostat (DD/MM/YYYY). |
geo_qual |
Geolocation quality indicator: 1 = Good, 2 = Medium, 3 = Low, 4 = From source, -1 = Unknown, -2 = Not geocoded. |
comments |
Additional information on the education service. |
A sf object.
The general Eurostat copyright and licence provisions apply. Detailed metadata also list source-specific licensing conditions by country and data provider. Review the conditions for the selected data before use.
The data are extracted from official national registers. They may contain inconsistencies, inaccuracies and gaps due to the heterogeneity of the national input data.
https://ec.europa.eu/eurostat/web/gisco/geodata/basic-services.
Basic service datasets:
gisco_get_healthcare()
edu_austria <- gisco_get_education(country = "Austria", year = 2023) # Plot if downloaded. if (!is.null(edu_austria)) { austria_nuts3 <- gisco_get_nuts(country = "Austria", nuts_level = 3) library(ggplot2) ggplot(austria_nuts3) + geom_sf(fill = "grey10", color = "grey60") + geom_sf( data = edu_austria, aes(color = rev(public_private)), alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Education", subtitle = "Austria (2023)", caption = "Source: Eurostat, Education 2023 dataset.", color = "Type" ) + coord_sf(crs = 3035) }edu_austria <- gisco_get_education(country = "Austria", year = 2023) # Plot if downloaded. if (!is.null(edu_austria)) { austria_nuts3 <- gisco_get_nuts(country = "Austria", nuts_level = 3) library(ggplot2) ggplot(austria_nuts3) + geom_sf(fill = "grey10", color = "grey60") + geom_sf( data = edu_austria, aes(color = rev(public_private)), alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Education", subtitle = "Austria (2023)", caption = "Source: Eurostat, Education 2023 dataset.", color = "Type" ) + coord_sf(crs = 3035) }
These datasets contain grid cells covering the EU and neighbouring countries at resolutions from 1 km to 100 km. Population figures are available for selected reference years.
gisco_get_grid( resolution = c(100, 50, 20, 10, 5, 2, 1), spatialtype = c("REGION", "POINT"), cache_dir = NULL, update_cache = FALSE, verbose = FALSE )gisco_get_grid( resolution = c(100, 50, 20, 10, 5, 2, 1), spatialtype = c("REGION", "POINT"), cache_dir = NULL, update_cache = FALSE, verbose = FALSE )
resolution |
The grid cell resolution in km. Available values are
|
spatialtype |
A character string selecting |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
verbose |
A logical value indicating whether to display informational messages. |
gisco_get_grid() downloads the GeoPackage representation of the grid as
polygon cells (spatialtype = "REGION") or cell-centre points
(spatialtype = "POINT"). The official distribution also provides tabular
CSV and Parquet files, which this function does not download.
All grid geometries use EPSG:3035. Population
columns are named TOT_P_YYYY, where YYYY is the reference year. To
calculate population density, divide a population value by the cell area in
square kilometres (resolution^2).
The file sizes range from 428 KB (resolution = 100)
to 1.7 GB (resolution = 1).
A sf object.
Population variables (TOT_P_*) have year- and country-specific licensing
conditions. Other grid elements are covered by the general Eurostat
copyright provisions. Review the licensing table and metadata on the
official grid page before redistributing or publishing the data.
https://ec.europa.eu/eurostat/web/gisco/geodata/grids.
grid <- gisco_get_grid(resolution = 20) # Proceed if downloaded correctly. if (!is.null(grid)) { library(dplyr) grid <- grid |> mutate(popdens = TOT_P_2021 / 20^2) breaks <- c(0, 1, 10, 25, 50, 100, 250, 500, 1000, Inf) # Cut groups. grid <- grid |> mutate(popdens_cut = cut(popdens, breaks = breaks, include.lowest = TRUE )) cut_labs <- prettyNum(breaks, big.mark = " ")[-1] cut_labs[1] <- "0" cut_labs[9] <- "> 1000" pal <- c( "black", hcl.colors(length(breaks) - 2, palette = "Spectral", alpha = 0.9) ) library(ggplot2) ggplot(grid) + geom_sf(aes(fill = popdens_cut), color = NA, linewidth = 0) + coord_sf( xlim = c(2500000, 7000000), ylim = c(1500000, 5200000) ) + scale_fill_manual( values = pal, na.value = "black", name = "", labels = cut_labs ) + theme_void() + labs( title = "Population density in Europe (2021)", subtitle = "Grid: 20 km. People by square km.", caption = paste( "Source: Eurostat GISCO grid dataset.\n", "Review the applicable population-data licence." ) ) + theme( text = element_text(colour = "white"), plot.background = element_rect(fill = "grey2"), plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5, face = "bold"), plot.caption = element_text( color = "grey60", hjust = 0.5, vjust = 0, margin = margin(t = 5, b = 10) ), legend.key.height = unit(0.5, "lines"), legend.key.width = unit(1, "lines") ) }grid <- gisco_get_grid(resolution = 20) # Proceed if downloaded correctly. if (!is.null(grid)) { library(dplyr) grid <- grid |> mutate(popdens = TOT_P_2021 / 20^2) breaks <- c(0, 1, 10, 25, 50, 100, 250, 500, 1000, Inf) # Cut groups. grid <- grid |> mutate(popdens_cut = cut(popdens, breaks = breaks, include.lowest = TRUE )) cut_labs <- prettyNum(breaks, big.mark = " ")[-1] cut_labs[1] <- "0" cut_labs[9] <- "> 1000" pal <- c( "black", hcl.colors(length(breaks) - 2, palette = "Spectral", alpha = 0.9) ) library(ggplot2) ggplot(grid) + geom_sf(aes(fill = popdens_cut), color = NA, linewidth = 0) + coord_sf( xlim = c(2500000, 7000000), ylim = c(1500000, 5200000) ) + scale_fill_manual( values = pal, na.value = "black", name = "", labels = cut_labs ) + theme_void() + labs( title = "Population density in Europe (2021)", subtitle = "Grid: 20 km. People by square km.", caption = paste( "Source: Eurostat GISCO grid dataset.\n", "Review the applicable population-data licence." ) ) + theme( text = element_text(colour = "white"), plot.background = element_rect(fill = "grey2"), plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5, face = "bold"), plot.caption = element_text( color = "grey60", hjust = 0.5, vjust = 0, margin = margin(t = 5, b = 10) ), legend.key.height = unit(0.5, "lines"), legend.key.width = unit(1, "lines") ) }
The dataset contains information on healthcare services considered hospitals by Member States. The definition varies slightly from country to country, but roughly includes the following:
Hospitals comprise licensed establishments primarily engaged in providing medical, diagnostic and treatment services that include physician, nursing and other health services to inpatients and the specialized accommodation services required by inpatients.
gisco_get_healthcare( year = c(2023, 2020), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, country = NULL )gisco_get_healthcare( year = c(2023, 2020), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, country = NULL )
year |
A character string or numeric value with the release year of the
file. One of
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
Files are distributed in EPSG:4326.
The following table describes the healthcare service attributes:
| Attribute | Description |
id |
The healthcare service identifier, based on national identification codes when available. |
hospital_name |
The name of the healthcare institution. |
site_name |
The name of a specific site or branch of the healthcare institution. |
lat |
Latitude (WGS 84). |
lon |
Longitude (WGS 84). |
street |
Street name. |
house_number |
House number. |
postcode |
Postcode. |
address |
Address information when the different components of the address are not separated in the source. |
city |
City name. In some sources, this refers to a region or municipality. |
cntr_id |
Country code (2 letters, ISO 3166-1 alpha-2). |
emergency |
yes or no, indicating whether the healthcare site provides emergency medical services. |
cap_beds |
Measure of capacity by number of beds (most common). |
cap_prac |
Measure of capacity by number of practitioners. |
cap_rooms |
Measure of capacity by number of rooms. |
facility_type |
Type of healthcare service, such as psychiatric hospital, based on national classification. |
public_private |
Public or private status of the healthcare service. |
list_specs |
List of specialties recognized in the EU and EEA according to the 2005 EU Directive (Annex V). |
tel |
Telephone number. |
email |
Email address. |
url |
URL for the institution's website. |
ref_date |
The reference date (DD/MM/YYYY) for the data. |
pub_date |
The publication date of the dataset by Eurostat (DD/MM/YYYY). |
geo_qual |
Geolocation quality indicator: 1 = Good, 2 = Medium, 3 = Low, 4 = From source, -1 = Unknown, -2 = Not geocoded. |
comments |
Additional information on the healthcare service. |
A sf object.
The general Eurostat copyright and licence provisions apply. Detailed metadata also list source-specific licensing conditions by country and data provider. Review the conditions for the selected data before use.
The data are extracted from official national registers. They may contain inconsistencies, inaccuracies and gaps due to the heterogeneity of the national input data.
https://ec.europa.eu/eurostat/web/gisco/geodata/basic-services.
Basic service datasets:
gisco_get_education()
health_benelux <- gisco_get_healthcare( country = c("BE", "NL", "LU"), year = 2023 ) # Plot if downloaded. if (!is.null(health_benelux)) { benelux <- gisco_get_countries(country = c("BE", "NL", "LU")) library(ggplot2) ggplot(benelux) + geom_sf(fill = "grey10", color = "grey20") + geom_sf( data = health_benelux, color = "red", size = 0.2, alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Healthcare services", subtitle = "Benelux (2023)", caption = "Source: Eurostat, Healthcare 2023 dataset." ) + coord_sf(crs = 3035) }health_benelux <- gisco_get_healthcare( country = c("BE", "NL", "LU"), year = 2023 ) # Plot if downloaded. if (!is.null(health_benelux)) { benelux <- gisco_get_countries(country = c("BE", "NL", "LU")) library(ggplot2) ggplot(benelux) + geom_sf(fill = "grey10", color = "grey20") + geom_sf( data = health_benelux, color = "red", size = 0.2, alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Healthcare services", subtitle = "Benelux (2023)", caption = "Source: Eurostat, Healthcare 2023 dataset." ) + coord_sf(crs = 3035) }
Local Administrative Units are the building blocks of NUTS and other
statistical regions. They comprise municipalities and communes in the
European Statistical System. See gisco_get_communes() for the separate
commune dataset.
gisco_get_lau( year = 2024, epsg = 4326, cache = deprecated(), update_cache = FALSE, cache_dir = NULL, verbose = FALSE, country = NULL, gisco_id = NULL, ext = "gpkg" )gisco_get_lau( year = 2024, epsg = 4326, cache = deprecated(), update_cache = FALSE, cache_dir = NULL, verbose = FALSE, country = NULL, gisco_id = NULL, ext = "gpkg" )
year |
A character string or numeric value with the release year of the
file. One of
|
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
|
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
gisco_id |
An optional character vector of |
ext |
A character value with the extension of the file (default
|
The Nomenclature of Territorial Units for Statistics (NUTS) and the LAU nomenclature are hierarchical classifications of statistical regions that together subdivide the EU economic territory into regions of five different levels, moving from larger to smaller territorial units: NUTS 1, 2 and 3 and LAU.
The LAU classification is not covered by any legislative act. Geographical extent covers the European Union, EFTA countries and candidate countries. The scale of the dataset is 1:100 000.
The data contain the National Statistical Agency LAU code, which can be
joined to LAU lists. They also contain a GISCO_ID field, which is a
unique identifier consisting of the country code and LAU code.
Total resident population figures (31 December) have also been added in some versions based on the associated LAU lists.
A sf object.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
GISCO Local Administrative Units distribution API: https://gisco-services.ec.europa.eu/distribution/v2/lau/.
See gisco_bulk_download() to perform a bulk download of datasets.
See gisco_id_api_lau() to download via GISCO ID service API.
Statistical unit datasets:
gisco_get_census(),
gisco_get_coastal_lines(),
gisco_get_nuts(),
gisco_get_urban_audit()
## Not run: lu_lau <- gisco_get_lau(year = 2024, country = "Luxembourg") if (!is.null(lu_lau)) { library(ggplot2) ggplot(lu_lau) + geom_sf(aes(fill = POP_DENS_2024)) + labs( title = "Population density in Luxembourg", subtitle = "Year 2024", caption = gisco_attributions() ) + scale_fill_viridis_b( option = "cividis", label = \(x) prettyNum(x, big.mark = ",") ) + theme_void() + labs(fill = "pop/km2") } ## End(Not run)## Not run: lu_lau <- gisco_get_lau(year = 2024, country = "Luxembourg") if (!is.null(lu_lau)) { library(ggplot2) ggplot(lu_lau) + geom_sf(aes(fill = POP_DENS_2024)) + labs( title = "Population density in Luxembourg", subtitle = "Year 2024", caption = gisco_attributions() ) + scale_fill_viridis_b( option = "cividis", label = \(x) prettyNum(x, big.mark = ",") ) + theme_void() + labs(fill = "pop/km2") } ## End(Not run)
Get a table with names and IDs of administrative and statistical units.
gisco_get_metadata( id = c("nuts", "countries", "urban_audit"), year = 2024, verbose = FALSE )gisco_get_metadata( id = c("nuts", "countries", "urban_audit"), year = 2024, verbose = FALSE )
id |
A character string with the unit type to download. Accepted values
are |
year |
A character string or numeric value with the release year of the metadata. |
verbose |
A logical value indicating whether to display informational messages. |
A tibble.
https://gisco-services.ec.europa.eu/distribution/v2/.
gisco_bulk_download() for bulk downloads and
gisco_get_unit for single-unit downloads.
GISCO database and metadata:
gisco_db,
gisco_get_cached_db()
cities <- gisco_get_metadata(id = "urban_audit", year = 2020) citiescities <- gisco_get_metadata(id = "urban_audit", year = 2020) cities
The GISCO statistical unit dataset represents the NUTS (nomenclature of territorial units for statistics) and statistical regions by means of multipart polygon, polyline and point topology. The NUTS geographical information is completed by attribute tables and a set of cartographic help lines to better visualize multipart polygonal regions.
NUTS is a hierarchical system divided into three levels:
NUTS 1: major socio-economic regions.
NUTS 2: basic regions for the application of regional policies.
NUTS 3: small regions for specific diagnoses.
There is also a NUTS 0 level, which usually corresponds to national boundaries.
Downloads data from the aggregated GISCO NUTS file, which contains data for
all countries at the requested NUTS level or levels. To download single-unit
NUTS files, use gisco_get_unit_nuts().
gisco_get_nuts( year = 2024, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = 20, spatialtype = "RG", country = NULL, nuts_id = NULL, nuts_level = c("all", "0", "1", "2", "3"), ext = "gpkg" )gisco_get_nuts( year = 2024, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = 20, spatialtype = "RG", country = NULL, nuts_id = NULL, nuts_level = c("all", "0", "1", "2", "3"), ext = "gpkg" )
year |
A character string or numeric value with the release year of the
file. One of
|
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
resolution |
A character string or numeric value with the geospatial data resolution. One of:
|
spatialtype |
A character string with the type of geometry to return. Options available are:
|
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
nuts_id |
An optional character vector of NUTS IDs. |
nuts_level |
A character string with the NUTS level. One of |
ext |
A character value with the extension of the file (default
|
The NUTS nomenclature is a hierarchical classification of statistical regions and subdivides the EU economic territory into regions of three different levels (NUTS 1, 2 and 3, moving respectively from larger to smaller territorial units). NUTS 1 is the most aggregated level. Additional country-level NUTS 0 data are also available for countries where the statistical national level does not coincide with the administrative boundaries.
NUTS legislation is amended periodically, so GISCO provides multiple classification vintages. A non-official NUTS-like classification is defined for EFTA countries, candidate countries and potential candidates based on bilateral agreements between Eurostat and the respective statistical agencies.
An introduction to the NUTS classification is available here: https://ec.europa.eu/eurostat/web/nuts/overview.
A sf object.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
GISCO NUTS distribution API: https://gisco-services.ec.europa.eu/distribution/v2/nuts/.
gisco_nuts_2024, eurostat::get_eurostat_geospatial().
See gisco_bulk_download() to perform a bulk download of datasets.
See gisco_get_unit_nuts() to download single-unit files.
See gisco_id_api_nuts() to download via GISCO ID service API.
Statistical unit datasets:
gisco_get_census(),
gisco_get_coastal_lines(),
gisco_get_lau(),
gisco_get_urban_audit()
nuts2 <- gisco_get_nuts(nuts_level = 2) library(ggplot2) ggplot(nuts2) + geom_sf() + # ETRS89 / ETRS-LAEA coord_sf( crs = 3035, xlim = c(2377294, 7453440), ylim = c(1313597, 5628510) ) + labs(title = "NUTS 2 levels") # NUTS 3 for Germany. germany_nuts3 <- gisco_get_nuts(nuts_level = 3, country = "Germany") ggplot(germany_nuts3) + geom_sf() + labs( title = "NUTS 3 levels", subtitle = "Germany", caption = gisco_attributions() ) # Select specific regions select_nuts <- gisco_get_nuts(nuts_id = c("ES2", "FRJ", "FRL", "ITC")) ggplot(select_nuts) + geom_sf(aes(fill = CNTR_CODE)) + scale_fill_viridis_d()nuts2 <- gisco_get_nuts(nuts_level = 2) library(ggplot2) ggplot(nuts2) + geom_sf() + # ETRS89 / ETRS-LAEA coord_sf( crs = 3035, xlim = c(2377294, 7453440), ylim = c(1313597, 5628510) ) + labs(title = "NUTS 2 levels") # NUTS 3 for Germany. germany_nuts3 <- gisco_get_nuts(nuts_level = 3, country = "Germany") ggplot(germany_nuts3) + geom_sf() + labs( title = "NUTS 3 levels", subtitle = "Germany", caption = gisco_attributions() ) # Select specific regions select_nuts <- gisco_get_nuts(nuts_id = c("ES2", "FRJ", "FRL", "ITC")) ggplot(select_nuts) + geom_sf(aes(fill = CNTR_CODE)) + scale_fill_viridis_d()
This dataset includes port locations worldwide. The ports are identified following the UN LOCODE list.
gisco_get_ports( year = c(2013, 2009), country = NULL, cache_dir = NULL, update_cache = FALSE, verbose = FALSE )gisco_get_ports( year = c(2013, 2009), country = NULL, cache_dir = NULL, update_cache = FALSE, verbose = FALSE )
year |
A character string or numeric value with the release year of the
file. One of
|
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
verbose |
A logical value indicating whether to display informational messages. |
The returned object is transformed to EPSG:4326.
gisco_get_ports() adds a new field, CNTR_ISO2, to identify the country
of the port.
A sf object.
See the Eurostat general copyright and licence provisions: https://ec.europa.eu/eurostat/web/gisco/geodata.
https://ec.europa.eu/eurostat/web/gisco/geodata/transport-networks.
Transport network datasets:
gisco_get_airports()
library(sf) ports <- gisco_get_ports(2013) coast <- giscoR::gisco_coastal_lines if (!is.null(ports)) { library(ggplot2) ggplot(coast) + geom_sf(fill = "grey10", color = "grey20") + geom_sf( data = ports, color = "#6bb857", size = 0.2, alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Ports worldwide", subtitle = "Year 2013", caption = "Source: Eurostat, Ports 2013 dataset." ) + coord_sf(crs = "ESRI:54030") }library(sf) ports <- gisco_get_ports(2013) coast <- giscoR::gisco_coastal_lines if (!is.null(ports)) { library(ggplot2) ggplot(coast) + geom_sf(fill = "grey10", color = "grey20") + geom_sf( data = ports, color = "#6bb857", size = 0.2, alpha = 0.25 ) + theme_void() + theme( plot.background = element_rect(fill = "black"), text = element_text(color = "white"), panel.grid = element_blank(), plot.title = element_text(face = "bold", hjust = 0.5), plot.subtitle = element_text(face = "italic", hjust = 0.5) ) + labs( title = "Ports worldwide", subtitle = "Year 2013", caption = "Source: Eurostat, Ports 2013 dataset." ) + coord_sf(crs = "ESRI:54030") }
The postal code point dataset shows the location of postal codes, NUTS codes and the degree of urbanisation classification across the EU, EFTA and candidate countries. Its primary purpose is to create correspondence tables for the NUTS classification established by Regulation (EC) No 1059/2003 as part of the Tercet Regulation (EU) 2017/2391.
gisco_get_postal_codes( year = 2025, epsg = 4326, country = NULL, cache_dir = NULL, update_cache = FALSE, verbose = FALSE, ext = "gpkg" )gisco_get_postal_codes( year = 2025, epsg = 4326, country = NULL, cache_dir = NULL, update_cache = FALSE, verbose = FALSE, ext = "gpkg" )
year |
A character string or numeric value with the release year of the
file. One of
|
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
verbose |
A logical value indicating whether to display informational messages. |
ext |
A character value with the extension of the file (default
|
The GISCO distribution API provides postal code releases for 2025, 2024 and 2020. The 2025 release has a reference date of 1 January 2025.
A sf object.
The dataset is released under the CC-BY-SA-4.0 license. Although the distribution API provides a 2025 release, the official GISCO licensing page currently requires the following attribution: © European Union - GISCO, 2024, postal code point dataset, Licence CC-BY-SA 4.0.
This dataset is not covered by gisco_attributions(). Use the attribution
specified above until GISCO publishes revised licensing text.
Non-geographical postal codes, such as post boxes and codes used by large organizations, are not included. The dataset may omit or incorrectly locate postal codes because the source data vary considerably among countries.
GISCO administrative units: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
GISCO postal code distribution API: https://gisco-services.ec.europa.eu/distribution/v2/pcode/.
See gisco_bulk_download() to perform a bulk download of datasets.
Administrative unit datasets:
gisco_get_communes(),
gisco_get_countries()
# Large download. ## Not run: pc_bel <- gisco_get_postal_codes(year = 2025, country = "BE") if (!is.null(pc_bel)) { library(ggplot2) ggplot(pc_bel) + geom_sf(color = "gold") + theme_bw() + labs( title = "Postcodes of Belgium", subtitle = "2025", caption = paste("\u00a9 European Union - GISCO, 2024,", "postal code point dataset", "Licence CC-BY-SA 4.0", sep = "\n" ) ) } ## End(Not run)# Large download. ## Not run: pc_bel <- gisco_get_postal_codes(year = 2025, country = "BE") if (!is.null(pc_bel)) { library(ggplot2) ggplot(pc_bel) + geom_sf(color = "gold") + theme_bw() + labs( title = "Postcodes of Belgium", subtitle = "2025", caption = paste("\u00a9 European Union - GISCO, 2024,", "postal code point dataset", "Licence CC-BY-SA 4.0", sep = "\n" ) ) } ## End(Not run)
Download datasets of single spatial units from GISCO to the
cache_dir.
Unlike gisco_get_countries(), gisco_get_nuts() or
gisco_get_urban_audit() (which download full datasets and apply filters),
these functions download a single-unit file, reducing the time
needed to download and read data into your R session.
gisco_get_unit_country( unit = "ES", year = 2024, epsg = c(4326, 3857, 3035), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = c(1, 3, 10, 20, 60), spatialtype = c("RG", "LB") ) gisco_get_unit_nuts( unit = "ES416", year = 2024, epsg = c(4326, 3857, 3035), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = c(1, 3, 10, 20, 60), spatialtype = c("RG", "LB") ) gisco_get_unit_urban_audit( unit = "ES001F", year = 2024, epsg = c(4326, 3857, 3035), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, spatialtype = c("RG", "LB") )gisco_get_unit_country( unit = "ES", year = 2024, epsg = c(4326, 3857, 3035), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = c(1, 3, 10, 20, 60), spatialtype = c("RG", "LB") ) gisco_get_unit_nuts( unit = "ES416", year = 2024, epsg = c(4326, 3857, 3035), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, resolution = c(1, 3, 10, 20, 60), spatialtype = c("RG", "LB") ) gisco_get_unit_urban_audit( unit = "ES001F", year = 2024, epsg = c(4326, 3857, 3035), cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, spatialtype = c("RG", "LB") )
unit |
A character vector of unit IDs to download. See Details. |
year |
A character string or numeric value with the release year of the file. |
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
resolution |
A character string or numeric value with the geospatial data resolution. One of:
|
spatialtype |
A character string with the type of geometry to return. Options available are:
|
Check the available unit IDs for the required argument combination with
gisco_get_metadata().
A sf object.
See the GISCO copyright provisions for administrative and statistical units:
Administrative units: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
Statistical units: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
GISCO countries distribution API: https://gisco-services.ec.europa.eu/distribution/v2/countries/.
GISCO NUTS distribution API: https://gisco-services.ec.europa.eu/distribution/v2/nuts/.
GISCO Urban Audit distribution API: https://gisco-services.ec.europa.eu/distribution/v2/urau/.
All source files are .geojson files.
gisco_get_metadata(), gisco_get_countries(),
gisco_get_nuts(), gisco_get_urban_audit().
See gisco_id_api to download via GISCO ID service API.
Bulk and single-unit downloads:
gisco_bulk_download()
# Get metadata. cities <- gisco_get_metadata("urban_audit", year = 2024) # Valencia, Spain. valencia <- cities[grep("Valencia", cities$URAU_NAME, fixed = TRUE), ] valencia library(dplyr) # Get `sf` objects and order by `AREA_SQM`. valencia_sf <- gisco_get_unit_urban_audit( unit = valencia$URAU_CODE, year = 2024 ) |> arrange(desc(AREA_SQM)) # Plot. library(ggplot2) ggplot(valencia_sf) + geom_sf(aes(fill = URAU_CATG)) + scale_fill_viridis_d() + labs( title = "Valencia", subtitle = "Urban Audit 2020", fill = "Category" )# Get metadata. cities <- gisco_get_metadata("urban_audit", year = 2024) # Valencia, Spain. valencia <- cities[grep("Valencia", cities$URAU_NAME, fixed = TRUE), ] valencia library(dplyr) # Get `sf` objects and order by `AREA_SQM`. valencia_sf <- gisco_get_unit_urban_audit( unit = valencia$URAU_CODE, year = 2024 ) |> arrange(desc(AREA_SQM)) # Plot. library(ggplot2) ggplot(valencia_sf) + geom_sf(aes(fill = URAU_CATG)) + scale_fill_viridis_d() + labs( title = "Valencia", subtitle = "Urban Audit 2020", fill = "Category" )
This dataset contains the boundaries of cities ("CITIES"), greater cities
("GREATER_CITIES") and functional urban areas ("FUA") defined according
to the EC-OECD city definition. It is used for the Eurostat Urban Audit data
collection.
Downloads data from the aggregated GISCO Urban Audit file. To download
single-unit Urban Audit files, use gisco_get_unit_urban_audit().
gisco_get_urban_audit( year = 2024, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, spatialtype = c("RG", "LB"), country = NULL, level = c("all", "CITIES", "FUA", "GREATER_CITIES", "CITY", "KERN", "LUZ"), ext = "gpkg" )gisco_get_urban_audit( year = 2024, epsg = 4326, cache = TRUE, update_cache = FALSE, cache_dir = NULL, verbose = FALSE, spatialtype = c("RG", "LB"), country = NULL, level = c("all", "CITIES", "FUA", "GREATER_CITIES", "CITY", "KERN", "LUZ"), ext = "gpkg" )
year |
A character string or numeric value with the release year of the
file. One of
|
epsg |
A character string or numeric value with the coordinate reference system as a 4-digit EPSG code. One of:
|
cache |
A logical value indicating whether to cache results. Defaults
to |
update_cache |
A logical value indicating whether to refresh the
cached file. Defaults to |
cache_dir |
A character string with a path to a cache directory. See
Caching strategies section in |
verbose |
A logical value indicating whether to display informational messages. |
spatialtype |
A character string with the type of geometry to return. Options available are:
|
country |
A character vector of country codes. It can be either a
vector of country names, a vector of ISO 3166-1 alpha-3 country codes or a
vector of Eurostat country codes. See also |
level |
A character string with the Urban Audit level. Possible values
are |
ext |
A character value with the extension of the file (default
|
For more information, see: Eurostat - Statistics Explained.
Cities are defined at several conceptual levels:
The core city ("CITIES"), using an administrative definition.
The Functional Urban Area/Large Urban Zone ("FUA"), approximating the
functional urban region.
Coverage includes the EU, Iceland, Norway and Switzerland. The dataset
includes polygon features, point features and a related attribute table
which can be joined on the URAU code field.
The "URAU_CATG" field defines the Urban Audit category:
"C" = City.
"F" = Functional urban area service type.
A sf object.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
GISCO Urban Audit distribution API: https://gisco-services.ec.europa.eu/distribution/v2/urau/.
See gisco_bulk_download() to perform a bulk download of datasets.
See gisco_get_unit_urban_audit() to download single-unit files.
Statistical unit datasets:
gisco_get_census(),
gisco_get_coastal_lines(),
gisco_get_lau(),
gisco_get_nuts()
cities <- gisco_get_urban_audit(year = 2024, level = "CITIES") if (!is.null(cities)) { bcn <- cities[cities$URAU_NAME == "Barcelona", ] library(ggplot2) ggplot(bcn) + geom_sf() }cities <- gisco_get_urban_audit(year = 2024, level = "CITIES") if (!is.null(cities)) { bcn <- cities[cities$URAU_NAME == "Barcelona", ] library(ggplot2) ggplot(bcn) + geom_sf() }
Functions to interact with the GISCO ID service API, which returns attributes and, optionally, geometry for different datasets at specified longitude and latitude coordinates.
Each available endpoint is implemented through a specific function. See Details.
gisco_id_api_geonames( x = NULL, y = NULL, xmin = NULL, ymin = NULL, xmax = NULL, ymax = NULL, verbose = FALSE ) gisco_id_api_nuts( x = NULL, y = NULL, year = 2024, epsg = c(4326, 4258, 3035), verbose = FALSE, nuts_id = NULL, nuts_level = NULL, geometry = TRUE ) gisco_id_api_lau( x, y, year = 2024, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_country( x, y, year = 2024, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_river_basin( x, y, year = 2019, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_biogeo_region( x, y, year = 2016, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_census_grid( x, y, year = 2021, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE )gisco_id_api_geonames( x = NULL, y = NULL, xmin = NULL, ymin = NULL, xmax = NULL, ymax = NULL, verbose = FALSE ) gisco_id_api_nuts( x = NULL, y = NULL, year = 2024, epsg = c(4326, 4258, 3035), verbose = FALSE, nuts_id = NULL, nuts_level = NULL, geometry = TRUE ) gisco_id_api_lau( x, y, year = 2024, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_country( x, y, year = 2024, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_river_basin( x, y, year = 2019, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_biogeo_region( x, y, year = 2016, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE ) gisco_id_api_census_grid( x, y, year = 2021, epsg = c(4326, 4258, 3035), verbose = FALSE, geometry = TRUE )
x, y
|
A character string or numeric value with the longitude and latitude coordinates to identify. |
xmin, ymin, xmax, ymax
|
A character string or numeric value with bounding box coordinates to identify all geonames within the box. |
verbose |
A logical value indicating whether to display informational messages. |
year |
A character string or numeric value with the dataset year, see Details. |
epsg |
A character string or numeric value with the EPSG code for the coordinate reference system. |
nuts_id |
A character value with the NUTS ID code. |
nuts_level |
A character string with the NUTS level. One of |
geometry |
A logical value indicating whether to return geometry. If
|
The available endpoints are:
gisco_id_api_geonames(): Get geographic placenames from longitude and
latitude coordinates or a bounding box.
gisco_id_api_nuts(): Return NUTS regions from longitude and latitude
coordinates or an ID. Accepted values for year are
are "2024", "2021", "2016", "2013", "2010", "2006".
gisco_id_api_lau(): Return the ID and, optionally, geometry for Local
Administrative Units (LAU) at specified longitude and latitude coordinates.
Accepted values for year are
are "2024", "2023", "2022", "2021", "2020", "2019", "2018", "2017", "2016", "2015", "2014", "2013", "2012", "2011".
gisco_id_api_country(): Return the ID and, optionally, geometry for
countries at specified longitude and latitude coordinates. Accepted values
for year are
are "2024", "2020", "2016", "2013", "2010", "2006".
gisco_id_api_river_basin(): Return the ID and, optionally, geometry
for river basins at specified longitude and latitude coordinates, based on
the Water Framework Directive (WFD) reference spatial datasets. Accepted
values for year are
are "2024", "2023", "2022", "2021", "2020", "2019".
gisco_id_api_biogeo_region(): Return the ID and, optionally,
geometry for biogeographical regions at specified longitude and latitude
coordinates. The biogeographical regions dataset contains the official
delineations used in the Habitats Directive (92/43/EEC) and for the
EMERALD Network. Accepted values for year are
is "2016".
gisco_id_api_census_grid(): Return the ID and, optionally, geometry
for census grid cells at specified longitude and latitude coordinates.
Accepted values for year are
is "2021".
https://gisco-services.ec.europa.eu/id/api-docs/.
gisco_get_nuts(), gisco_get_lau(), gisco_get_countries(),
gisco_get_census().
GISCO API tools:
gisco_address_api
gisco_id_api_geonames(x = -2.5, y = 43.06) lau <- gisco_id_api_lau(x = -2.5, y = 43.06) nuts3 <- gisco_id_api_nuts(x = -2.5, y = 43.06, nuts_level = 3) if (all(!is.null(lau), !is.null(nuts3))) { library(ggplot2) ggplot(nuts3) + geom_sf(fill = "lightblue", color = "black") + geom_sf(data = lau, fill = "orange", color = "red") + labs( title = "NUTS 3 and LAU boundaries", subtitle = "Arrasate, Basque Country, Spain", caption = "Source: GISCO ID service API" ) }gisco_id_api_geonames(x = -2.5, y = 43.06) lau <- gisco_id_api_lau(x = -2.5, y = 43.06) nuts3 <- gisco_id_api_nuts(x = -2.5, y = 43.06, nuts_level = 3) if (all(!is.null(lau), !is.null(nuts3))) { library(ggplot2) ggplot(nuts3) + geom_sf(fill = "lightblue", color = "black") + geom_sf(data = lau, fill = "orange", color = "red") + labs( title = "NUTS 3 and LAU boundaries", subtitle = "Arrasate, Basque Country, Spain", caption = "Source: GISCO ID service API" ) }
sf objectThis dataset represents the regions for levels 0, 1, 2 and 3 of the Nomenclature of Territorial Units for Statistics (NUTS) for 2024.
A sf object with MULTIPOLYGON geometries, resolution:
1:20 million and EPSG:4326. It has
1798 rows and 10 variables:
NUTS_IDNUTS identifier.
LEVL_CODENUTS level code (0,1,2,3).
CNTR_CODEEurostat country code.
NAME_LATNNUTS name in Latin characters.
NUTS_NAMENUTS name in the local alphabet.
MOUNT_TYPEMountain type, see Details.
URBN_TYPEUrban type, see Details.
COAST_TYPECoastal type, see Details.
geoSame value as NUTS_ID, provided for compatibility with
eurostat.
geometryGeometry field.
MOUNT_TYPE: Mountain typology:
1: More than 50 % of the surface is covered by topographic mountain
areas.
2: More than 50 % of the regional population lives in topographic
mountain areas.
3: More than 50 % of the surface is covered by topographic mountain
areas and where more than 50 % of the regional population lives in these
mountain areas.
4: Non-mountain region / other regions.
0: No classification provided.
URBN_TYPE: Urban-rural typology:
1: Predominantly urban region.
2: Intermediate region.
3: Predominantly rural region.
0: No classification provided.
COAST_TYPE: Coastal typology:
1: Coastal (on coast).
2: Coastal (less than 50 % of population living within 50 km of the
coastline).
3: Non-coastal region.
0: No classification provided.
See the GISCO statistical unit copyright provisions: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
Check the download and usage provisions in gisco_attributions().
NUTS_RG_20M_2024_4326.gpkg file.
Included datasets:
gisco_coastal_lines,
gisco_countries_2024,
gisco_countrycode,
gisco_db
data("gisco_nuts_2024") head(gisco_nuts_2024)data("gisco_nuts_2024") head(gisco_nuts_2024)
Stores your cache_dir path on your local machine and loads it in future
sessions. Use Sys.getenv("GISCO_CACHE_DIR") or
gisco_detect_cache_dir() to find your cached path.
gisco_set_cache_dir( cache_dir = NULL, overwrite = FALSE, install = FALSE, verbose = TRUE ) gisco_detect_cache_dir()gisco_set_cache_dir( cache_dir = NULL, overwrite = FALSE, install = FALSE, verbose = TRUE ) gisco_detect_cache_dir()
cache_dir |
A path to a cache directory. If |
overwrite |
If |
install |
If |
verbose |
A logical value indicating whether to display informational messages. |
By default, when no cache cache_dir is set, the package uses a folder
inside base::tempdir() (so files are temporary and are removed when the
R session ends). To persist a cache across R sessions, use
gisco_set_cache_dir(cache_dir, install = TRUE), which writes the chosen
path to a small configuration file under
tools::R_user_dir("giscoR", "config").
gisco_set_cache_dir() invisibly returns a character string with the path
to your cache_dir, but it is mainly called for its side effect.
gisco_detect_cache_dir() returns the path to the cache_dir used in this
session.
Some files can be read from their online source without caching using the
option cache = FALSE. Otherwise the source file is downloaded to
your computer. giscoR implements the following caching options:
For occasional use, rely on the default tempdir()-based cache (no
install).
Modify the cache for a single session by setting
gisco_set_cache_dir(cache_dir = "a/path/here").
For reproducible workflows, install a persistent cache with
gisco_set_cache_dir(cache_dir = "a/path/here", install = TRUE), which
keeps the path across R sessions.
For caching specific files, use the cache_dir argument in the
corresponding function. See example in gisco_get_nuts().
Sometimes cached files may be corrupt. In that case, try downloading the
data by setting update_cache = TRUE in the corresponding function.
If you experience a download problem, try to download the corresponding
file by another method and save it in your cache_dir. Use
verbose = TRUE to debug the API query and gisco_detect_cache_dir() to
identify your cached path.
In giscoR >= 1.0.0 the location of the configuration file has
moved from rappdirs::user_config_dir("giscoR", "R") to
tools::R_user_dir("giscoR", "config"). We have implemented a function
that migrates previous configuration files from one location to another
with a message. The message appears only once to inform you of the
migration.
Cache management utilities:
gisco_clear_cache()
# Do not run this. It modifies your current state. ## Not run: my_cache <- gisco_detect_cache_dir() # Set an example cache. ex <- file.path(tempdir(), "example", "cachenew") gisco_set_cache_dir(ex) gisco_detect_cache_dir() # Restore the initial cache. gisco_set_cache_dir(my_cache) identical(my_cache, gisco_detect_cache_dir()) ## End(Not run) gisco_detect_cache_dir()# Do not run this. It modifies your current state. ## Not run: my_cache <- gisco_detect_cache_dir() # Set an example cache. ex <- file.path(tempdir(), "example", "cachenew") gisco_set_cache_dir(ex) gisco_detect_cache_dir() # Restore the initial cache. gisco_set_cache_dir(my_cache) identical(my_cache, gisco_detect_cache_dir()) ## End(Not run) gisco_detect_cache_dir()