Skip to content

Instantly share code, notes, and snippets.

View jobonaf's full-sized avatar

Giovanni Bonafè jobonaf

  • ARPA FVG (environmental protection agency)
  • Palmanova, Italy
View GitHub Profile
@jobonaf
jobonaf / index.html
Created February 9, 2016 16:11
sorgenti PM10
<!doctype HTML>
<meta charset = 'utf-8'>
<html>
<head>
<link rel='stylesheet' href='http://timelyportfolio.github.io/rCharts_d3_sankey/css/sankey.css'>
<script src='http://d3js.org/d3.v3.min.js' type='text/javascript'></script>
<script src='http://timelyportfolio.github.io/rCharts_d3_sankey/js/sankey.js' type='text/javascript'></script>
<style>
@jobonaf
jobonaf / app.R
Created June 22, 2017 12:35
shiny app redirection
server <- function(input, output, session) {}
ui <- fluidPage(singleton(tags$head(tags$script('window.location.replace("https://sdati.arpae.it/calicantus-intro");'))))
shinyApp(ui = ui, server = server)
@jobonaf
jobonaf / app.R
Created July 18, 2017 14:02
R Shiny application protected by a password
rm(list = ls())
library(shiny)
Logged = FALSE;
## put here the credentials
my_username <- "test"
my_password <- "test"
## part of the user interface for login
ui1 <- function(){
@jobonaf
jobonaf / plot.R
Created October 3, 2017 06:26
plotting the sketch: regional background + urban background + hotspots concentration
# libraries
library(ggplot2)
library(dplyr)
# where is the urban area?
urban <- c(rep(F,100),rep(T,100),rep(F,100))
# regional background concentrations
noise <- runif(300,min=5, max = 15)
regional.background <- stats::filter(noise,rep(1/40,40), sides=2, circular = T)
@jobonaf
jobonaf / net.R
Created March 5, 2018 13:45
interactive network with R+d3.js
library(igraph) # Load the igraph package
links <- read.csv("data/network_crma_arpa_edges.csv")
net <- graph_from_data_frame(d=links, directed=T)
library(networkD3)
wc <- cluster_walktrap(net)
members <- membership(wc)
igraph_to_networkD3(net, group=members) -> net_d3
net_d3$nodes$nodesize <- c(40,0)[(net_d3$nodes$name %in% links$from)+1]
forceNetwork(Links = net_d3$links, Nodes = net_d3$nodes,
filein <- "https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-regioni/dpc-covid19-ita-regioni.csv"
dat <- read.csv(filein)
library(dplyr)
library(ggplot2)
library(knitr)
dat %>%
mutate(terap_intens_e_deced=terapia_intensiva+deceduti) %>%
group_by(regione=denominazione_regione,
data=as.Date(data)) %>%
summarize(terap_intens_e_deced=sum(terap_intens_e_deced)) %>%
@jobonaf
jobonaf / get_aqdata.R
Last active October 23, 2020 09:41
R script to prepare air quality long term averages for Italian provinces
# packages
library(saqgetr)
library(dplyr)
library(rgdal)
library(tidyr)
library(rgeos)
library(readr)
# extraction
data_annual <- get_saq_simple_summaries(summary = "annual_means")
@jobonaf
jobonaf / mean-vs-rankN.R
Created April 19, 2021 16:00
linear fit annual average vs Nth maximum value
mean_vs_rankN <- function(poll = "PM10",
nrank = 36,
threshold = 50,
fy = 2009,
ly = 2018) {
library(dplyr)
Dat <- readRDS(paste0("data/",poll,"_daily_",fy,"-",ly,".rds"))
Dat %>%
@jobonaf
jobonaf / rasterize_FARM.R
Created April 19, 2021 16:05
function to rasterize population on a grid
# module load r-rgdal geos netcdf-fortran/4.5.2/gcc
# legge sezioni di censimento
library(sf)
st_read("/lustre/arpa/bonafeg/data/geo/Popolazione/FVGconSappada_SezCens.shp") -> ps
# legge popolazione
library(dplyr)
library(tidyr)
pp <- read.csv("/lustre/arpa/bonafeg/data/geo/Popolazione/Censimento2011/R06conSappada_indicatori_2011_sezioni.csv")%>%
@jobonaf
jobonaf / get_eea.R
Created August 11, 2023 09:44
get air quality data from EEA
library(readr)
library(glue)
library(RCurl)
library(lubridate)
library(dplyr)
library(futile.logger)
library(httr)
library(data.table)
# https://discomap.eea.europa.eu/map/fme/AirQualityExport.htm