Description Usage Arguments Details Value Examples
Helper functions to reconstruct the merging, scission, name changes of Swiss communes
1 | loadCommunesCHdata(start = "2012-01-01", end = Sys.Date())
|
start, end |
Date objets: the timeframe at which to query the list of communes changes |
http://www.bfs.admin.ch/bfs/portal/fr/index/news/publikationen.Document.92111.pdf
GINIART code: 11 Commune politique 12 Territoire non attribué à une commune 13 Partie cantonale de lac 15 District 16 Canton sans districts 17 Territoire non attribué à un district 20 Première saisie commune/district 21 Création commune/district 22 Changement de nom du district 23 Changement de nom de la commune 24 Rattachement à un autre district/canton 26 Modification du territoire de la commune 27 Renumérotation formelle de la commune/du district 29 Radiation commune/district 30 Annulation de la mutation
a data.frame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | start <- as.Date("2012-01-01")
data <- loadCommunesCHdata()
## Get all the communes "Fusion" [A] + [B] = [C]
# get the ID of the new communes created
ginimut <- data[which(data$GINIART == 21 & data$GINIDAT >= start),'GINIMUT']
# get all the communes "radiated" radiée/suprimée
data[which(data$GFINMUT %in% ginimut & data$GFINART == 29),]
# Get for each commune created between start & end time, the GBFSNR of the merged communes
result <- lapply(ginimut, function(i) {
# get the nr and name of the created commune
nr_name <- data[which(data$GINIART == 21 & data$GINIMUT == i), c('GBFSNR', 'GNAME')]
# get the nr of the radiated communes
radiatedN <- data[which(data$GFINART == 29 & data$GFINMUT == i),'GBFSNR']
if(identical(radiatedN, integer(0))) {
list(nr = unlist(nr_name[1]), name = unlist(nr_name[2]), radiated = NULL)
} else {
list(nr = unlist(nr_name[1]), name = unlist(nr_name[2]), radiated = unlist(radiatedN))
}
})
names(result) <- ginimut
result
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.