gaspar.R 2.80 KiB
# Functions
plot_chronicle = function(catnat, file_path = "catnat-chronicle.pdf") {
    year.month = format(catnat[["date.start"]], "%Y-%m")
    n.ym = table(year.month)
    d.ym = as.Date(paste(names(n.ym), "01", sep = "-"))
    pdf(file_path, width = 20, height = 10)
    plot(d.ym, as.integer(n.ym), type = "h", xaxt = "n", xlab = "", ylab = "n", col = "royalblue3")
    axis.Date(1, format = "%Y-%m", las = 2, at = d.ym)
    axis.Date(1, format = "%Y-%m", las = 2, label = FALSE,
        at = seq(range(d.ym)[1], range(d.ym)[2], by = "month"))
    dev.off()
plot_month = function(catnat, file_path = "catnat-month.pdf") {
    month = format(seq(as.Date("2020-01-01"), length.out = 12, by = "month"), "%m")
    month = table(factor(format(catnat[["date.start"]], "%m"), levels = month))
    pdf(file_path, width = 20, height = 10)
    barplot(height = month, ylab = "n", xlab = "month", col = "royalblue3")
    dev.off()
# Data
## Preparing files & version (today)
today = as.character(Sys.Date())
dir.create("data-common/data/gaspar/archive", showWarnings = FALSE)
archive = sprintf("data-common/data/gaspar/archive/gaspar-%s", today)
## Download uptodate data
utils::download.file(
    url = "https://files.georisques.fr/GASPAR/gaspar.zip",
    destfile = file.path(sprintf("%s.zip", archive)),
    method = "wget")
utils::unzip(sprintf("%s.zip", archive), exdir = archive)
catnat = rio::import(file.path(archive, "catnat_gaspar.csv"))[-c(1, 10)]
unlink(archive, recursive = TRUE)
## Formating data + scope
names(catnat) = c(
    "commune",
    "commune_name",
    "alea_code",
    "alea_jo",
    "date.start",
    "date.end",
    "date.arrete",
    "date.jo"
# write.csv2(unique(catnat[c("alea_code", "alea")]), "lib_risque_jo.csv", row.names = FALSE)
# catnat = catnat[ grep("nondation", catnat[["alea"]]), ]
so_ii_scope = so.ii::so_ii_scope
catnat_so_ii = merge(
    catnat[ catnat[["commune"]] %in% so_ii_scope, ],
    read.csv2("data-common/so-ii/gaspar/catnat_alea_jo-2023.csv")
write.csv2(
    catnat_so_ii, 
    sprintf("data-common/so-ii/gaspar/catnat-%s.csv", today),
    row.names = FALSE
alea_scope = c("inondation", "nappe", "submersion", "torrentiel")
71727374757677787980818283848586878889
catnat_so_ii = catnat_so_ii[ catnat_so_ii[["alea"]] %in% alea_scope, ] catnat_so_ii[["commune"]] = factor( catnat_so_ii[["commune"]], levels = so_ii_scope ) catnat_so_ii[["alea"]] = factor( catnat_so_ii[["alea"]], levels = alea_scope ) # Treatments plot_chronicle(catnat, "figure/catnat-france-chronicle.pdf") plot_month(catnat, "figure/catnat-france-month.pdf") plot_chronicle(catnat_so_ii, "catnat-so-ii-chronicle.pdf") plot_month(catnat_so_ii, "catnat-so-ii-month.pdf") write.csv2(catnat_year, sprintf("data-common/so-ii/gaspar/catnat_year_n-%s.csv", today)) write.csv2(catnat_month, sprintf("data-common/so-ii/gaspar/catnat_month_n-%s.csv", today))