| Type: | Package |
| Title: | Download 'Eurostat' 'GISCO' Spatial Data |
| Version: | 1.1.1 |
| 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'. |
| License: | GPL-3 |
| URL: | https://ropengov.github.io/giscoR/, https://github.com/rOpenGov/giscoR |
| BugReports: | https://github.com/rOpenGov/giscoR/issues |
| Depends: | R (≥ 4.1) |
| Imports: | cli, countrycode (≥ 1.2.0), httr2 (≥ 1.2.0), jsonlite, lifecycle, rappdirs (≥ 0.3.0), sf (≥ 1.0.0), tibble, tools, utils |
| Suggests: | dplyr, eurostat, ggplot2 (≥ 3.5.0), knitr, quarto, stats, testthat (≥ 3.0.0), withr |
| VignetteBuilder: | quarto |
| Config/roxygen2/markdown: | TRUE |
| Config/roxygen2/version: | 8.0.0 |
| Config/testthat/edition: | 3 |
| Config/testthat/parallel: | true |
| Copyright: | The general copyright notice and license policy from Eurostat applies (see file COPYRIGHTS). Some datasets have additional download and usage provisions. See <https://ec.europa.eu/eurostat/web/gisco/geodata>. |
| Encoding: | UTF-8 |
| LazyData: | true |
| X-schema.org-applicationCategory: | cartography |
| X-schema.org-isPartOf: | http://ropengov.org/ |
| X-schema.org-keywords: | ropengov, r, spatial, api-wrapper, rstats, r-package, eurostat, gisco, thematic-maps, eurostat-data, cran, ggplot2, gis, cran-r |
| NeedsCompilation: | no |
| Packaged: | 2026-06-16 20:09:45 UTC; diego |
| Author: | Diego Hernangómez |
| Maintainer: | Diego Hernangómez <diego.hernangomezherrero@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-06-17 05:10:15 UTC |
giscoR: 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'.
Author(s)
Maintainer: Diego Hernangómez diego.hernangomezherrero@gmail.com (ORCID) [copyright holder]
Authors:
Diego Hernangómez diego.hernangomezherrero@gmail.com (ORCID) [copyright holder]
Other contributors:
Eurostat (ROR) [copyright holder]
EuroGeographics [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/rOpenGov/giscoR/issues
GISCO Address API
Description
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.
Usage
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)
Arguments
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. If |
x, y |
Longitude and latitude coordinates to convert into a human-readable address. |
Details
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. |
Value
A tibble in most cases, except
gisco_address_api_search(), gisco_address_api_reverse() and
gisco_address_api_bbox(), which return a sf object.
Source
https://gisco-services.ec.europa.eu/addressapi/docs/screen/home.
See Also
See the GISCO Address API documentation at https://gisco-services.ec.europa.eu/addressapi/docs/screen/home.
Other API tools:
gisco_id_api
Examples
# 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 = "ES", city = "BARCELONA",
road = "GRACIA"
)
struct
# Reverse geocoding.
reverse <- gisco_address_api_reverse(x = struct$X[1], y = struct$Y[1])
reverse
Attribution for administrative and statistical GISCO data
Description
Get the legal text to use for administrative and statistical data downloaded from GISCO. See section Copyright information.
For other datasets you may follow the Eurostat general copyright notice and license policy.
Usage
gisco_attributions(lang = "en", copyright = FALSE)
Arguments
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. |
Details
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.
Value
A string with the attribution to be used.
Copyright information
The provisions described in this section apply to administrative and statistical data provided by the following functions:
Administrative units
Statistical units
Copyright notice
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.
Examples
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 geodata bulk download
Description
Download zipped data from GISCO to the cache_dir
and extract the relevant files.
Usage
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(),
...
)
Arguments
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. If |
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 |
Details
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).
Value
An invisible character vector with the full path of the files extracted. See Examples.
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
See Also
Single-unit and additional download utilities:
gisco_get_unit
Examples
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)
Check access to the GISCO geodata distribution
Description
Check if R has access to resources at https://gisco-services.ec.europa.eu/distribution/v2/.
Usage
gisco_check_access()
Value
A logical.
Examples
gisco_check_access()
Clear your giscoR cache directory
Description
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_dirdirectory.Deletes the value stored in
Sys.getenv("GISCO_CACHE_DIR").
Usage
gisco_clear_cache(config = FALSE, cached_data = TRUE, verbose = FALSE)
Arguments
config |
If |
cached_data |
If |
verbose |
A logical value. If |
Details
Fully resets your cache state as if you had never installed or used giscoR.
Value
Invisible. Called for its side effects.
See Also
Other cache utilities:
gisco_set_cache_dir()
Examples
# 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)
Coastal lines 2016 sf object
Description
This object contains the coastal lines of the world.
Format
A sf object with POLYGON geometries, resolution:
1:20 million and EPSG:4326.
Source
COAS_RG_20M_2016_4326.gpkg file.
See Also
Other datasets:
gisco_countries_2024,
gisco_countrycode,
gisco_db,
gisco_nuts_2024
Examples
library(sf)
data("gisco_coastal_lines")
gisco_coastal_lines
Countries 2024 sf object
Description
This object contains world administrative boundaries at the country level.
Format
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.
Source
CNTR_RG_20M_2024_4326.gpkg file.
See Also
Other datasets:
gisco_coastal_lines,
gisco_countrycode,
gisco_db,
gisco_nuts_2024
Examples
data("gisco_countries_2024")
head(gisco_countries_2024)
Database with different country code schemes and world regions
Description
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.
Format
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.
World Regions
Regions follow the UN geographic regions (see https://unstats.un.org/unsd/methodology/m49/). Under this scheme Cyprus is assigned to Asia.
Source
countrycode::codelist v1.6.1.
See Also
gisco_get_countries(), countrycode::codelist.
See also Unicode Common Locale Data Repository.
Other datasets:
gisco_coastal_lines,
gisco_countries_2024,
gisco_db,
gisco_nuts_2024
Examples
data("gisco_countrycode")
dplyr::glimpse(gisco_countrycode)
Cached GISCO database
Description
Database with the list of files in the GISCO geodata distribution as of 2026-01-12.
Format
A tibble with 9,714 rows.
Details
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.
Source
GISCO geodata distribution datasets.json.
See Also
Other datasets:
gisco_coastal_lines,
gisco_countries_2024,
gisco_countrycode,
gisco_nuts_2024
Database utilities:
gisco_get_cached_db(),
gisco_get_metadata()
Examples
data("gisco_db")
gisco_db |>
dplyr::glimpse()
Airports dataset
Description
This dataset includes the location of over 11,800 pan-European airports and heliports. The airports are identified using the International Civil Aviation Organization (ICAO) airport codes.
Usage
gisco_get_airports(
year = c(2013, 2006),
country = NULL,
cache_dir = NULL,
update_cache = FALSE,
verbose = FALSE
)
Arguments
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. If |
Details
Files are distributed in EPSG:4326.
Value
A sf object.
Source
https://ec.europa.eu/eurostat/web/gisco/geodata/transport-networks.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata.
See Also
Transport network datasets:
gisco_get_ports()
Examples
airp <- gisco_get_airports(year = 2013)
coast <- giscoR::gisco_coastal_lines
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 2013",
caption = "Source: Eurostat, Airports 2013 dataset."
) +
# Center on Europe with EPSG 3035.
coord_sf(
crs = 3035,
xlim = c(2377294, 7453440),
ylim = c(1313597, 5628510)
)
}
Retrieve and update the GISCO database used by giscoR
Description
Returns or optionally updates the cached database with endpoints from the GISCO geodata distribution.
Usage
gisco_get_cached_db(update_cache = FALSE)
Arguments
update_cache |
A logical value. If |
Details
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.
Value
A tibble.
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
See Also
Database utilities:
gisco_db,
gisco_get_metadata()
Examples
gisco_get_cached_db() |>
dplyr::glimpse()
Census dataset
Description
This dataset shows pan-European communal boundaries for the corresponding census.
Usage
gisco_get_census(
year = 2011,
cache_dir = NULL,
update_cache = FALSE,
verbose = FALSE,
spatialtype = c("RG", "PT")
)
Arguments
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. If |
spatialtype |
The type of geometry to return:
|
Value
A sf object.
Source
https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units/census.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
See Also
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()
Examples
library(sf)
pts <- gisco_get_census(spatialtype = "PT")
pts
Coastal lines dataset
Description
Download global coastal lines.
Usage
gisco_get_coastal_lines(
year = 2016,
epsg = 4326,
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
resolution = 20,
ext = "gpkg"
)
Arguments
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. If |
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
|
Value
A sf object.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
See Also
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()
Examples
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)
)
Communes dataset
Description
This dataset shows pan-European administrative boundaries down to commune
level. Communes are equivalent to Local Administrative Units. See
gisco_get_lau().
Usage
gisco_get_communes(
year = 2016,
epsg = 4326,
cache = deprecated(),
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
spatialtype = "RG",
country = NULL,
ext = "shp"
)
Arguments
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. If |
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
|
Details
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.
Value
A sf object.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
See Also
See gisco_bulk_download() to perform a bulk download of datasets.
Administrative unit datasets:
gisco_get_countries(),
gisco_get_postal_codes()
Examples
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"
))
}
Countries dataset
Description
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().
Usage
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"
)
Arguments
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. If |
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
|
Value
A sf object.
World Regions
Regions follow the UN geographic regions (see https://unstats.un.org/unsd/methodology/m49/). Under this scheme Cyprus is assigned to Asia.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
See Also
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()
Examples
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()
Education services in Europe
Description
This dataset integrates Member States' official data on the location of education services. Additional information on these services is included when available. See Details.
Usage
gisco_get_education(
year = c(2023, 2020),
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
country = NULL
)
Arguments
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. If |
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 |
Details
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. |
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. |
Value
A sf object.
Source
https://ec.europa.eu/eurostat/web/gisco/geodata/basic-services.
There are no specific download rules for the datasets shown below. However, please refer to the general copyright notice and license provisions, which apply to these datasets. Permission to download and use these data is subject to acceptance of those rules.
The data are extracted from official national registers. They may contain inconsistencies, inaccuracies and gaps due to the heterogeneity of the national input data.
See Also
Basic service datasets:
gisco_get_healthcare()
Examples
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)
}
Grid dataset
Description
These datasets contain grid cells covering the European land territory at resolutions from 1 km to 100 km. Base statistics such as population figures are provided for these cells.
Usage
gisco_get_grid(
resolution = c(100, 50, 20, 10, 5, 2, 1),
spatialtype = c("REGION", "POINT"),
cache_dir = NULL,
update_cache = FALSE,
verbose = FALSE
)
Arguments
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. If |
Details
Files are distributed in EPSG:3035.
The file sizes range from 428 KB (resolution = 100)
to 1.7 GB (resolution = 1).
Value
A sf object.
Source
https://ec.europa.eu/eurostat/web/gisco/geodata/grids.
Specific download provisions apply. See https://ec.europa.eu/eurostat/web/gisco/geodata/grids.
Examples
grid <- gisco_get_grid(resolution = 20)
# Proceed if downloaded correctly.
if (!is.null(grid)) {
library(dplyr)
grid <- grid |>
mutate(popdens = TOT_P_2021 / 20)
breaks <- c(0, 0.1, 100, 500, 1000, 5000, 10000, 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[7] <- "> 10 000"
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 = "people per square kilometer",
labels = cut_labs,
guide = guide_legend(
direction = "horizontal",
nrow = 1
)
) +
theme_void() +
labs(
title = "Population density in Europe (2021)",
subtitle = "Grid: 20 km.",
caption = gisco_attributions()
) +
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.position = "bottom",
legend.title.position = "top",
legend.text.position = "bottom",
legend.key.height = unit(0.5, "lines"),
legend.key.width = unit(1, "lines")
)
}
Healthcare services in Europe
Description
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.
Usage
gisco_get_healthcare(
year = c(2023, 2020),
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
country = NULL
)
Arguments
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. If |
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 |
Details
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. |
Value
A sf object.
Source
https://ec.europa.eu/eurostat/web/gisco/geodata/basic-services.
There are no specific download rules for the datasets shown below. However, please refer to the general copyright notice and license provisions, which apply to these datasets. Permission to download and use these data is subject to acceptance of those rules.
The data are extracted from official national registers. They may contain inconsistencies, inaccuracies and gaps due to the heterogeneity of the national input data.
See Also
Basic service datasets:
gisco_get_education()
Examples
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 (LAU) dataset
Description
This dataset shows pan-European administrative boundaries down to commune
level. Local Administrative Units are equivalent to communes. See
gisco_get_communes().
Usage
gisco_get_lau(
year = 2024,
epsg = 4326,
cache = deprecated(),
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
country = NULL,
gisco_id = NULL,
ext = "gpkg"
)
Arguments
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. If |
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
|
Details
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.
Value
A sf object.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units.
See Also
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()
Examples
## 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 metadata
Description
Get a table with names and IDs of administrative and statistical units.
Usage
gisco_get_metadata(
id = c("nuts", "countries", "urban_audit"),
year = 2024,
verbose = FALSE
)
Arguments
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. If |
Value
A tibble.
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
See Also
gisco_get_nuts(), gisco_get_countries(), gisco_get_urban_audit().
Database utilities:
gisco_db,
gisco_get_cached_db()
Examples
cities <- gisco_get_metadata(id = "urban_audit", year = 2020)
cities
NUTS statistical units dataset
Description
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().
Usage
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"
)
Arguments
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. If |
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
|
Details
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.
The NUTS classification has been officially established through Commission Delegated Regulation 2019/1755. A non-official NUTS-like classification has been defined for the EFTA countries, candidate countries and potential candidates based on a bilateral agreement between Eurostat and the respective statistical agencies.
An introduction to the NUTS classification is available here: https://ec.europa.eu/eurostat/web/nuts/overview.
Value
A sf object.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
See Also
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()
Examples
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()
Ports dataset
Description
This dataset includes the location of over 2,440 pan-European ports. The ports are identified following the UN LOCODE list.
Usage
gisco_get_ports(
year = c(2013, 2009),
country = NULL,
cache_dir = NULL,
update_cache = FALSE,
verbose = FALSE
)
Arguments
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. If |
Details
Files are distributed in EPSG:4326.
gisco_get_ports() adds a new field, CNTR_ISO2, to identify the country
of the port.
Value
A sf object.
Source
https://ec.europa.eu/eurostat/web/gisco/geodata/transport-networks.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata.
See Also
Transport network datasets:
gisco_get_airports()
Examples
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")
}
Postal codes dataset
Description
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 from a variety of sources. Its primary purpose is to create correspondence tables for the NUTS classification (EC) 1059/2003 as part of the Tercet Regulation (EU) 2017/2391.
Usage
gisco_get_postal_codes(
year = 2024,
country = NULL,
cache_dir = NULL,
update_cache = FALSE,
verbose = FALSE,
ext = "gpkg"
)
Arguments
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. If |
ext |
A character value with the extension of the file (default
|
Value
A sf object.
Copyright
The dataset is released under the CC-BY-SA-4.0 license and requires the following attribution whenever used: © European Union - GISCO, 2024, postal code point dataset, License CC-BY-SA 4.0.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
See Also
See gisco_bulk_download() to perform a bulk download of datasets.
Administrative unit datasets:
gisco_get_communes(),
gisco_get_countries()
Examples
# Large download.
## Not run:
pc_bel <- gisco_get_postal_codes(country = "BE")
if (!is.null(pc_bel)) {
library(ggplot2)
ggplot(pc_bel) +
geom_sf(color = "gold") +
theme_bw() +
labs(
title = "Postcodes of Belgium",
subtitle = "2024",
caption = paste("\u00a9 European Union - GISCO, 2024,",
"postal code point dataset",
"License CC-BY-SA 4.0",
sep = "\n"
)
)
}
## End(Not run)
GISCO geodata single-unit download
Description
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.
Usage
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")
)
Arguments
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. If |
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:
|
Details
Check the available unit IDs for the required argument combination with
gisco_get_metadata().
Value
A sf object.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/
All source files are .geojson files.
See Also
gisco_get_metadata(), gisco_get_countries(),
gisco_get_nuts(), gisco_get_urban_audit().
See gisco_id_api to download via GISCO ID service
API.
Single-unit and additional download utilities:
gisco_bulk_download()
Examples
# 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 geospatial unit data from GISCO
Description
Deprecated. Use one of these replacements:
-
gisco_get_metadata()formode = "df". -
?gisco_get_unitfunctions formode = "sf".
Usage
gisco_get_units(
id_giscoR = c("nuts", "countries", "urban_audit"),
unit = "ES4",
mode = c("sf", "df"),
year = 2016,
epsg = 4326,
cache = TRUE,
update_cache = FALSE,
cache_dir = NULL,
verbose = FALSE,
resolution = 20,
spatialtype = "RG"
)
Arguments
id_giscoR |
A character string with the |
unit |
A unit ID to download. |
mode |
A character string controlling the output of the function.
Possible values are |
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. If |
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:
|
Value
A sf object when mode = "sf" or a
tibble when mode = "df".
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/
All source files are .geojson files.
See Also
gisco_get_metadata(), ?gisco_get_unit functions.
Examples
# Equivalent metadata call.
gisco_get_units("nuts", mode = "df", year = 2016)
# ->
gisco_get_metadata("nuts", year = 2016)
# Equivalent `sf` call for NUTS.
gisco_get_units("nuts", unit = "ES111", mode = "sf", year = 2016)
# ->
gisco_get_unit_nuts(unit = "ES111", year = 2016)
Urban Audit dataset
Description
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().
Usage
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"
)
Arguments
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. If |
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
|
Details
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.
Value
A sf object.
Note
Check the download and usage provisions in gisco_attributions().
Source
https://gisco-services.ec.europa.eu/distribution/v2/.
Copyright: https://ec.europa.eu/eurostat/web/gisco/geodata/administrative-units.
See Also
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()
Examples
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()
}
GISCO ID service API
Description
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.
Usage
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
)
Arguments
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. If |
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
|
Details
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 foryearare 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 foryearare 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 foryearare 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 foryearare 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 foryearare 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 foryearare is"2021".
Value
Source
https://gisco-services.ec.europa.eu/id/api-docs/.
See Also
gisco_get_nuts(), gisco_get_lau(), gisco_get_countries(),
gisco_get_census().
Other API tools:
gisco_address_api
Examples
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"
)
}
NUTS 2024 sf object
Description
This dataset represents the regions for levels 0, 1, 2 and 3 of the Nomenclature of Territorial Units for Statistics (NUTS) for 2024.
Format
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.
Details
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.
Source
NUTS_RG_20M_2024_4326.gpkg file.
See Also
Other datasets:
gisco_coastal_lines,
gisco_countries_2024,
gisco_countrycode,
gisco_db
Examples
data("gisco_nuts_2024")
head(gisco_nuts_2024)
Set your giscoR cache directory
Description
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.
Usage
gisco_set_cache_dir(
cache_dir = NULL,
overwrite = FALSE,
install = FALSE,
verbose = TRUE
)
gisco_detect_cache_dir()
Arguments
cache_dir |
A path to a cache directory. If |
overwrite |
If |
install |
If |
verbose |
A logical value. If |
Details
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").
Value
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.
Caching strategies
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_dirargument in the corresponding function. See example ingisco_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.
Note
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.
See Also
Other cache utilities:
gisco_clear_cache()
Examples
# 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()