Among many others, MeteoSwchweiz (the Swiss national weather service) is one of the data providers providing weather and climate related data.
( collections <- sg_collections ( "meteoschweiz" ) )
# A tibble: 33 × 11
id title description license created updated
<chr> <chr> <chr> <chr> <dttm> <dttm>
1 ch.meteosc… Hail… The hail h… propri… 2023-02-09 13:50:42 2026-03-19 09:45:42
2 ch.meteosc… Hail… The hail h… propri… 2023-02-09 13:50:43 2026-03-19 09:45:43
3 ch.meteosc… Hail… The hail h… propri… 2023-02-09 13:50:45 2026-03-19 09:45:43
4 ch.meteosc… Hail… The hail h… propri… 2023-02-09 13:50:47 2026-03-19 09:45:44
5 ch.meteosc… Clim… Spatial an… propri… 2023-02-09 13:50:48 2026-03-16 21:00:01
6 ch.meteosc… Clim… Spatial an… propri… 2023-02-09 13:51:00 2026-03-16 21:00:02
7 ch.meteosc… Clim… Spatial an… propri… 2023-02-09 13:51:10 2026-03-16 21:00:03
8 ch.meteosc… Clim… Spatial an… propri… 2023-02-09 13:51:20 2026-03-16 21:00:04
9 ch.meteosc… Clim… Spatial an… propri… 2023-02-09 13:51:31 2026-03-16 21:00:04
10 ch.meteosc… Clim… Spatial an… propri… 2023-02-09 13:51:42 2026-03-16 21:00:05
# ℹ 23 more rows
# ℹ 5 more variables: itemType <chr>, crs <int>, extent <list>,
# data_from <dttm>, data_to <dttm>
Stations and towers
This guide focuses on the "ch.meteoschweiz.ogd-smn*" collections whereof three exist. One covers the network of automated weather stations, one the network of automated precipitation measurement sites, and one data from measurement towers.
ch.meteoschweiz.ogd-smn:
- Automatic weather stations - Measurement values
ch.meteoschweiz.ogd-smn-precip:
- Automatic precipitation stations - Measurement values
ch.meteoschweiz.ogd-smn-tower:
- Automatic tower stations - Measurement values
## Automated weather stations
aws <- sg_items ( "ch.meteoschweiz.ogd-smn" )
## Automated precipitation stations
precip <- sg_items ( "ch.meteoschweiz.ogd-smn-precip" )
## Automated towers
tower <- sg_items ( "ch.meteoschweiz.ogd-smn-tower" )
Plotting the geographical location for a quick overview.
plot ( st_geometry ( aws ) , pch = 19 , col = "gray" , cex = 1.5 )
plot ( st_geometry ( precip ) , pch = 19 , col = "steelblue" , cex = 1 , add = TRUE )
plot ( st_geometry ( tower ) , pch = 19 , col = "red" , cex = 1 , add = TRUE )
The objects not only contain the location of the different stations but also some additional information such as the stations name.
Simple feature collection with 2 features and 9 fields
Geometry type: POINT
Dimension: XY
Bounding box: xmin: 7.560703 ymin: 46.4917 xmax: 8.608206 ymax: 47.13364
Geodetic CRS: WGS 84
id collection type stac_version datetime
1 abo ch.meteoschweiz.ogd-smn Feature 1.0.0 2026-07-09 04:00:33
2 aeg ch.meteoschweiz.ogd-smn Feature 1.0.0 2026-07-09 04:00:33
title created updated assets
1 Adelboden (ABO) 2025-03-28 09:59:46 2026-07-09 14:28:41 assets: 16
2 Oberägeri (AEG) 2025-03-28 09:59:47 2026-07-09 14:28:49 assets: 15
geometry
1 POINT (7.560703 46.4917)
2 POINT (8.608206 47.13364)
Simple feature collection with 2 features and 9 fields
Geometry type: POINT
Dimension: XY
Bounding box: xmin: 7.28535 ymin: 47.05797 xmax: 8.670289 ymax: 47.60467
Geodetic CRS: WGS 84
id collection type stac_version datetime
1 abe ch.meteoschweiz.ogd-smn-precip Feature 1.0.0 2026-07-09 04:00:33
2 afi ch.meteoschweiz.ogd-smn-precip Feature 1.0.0 2026-07-09 04:00:33
title created updated assets
1 Aarberg (ABE) 2025-03-28 09:59:46 2026-07-09 14:27:06 assets: 10
2 Andelfingen (AFI) 2025-03-28 09:59:47 2026-07-09 14:27:04 assets: 10
geometry
1 POINT (7.28535 47.05797)
2 POINT (8.670289 47.60467)
Simple feature collection with 2 features and 9 fields
Geometry type: POINT
Dimension: XY
Bounding box: xmin: 7.528667 ymin: 46.97781 xmax: 8.226944 ymax: 47.53648
Geodetic CRS: WGS 84
id collection type stac_version datetime
1 ban ch.meteoschweiz.ogd-smn-tower Feature 1.0.0 2026-07-09 04:00:34
2 psi ch.meteoschweiz.ogd-smn-tower Feature 1.0.0 2026-07-09 04:00:34
title created updated assets
1 Bantiger (BAN) 2025-03-28 09:59:46 2026-07-09 14:28:40 assets: 15
2 Würenlingen / PSI (PSI) 2025-03-28 09:59:46 2026-07-09 14:28:40 assets: 15
geometry
1 POINT (7.528667 46.97781)
2 POINT (8.226944 47.53648)
Additional assets
These three data sets also come with additional assets with additional information.
( tower_assets <- sg_assets ( "ch.meteoschweiz.ogd-smn-tower" ) )
# A tibble: 3 × 7
id type href description created updated
<chr> <chr> <chr> <chr> <dttm> <dttm>
1 ogd-smn-tower… text… http… This a col… 2025-03-28 12:19:10 2026-06-30 04:22:20
2 ogd-smn-tower… text… http… This a col… 2025-03-28 12:19:10 2026-04-23 04:29:33
3 ogd-smn-tower… text… http… This a col… 2025-03-28 12:19:10 2026-02-06 09:55:39
# ℹ 1 more variable: `file:checksum` <chr>
ogd-smn-tower_meta_datainventory.csv:
- This a collection asset for ogd-smn-tower_meta_datainventory.csv
ogd-smn-tower_meta_parameters.csv:
- This a collection asset for ogd-smn-tower_meta_parameters.csv
ogd-smn-tower_meta_stations.csv:
- This a collection asset for ogd-smn-tower_meta_stations.csv
station_abbr parameter_shortname meas_cat_nr data_since data_till
1 BAN dk1towh0 1 17.12.1992 09:00
2 BAN dv1towz0 1 01.02.2004 00:00
3 BAN fk1towd0 1 17.12.1992 00:00
4 BAN fk1towd1 1 17.12.1992 00:00
5 BAN fk1towh0 1 17.12.1992 00:00
6 BAN fk1towh1 1 17.12.1992 00:00
owner
1 MeteoSchweiz
2 MeteoSchweiz
3 MeteoSchweiz
4 MeteoSchweiz
5 MeteoSchweiz
6 MeteoSchweiz
station_abbr station_name station_canton station_wigos_id
1 BAN Bantiger BE 0-20000-0-06634
2 PSI W\xfcrenlingen / PSI AG 0-20000-0-06647
station_type_de
1 Automatische Turmstationen - Messwerte
2 Automatische Turmstationen - Messwerte
station_type_fr
1 Stations de tour automatiques - Valeurs mesur\xe9es
2 Stations de tour automatiques - Valeurs mesur\xe9es
station_type_it
1 Stazioni torre automatiche - Valori misurati
2 Stazioni torre automatiche - Valori misurati
station_type_en station_dataowner
1 Automatic tower stations - Measurement values MeteoSchweiz
2 Automatic tower stations - Measurement values MeteoSchweiz
station_data_since station_height_masl station_height_barometer_masl
1 16.12.1992 942.0
2 14.01.1992 334.0 336.0
station_coordinates_lv95_east station_coordinates_lv95_north
1 2606850.0 1202975.0
2 2659356.0 1265381.0
station_coordinates_wgs84_lat station_coordinates_wgs84_lon
1 46.977806 7.528667
2 47.536475 8.226944
station_exposition_de station_exposition_fr station_exposition_it
1 Gipfellage Sommet Vetta
2 Ebene Plaine Pianura
station_exposition_en
1 crest
2 plain
station_url_de
1 https://www.meteoschweiz.admin.ch/service-und-publikationen/applikationen/messwerte-und-messnetze.html#param=messnetz-automatisch&station=BAN
2 https://www.meteoschweiz.admin.ch/service-und-publikationen/applikationen/messwerte-und-messnetze.html#param=messnetz-automatisch&station=PSI
station_url_fr
1 https://www.meteosuisse.admin.ch/services-et-publications/applications/valeurs-mesurees-et-reseaux-de-mesure.html#param=messnetz-automatisch&station=BAN
2 https://www.meteosuisse.admin.ch/services-et-publications/applications/valeurs-mesurees-et-reseaux-de-mesure.html#param=messnetz-automatisch&station=PSI
station_url_it
1 https://www.meteosvizzera.admin.ch/servizi-e-pubblicazioni/applicazioni/valori-attuali-e-reti-di-misura.html#param=messnetz-automatisch&station=BAN
2 https://www.meteosvizzera.admin.ch/servizi-e-pubblicazioni/applicazioni/valori-attuali-e-reti-di-misura.html#param=messnetz-automatisch&station=PSI
station_url_en
1 https://www.meteoswiss.admin.ch/services-and-publications/applications/measurement-values-and-measuring-networks.html#param=messnetz-automatisch&station=BAN
2 https://www.meteoswiss.admin.ch/services-and-publications/applications/measurement-values-and-measuring-networks.html#param=messnetz-automatisch&station=PSI
parameter_shortname parameter_description_de
1 dk1towh0 Windrichtung Turm; Stundenmittel
2 dv1towz0 Windrichtung vektoriell Turm; Zehnminutenmittel
parameter_description_fr
1 Direction du vent tour; moyenne horaire
2 Direction du vent vectorielle tour; moyenne sur 10 minutes
parameter_description_it
1 Direzione del vento torre; media oraria
2 Direzione del vento vettoriale torre; media su 10'
parameter_description_en parameter_group_de
1 Wind direction tower; hourly mean Wind
2 Wind direction vectorial tower; ten minutes mean Wind
parameter_group_fr parameter_group_it parameter_group_en
1 Vent Vento Wind
2 Vent Vento Wind
parameter_granularity parameter_decimals parameter_datatype parameter_unit
1 H 0 Integer °
2 T 0 Integer °
The data
The information about the assets containing the actual data are already included in the items, the objects returned by sg_items(). As an example we are looking at the items for one specific automated weather station, namely the one located in Zermatt.
## Searching for station
zermatt <- subset ( aws , grepl ( "Zermatt" , title ) )
## Assets
zermatt $ assets
[1] Assets: 16
[text/csv] ogd-smn_zer_d_historical.csv
[text/csv] ogd-smn_zer_d_recent.csv
[text/csv] ogd-smn_zer_h_historical_1980-1989.csv
[text/csv] ogd-smn_zer_h_historical_1990-1999.csv
[text/csv] ogd-smn_zer_h_historical_2000-2009.csv
[text/csv] ogd-smn_zer_h_historical_2010-2019.csv
[text/csv] ogd-smn_zer_h_historical_2020-2029.csv
[text/csv] ogd-smn_zer_h_now.csv
[text/csv] ogd-smn_zer_h_recent.csv
[text/csv] ogd-smn_zer_m.csv
[text/csv] ogd-smn_zer_t_historical_2000-2009.csv
[text/csv] ogd-smn_zer_t_historical_2010-2019.csv
[text/csv] ogd-smn_zer_t_historical_2020-2029.csv
[text/csv] ogd-smn_zer_t_now.csv
[text/csv] ogd-smn_zer_t_recent.csv
[text/csv] ogd-smn_zer_y.csv
## Underlying data frame
subset ( zermatt $ assets [[ 1L ] ] , select = c ( name , type , created , updated ) )
name type created
1 ogd-smn_zer_d_historical.csv text/csv 2025-04-30 13:13:59
2 ogd-smn_zer_d_recent.csv text/csv 2025-03-28 10:23:25
3 ogd-smn_zer_h_historical_1980-1989.csv text/csv 2025-04-30 13:14:01
4 ogd-smn_zer_h_historical_1990-1999.csv text/csv 2025-04-30 13:14:01
5 ogd-smn_zer_h_historical_2000-2009.csv text/csv 2025-04-30 13:14:02
6 ogd-smn_zer_h_historical_2010-2019.csv text/csv 2025-04-30 13:15:32
7 ogd-smn_zer_h_historical_2020-2029.csv text/csv 2025-04-30 13:14:00
8 ogd-smn_zer_h_now.csv text/csv 2025-03-28 10:28:31
9 ogd-smn_zer_h_recent.csv text/csv 2025-03-28 10:24:56
10 ogd-smn_zer_m.csv text/csv 2025-04-01 11:08:33
11 ogd-smn_zer_t_historical_2000-2009.csv text/csv 2025-04-30 13:15:30
12 ogd-smn_zer_t_historical_2010-2019.csv text/csv 2025-04-30 13:17:46
13 ogd-smn_zer_t_historical_2020-2029.csv text/csv 2025-04-30 13:17:45
14 ogd-smn_zer_t_now.csv text/csv 2025-03-28 10:31:49
15 ogd-smn_zer_t_recent.csv text/csv 2025-03-28 10:25:08
16 ogd-smn_zer_y.csv text/csv 2025-04-02 08:28:59
updated
1 2026-02-18 17:59:43
2 2026-07-09 11:00:25
3 2026-02-18 17:59:43
4 2026-02-18 17:59:43
5 2026-02-18 18:01:42
6 2026-02-18 17:59:43
7 2026-02-18 18:01:42
8 2026-07-09 14:30:43
9 2026-07-09 01:59:54
10 2026-07-05 05:02:06
11 2026-02-18 18:01:42
12 2026-02-18 18:03:57
13 2026-02-18 18:03:56
14 2026-07-09 14:30:40
15 2026-07-09 01:59:55
16 2026-06-25 04:31:42
As shown there are multiple CSV files covering different periods. While some are archives, others provide quick access to the latest observations and the data come in different temporal resolution.
_h_: Hourly data
_t_: 10-minute data
_m: Monthly data
Just as a quick example:
station_abbr reference_timestamp tre200h0 tre200hn tre200hx tre005h0
1 ZER 09.07.2026 00:00 14.2 13.4 14.6 9.4
2 ZER 09.07.2026 01:00 13.5 13.3 13.8 8.6
3 ZER 09.07.2026 02:00 12.8 12.4 13.3 8
4 ZER 09.07.2026 03:00 12.1 11.5 12.8 7.3
5 ZER 09.07.2026 04:00 11.5 11.1 11.8 7.1
6 ZER 09.07.2026 05:00 11.8 11.4 12.4 7.3
station_abbr reference_timestamp tre200s0 tre005s0 tresurs0 xchills0
1 ZER 09.07.2026 00:00 14.2 9.1 7.8 14.2
2 ZER 09.07.2026 00:10 13.7 8.8 7.3 13.7
3 ZER 09.07.2026 00:20 13.8 8.7 7 13.8
4 ZER 09.07.2026 00:30 13.3 8.4 7 13.3
5 ZER 09.07.2026 00:40 13.3 8.3 6.6 13.3
6 ZER 09.07.2026 00:50 13.4 8.9 7.5 13.4