R/crea_mappa.R

#' Crea mappa zone OMI
#' 
#' Dato uno o piu codici ISTAT restituisce una mappa leaflet delle corrispondenti zone OMI incluse
#'
#' @param x    un vettore di codici ISTAT comunali
#' @param poli se diverso da `NULL`, resttuisce solo l'oggetto poligono per essere inserito in un flusso leaflet gia esistente
#' @param tls  le tessere mappa da usare come sfondo, si veda la lista `tessere` del pacchetto `masteRmappe`
#' 
#' @return un oggetto `leaflet`
#'
#' @author Luca Valnegri, \email{l.valnegri@datamaps.co.uk}
#'
#' @importFrom leaflet leaflet addPolygons
#' 
#' @export
#'
mappa_omi <- \(x, poli = NULL, tls = masteRmappe::tessere[[1]]){
    x <- masteRgeo::comuni[CMN %in% x, catasto]
    if(length(x) == 0) stop('I codici comunali sono tutti invalidi.')
    y <- OMI |> subset(OMI %in% zone[is.na(termine) & catasto == x, OMI]) |> st_transform(4326)
    if(!is.null(poli)) 
        return(
            poli |> 
                addPolygons(
                    data = y
                )
        )
    leaflet() |> 
        masteRmappe::aggiungi_tessere(tls) |> 
        addPolygons(
            data = y
        )
}
master-info/masteRomi documentation built on Oct. 25, 2023, 5:18 p.m.