Swiss Municipal Data Merger Tool: Manual"

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

library(SMMT)

Introduction

In Switzerland, the landscape of municipalities is changing rapidly mainly due to mergers. The Swiss Municipality Merger Tool (SMMT) automatically detects these mutations and maps municipalities of an old state to municipalities of a new state. The aim of this vignette is to illustrate how to use the functionality of the SMMT.

This figure shows the decrease in municipalities over time:

This figure shows the mutations for the decade 2010-2019:

Source: https://www.atlas.bfs.admin.ch/

How To

Setup

1) Download & unpack the Swiss municipality inventory from the Federal Statistical Office website.

path_inventory_xml <- download_municipality_inventory(path = getwd())

2) Import the inventory into the workspace

mutations_object <- import_CH_municipality_inventory(file_path = path_inventory_xml)
mutations        <- mutations_object$mutations

# Alternative: Use a local available version (e.g. Version from January 1st, 2018):
file_path_inventory_xml <- "path/to/eCH0071_180101.xml"
mutations_object <- import_CH_municipality_inventory(file_path = file_path_inventory_xml)
mutations        <- mutations_object$mutations

Get Mapping Table

1) Define the old state and the new state. Example:

old_state <- as.Date("1961-01-01")
new_state <- as.Date("1963-01-01")

2) Get mapping table

mutations <- structure(list(hist_id = c(11227L, 11240L, 13189L),
district_hist_id = c(10025L, 10025L, 10025L),
kanton_abbr = c("AG", "AG", "AG"),
bfs_nr = c(4025L, 4021L, 4021L),
name = c("Daettwil", "Baden", "Baden"),
admission_nr = c(1000L, 1000L, 1004L),
admission_mode = c(20L, 20L, 26L),
admission_date = structure(c(-3653, -3653, -2922), class = c("Date")),
abolition_nr = c(1004L, 1004L, NA),
abolition_mode = c(29L, 26L, NA),
abolition_date = structure(c(-2923, -2923, NA), class = c("Date")),
change_date = structure(c(-2923, -2923, -2922), class = c("Date"))),
row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"))
mapping_object <- map_old_to_new_state(mutations, old_state, new_state)
mapping_table  <- mapping_object$mapped

Excerpt of mapping table:

|bfs_nr_new | name_new | bfs_nr_old | name_old | |-----|------|-----|-----| |4021 | Baden | 4021 | Baden | |4021 | Baden | 4025 | Daettwil|

If of relevance, use the information about municipalities which could not be mapped (e.g. due to secessions). For example, if you need to exclude these elements from a dataset.

Definitions

Further information



Try the SMMT package in your browser

Any scripts or data that you put into this service are public.

SMMT documentation built on April 4, 2022, 1:07 a.m.