Skip to content

Latest commit

 

History

History
158 lines (127 loc) · 7.56 KB

README.md

File metadata and controls

158 lines (127 loc) · 7.56 KB

CRAN_Status_Badge Lifecycle

swissgd

This R package is an interface to parts of the Geo-Information Platform of the Swiss Confederation and work-in-progress. It provides functions to search and download geodata from data.geo.admin.ch and wraps around the Spatial Temporal Asset Catalog (STAC) API.

The acquisition and use of data or services is free of charge, subject to the provisions on fair use. For more information, please see the Terms of Use.

Installation

Install from GitHub for a regularly updated version (latest: 0.1.2):

install.packages("devtools")
devtools::install_github("zumbov2/swissgd")

Functions

get_available_geodata

Retrieves the names of all available datasets (currently 570) and returns the function (download_geodata() or get_stac_assets()) to obtain them.

swissgd::get_available_geodata()

#> # A tibble: 570 x 2
#>    name                                             retrieval_function        
#>    <chr>                                            <chr>                     
#>  1 ch.are.agglomerationsverkehr                     swissgd::get_stac_assets()
#>  2 ch.are.alpenkonvention                           swissgd::get_stac_assets()
#>  3 ch.are.belastung-personenverkehr-bahn            swissgd::get_stac_assets()
#>  4 ch.are.belastung-personenverkehr-bahn_zukunft    swissgd::get_stac_assets()
#>  5 ch.are.belastung-personenverkehr-strasse         swissgd::get_stac_assets()
#>  6 ch.are.belastung-personenverkehr-strasse_zukunft swissgd::get_stac_assets()
#>  7 ch.are.erreichbarkeit-miv                        swissgd::get_stac_assets()
#>  8 ch.are.erreichbarkeit-oev                        swissgd::get_stac_assets()
#>  9 ch.are.gemeindetypen                             swissgd::get_stac_assets()
#> 10 ch.are.gueteklassen_oev                          swissgd::get_stac_assets()
#> # ... with 560 more rows

search_geodata

Searches for matches to argument pattern within the names of available datasets on the geo-information platform.

swissgd::search_geodata(pattern = "ÖV")

#> # A tibble: 6 x 2
#>   name                                     retrieval_function         
#>   <chr>                                    <chr>                      
#> 1 ch.are.erreichbarkeit-oev                swissgd::get_stac_assets() 
#> 2 ch.are.gueteklassen_oev                  swissgd::get_stac_assets() 
#> 3 ch.are.reisezeit-agglomerationen-oev     swissgd::get_stac_assets() 
#> 4 ch.are.reisezeit-oev                     swissgd::get_stac_assets() 
#> 5 ch.bav.haltestellen-oev                  swissgd::get_stac_assets() 
#> 6 ch.bav.kataster-belasteter-standorte-oev swissgd::download_geodata()
swissgd::search_geodata(pattern = "Alti")

#> # A tibble: 1 x 2
#>   name                     retrieval_function        
#>   <chr>                    <chr>                     
#> 1 ch.swisstopo.swissalti3d swissgd::get_stac_assets()

show_metadata and show_preview

These functions can be used to visit the entry of a dataset in the Swiss Geometadata Catalogue and preview the data on the mapping platform of the Swiss Confederation](https://map.geo.admin.ch).

swissgd::show_metadata("ch.are.erreichbarkeit-oev")
swissgd::show_preview("ch.are.erreichbarkeit-oev")

download_geodata

Downloads datasets available directly from the geo-information platform. Other data can be obtained via the STAC API. See the functions below.

swissgd::download_geodata("ch.astra.baulinien-nationalstrassen")

get_stac_collections

Displays a description of all data provided via the Spatial Temporal Asset Catalog (STAC) REST Interface on the geo-information platform (currently 100).

swissgd::get_stac_collections() %>% dplyr::select(title, id, description)

#> # A tibble: 100 x 3
#>    title                                                           id    descr~1
#>    <chr>                                                           <chr> <chr>  
#>  1 2000-Watt Sites                                                 ch.b~ "The 2~
#>  2 2G - GSM / EDGE availability                                    ch.b~ "The b~
#>  3 3D buildings                                                    ch.s~ "swiss~
#>  4 3G - UMTS / HSPA availability                                   ch.b~ "The b~
#>  5 4G - LTE / LTE-A availability                                   ch.b~ "The b~
#>  6 5G - NR availability                                            ch.b~ "The b~
#>  7 Accessibility by public transport depending on travel time and~ ch.a~ "Acces~
#>  8 Accessibility by road depending on travel time and potential a~ ch.a~ "Acces~
#>  9 Aeronautical Chart ICAO Switzerland 1:500'000                   ch.b~ "The o~
#> 10 Alpine Convention                                               ch.a~ "The p~
#> # ... with 90 more rows, and abbreviated variable name 1: description

get_stac_assets

Calls the STAC API on the geo-information platform and returns the download links to geo-specific assets. Here the aerial photo with a ground resolution of 10 cm of a part of my hometown Aarau is queried. WGS84, LV03 and LV95 coordinates are possible.

swissgd::get_stac_assets(
  collection_id = "ch.swisstopo.swissimage-dop10", 
  lon = 645685, 
  lat = 249287
  )

#> # A tibble: 2 x 7
#>   type                             href  created updated eo:gs~1 proj:~2 check~3
#>   <chr>                            <chr> <chr>   <chr>     <dbl>   <int> <chr>  
#> 1 image/tiff; application=geotiff~ http~ 2021-0~ 2021-0~     0.1    2056 122088~
#> 2 image/tiff; application=geotiff~ http~ 2021-0~ 2021-0~     2      2056 122053~
#> # ... with abbreviated variable names 1: `eo:gsd`, 2: `proj:epsg`,
#> #   3: `checksum:multihash`

download_stac_assets

Downloads assets from the STAC API that were previously queried with a get_stac_assets() call.

res <- swissgd::get_stac_assets(
  collection_id = "ch.swisstopo.swissimage-dop10",
  lon = 645685,
  lat = 249287
  )

swissgd::download_stac_assets(res)

Examples

Spatial distribution of place name suffixes

Setup

Idea: Examine and visualise the spatial distribution of place name suffixes using spatial kernel density estimation.
Datasets: ch.swisstopo.swissnames3d, ch.swisstopo.swissboundaries3d-land-flaeche.fill
Packages: sf, raster, btb, ggplot2 and friends
Script: ex1_swissnames.R

Some Results

Reachability by public transport

Setup

Goal: Testing the newly available data via the STAC API.
Datasets: ch.are.erreichbarkeit-oev
Packages: sf and ggplot2
Script: ex2.R

Results