data-raw/elabora_facebook_szn.R

########################################
# ricava codici sezioni
########################################

masteRfun::load_pkgs(master = FALSE, 'data.table', 'fst', 'sf')
fpath <- file.path(data_path, 'gridpop', 'facebook')
fns <- setdiff(gsub('.idx$', '', list.files(fpath, 'idx$')), 'centroidi')
yb <- masteRconfini::SZN |> st_transform(crs.it.ed)
yz <- masteRgeo::sezioni[, .(SZN, CMN)]

fn <- "general"
# for(fn in fns){
    y <- read_fst(file.path(fpath, fn), as.data.table = TRUE)
    y[, id := 1:.N]
    yt <- rbindlist(lapply(
                sort(unique(y$CMN)),
                \(x){
                    message('Processo ', x)
                    ybz <-  yb |> subset(SZN %in% yz[CMN == x, SZN])
                    y[CMN == x, .(id, x_lon, y_lat)] |> 
                        st_as_sf(coords = c('x_lon', 'y_lat'), crs = 4326) |> 
                        st_transform(crs.it.ed) |> 
                        st_join(yb, join = st_within) |> 
                        st_drop_geometry()
                }
    ))
    y <- yt[y, on = 'id'][, id := NULL]
    setorderv(y, c('CMN', 'SZN'))
    write_fst_idx(y, 'CMN', fn, fpath)
# }
    
dg <- 3 * 1e-4
# yna <- y[is.na(SZN)][, id := 1:.N][, `:=`( x_lon = x_lon + dg, y_lat = y_lat + dg)]
yna <- y[is.na(SZN)][, id := 1:.N][, `:=`( x_lon = x_lon + dg)]

ycna <- 27042
yb.ycna <- yb |>  subset(SZN %in% yz[CMN == ycna, SZN]) |> st_transform(4326)
y.ycna <- y[CMN == ycna & is.na(SZN)] |> st_as_sf(coords = c('x_lon', 'y_lat'), crs = 4326)
y.ycna.dg <- yna[CMN == ycna] |> st_as_sf(coords = c('x_lon', 'y_lat'), crs = 4326)

library(leaflet)
leaflet() |> 
    addTiles() |> 
    addPolygons(data = yb.ycna, label = ~SZN, fillOpacity = 0) |> 
#    addCircles(data = y[CMN == ycna & !is.na(SZN)] |> st_as_sf(coords = c('x_lon', 'y_lat'), crs = 4326), label = ~SZN, color = 'black') |> 
    addCircles(data = y.ycna, label = ~SZN, color = 'black', opacity = 0, fillOpacity = 1) |> 
    addCircles(data = y.ycna.dg, label = ~SZN, color = 'red', opacity = 0, fillOpacity = 1)
    
    
library(leaflet)
basemap(bnd = masteRconfini::CMN |> subset(CMN == 1001), pnts = y[CMN == 1001], pntsid = 'SZN')    
master-info/masteRgridpop documentation built on July 31, 2023, 1:37 p.m.