R/codici.R

#' Estrae il codice `LINKZONA`
#' 
#' Dato un codice OMI restituisce il corrispondente codice `LINKZONA` (`OMIk`)
#'
#' @param x un codice omi
#' 
#' @return un codice `LINKZONA`
#'
#' @author Luca Valnegri, \email{l.valnegri@datamaps.co.uk}
#'
#' @import data.table
#' 
#' @export
#'
omik_da_omi <- \(x){
    yx <- zone[OMI == x, OMIk]
    if(length(yx) == 0) stop('Codice OMI invalido.')
    yx
}

#' Compone il codice `OMI`
#' 
#' Dato un codice catastale di Comune ed una zona esistente in quel Comune restituisce il corrispondente codice `OMI`
#'
#' @param x un codice catastale
#' @param z un codice di zona
#' @param verbose Indica se restituire avvertimenti sulla terminazione delle zone
#' 
#' @return un codice `OMI`
#'
#' @author Luca Valnegri, \email{l.valnegri@datamaps.co.uk}
#'
#' @import data.table
#' @importFrom masteRfun aggiungi_caratteri
#' 
#' @export
#'
omi_da_cz <- \(x, z, verbose = FALSE){
    yx <- zone[catasto == x]
    if(nrow(yx) == 0) stop('Codice catastale invalido.')
    yx <- yx[zona == z]
    if(nrow(yx) == 0) stop('Zona non presente nel Comune ', x, '.')
    if(verbose) 
        if(!is.na(yx$termine)) 
            warning('La zona specificata \u00E8 stata terminata.')
    paste0(x, masteRfun::aggiungi_caratteri(z, 4))
}
master-info/masteRomi documentation built on Oct. 25, 2023, 5:18 p.m.