Confronto fra due indirizzi

di il
5 risposte

Confronto fra due indirizzi

Nessuno ha mai affrontato il problema di confrontare 2 indirizzi postali (cioe' di casa: via, numero civico, CAP, citta')?

Ovviamente la rogna rognosa e' che l'indirizzo puo' essere scritto in qualunque modo possibile, e qualunque permutazione possibile, con parti in piu' o in meno.

5 Risposte

  • Re: Confronto fra due indirizzi

    A parte le permutazioni, la stessa VIA può essere scritta in diversi modi comprensivi di inesattezze (via VS viale):
    via simone d'orsenigo
    via d'orsenigo
    via s. d'orsenigo
    viale d'orsenigo
    e compagnia bella

    Dovresti provare con dei sistemi Fuzzy / prossimità abbinati a un parser da realizzare che vada a normalizzare gli indirizzi . Es. (viale VS v.le)
    Non so quanto potrebbe tornarti utile un'indicizzazione e ricerca con Lucene (sempre in abbinata a un parser specifico), cmq:
    https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
  • Re: Confronto fra due indirizzi

    Ho una funzione apposita, e non è nè bella nè ben funzionante.
    Te ne metto solo un pezzetto così ti rendi conto di quanto sia "very dirty"
    
     tagliainiziale(i_indirizzo,'STRADA INTERNA ');
       tagliainiziale(i_indirizzo,'VICOLO ');
       tagliainiziale(i_indirizzo,'VIALE ');
       tagliainiziale(i_indirizzo,'VIA ');
       tagliainiziale(i_indirizzo,'V.LE ');
       tagliainiziale(i_indirizzo,'STRADA ');
       tagliainiziale(i_indirizzo,'PIAZZETTA ');
       tagliainiziale(i_indirizzo,'PIAZZALE ');
       tagliainiziale(i_indirizzo,'PIAZZA ');
       tagliainiziale(i_indirizzo,'LARGO ');
       tagliainiziale(i_indirizzo,'LRGO ');
       tagliainiziale(i_indirizzo,'LOCALITA'' ');
       tagliainiziale(i_indirizzo,'GALLERIA ');
       tagliainiziale(i_indirizzo,'FRAZIONE ');
       tagliainiziale(i_indirizzo,'FRAZ ');
       tagliainiziale(i_indirizzo,'CORSO ');
       tagliainiziale(i_indirizzo,'CONTRADA ');
       tagliainiziale(i_indirizzo,'CALLE ');
       tagliainiziale(i_indirizzo,'BORGO ');
       tagliainiziale(i_indirizzo,'BORGATA ');
       tagliainiziale(i_indirizzo,'C.SO ');
       tagliainiziale(i_indirizzo,'C.SLE ');
       tagliainiziale(i_indirizzo,'FRAZ ');
       tagliainiziale(i_indirizzo,'CORTE ');
       tagliainiziale(i_indirizzo,'PASSANTE ');
       tagliainiziale(i_indirizzo,'P.ZA ');
       tagliainiziale(i_indirizzo,'PASSAGGIO ');
       tagliainiziale(i_indirizzo,'QUARTIERE ');
       tagliainiziale(i_indirizzo,'RIVIERA ');
       tagliainiziale(i_indirizzo,'VICINALE ');
       tagliainiziale(i_indirizzo,'TRAVERSA ');
  • Re: Confronto fra due indirizzi

    La cosa e' decisamente piu' complicata di cosi', ho scoperto.

    Non e' solo una questione di permutazioni e di qualche variante di qualche termine, ma anche errori ortografici (STRDA invece di STRADA, o STRADAA, ecc), la mancanza del numero, nomi di vie esistenti ma non nella stessa citta', oppure somiglianti e esitenti nella stessa citta' nel qual caso la scelta corretta deve dipendere da altre informazioni (ad esempio il CAP, o l'incrocio con un'altra via).

    Ho trovato qualche libreria Java per fare una parte del lavoro (jgeocode), ma e' limitata.
    Una possibile soluzione e' usare le API di Google Map,

    >

    ma ha un limite di 2500 al giorno in forma gratuita.

    In pratica, un sistema ragionevolmente funzionale, oltre a metriche per trovare il termine corretto, deve avere anche il database delle strade/citta/nazione per la zone di interesse, mediante il quale identificare, in modo ragionevolmente corretto, l'indirizzo, e ritornarlo in forma normalizzata.
  • Re: Confronto fra due indirizzi

    Non solo il database delle vie (facile), ma anche una interrogazione internet per i CAP che hanno aggiunto a vie alterne anche per piccoli centri (chissà poi perchè)
  • Re: Confronto fra due indirizzi

    Le strategie possono essere varie e fra loro combinate.
    In generale è da valutare l'indirizzo (sul territorio nazionale) nei suoi elementi costitutivi in modo da poter effettuare dei confronti impiegando uno standard.

    Qualora l'indirizzo comprenda tutti gli elementi (via, numero civico, CAP, città) è da cercare di separare le parti costitutive.

    In merito alla normalizzazione degli indirizzi si può far riferimento alle regole ISTAT per la standardizzazione e registrazione in forma estesa dei toponimi (ultima del 2014) in quanto l'Agenzia delle Entrate-Territorio ha sottoscritto con l’Istat una convenzione per la costituzione dell’Archivio Nazionale degli stradari e dei numeri civici (ANSC).

    http://wwwt.agenziaentrate.gov.it/mt/ServiziComuniIstituzioni/GO_PortaleComuni_estratto_Toponomastica_24042014.pdf
    file:///C:/Documents%20and%20Settings/W/Documenti/Downloads/2201_Allegato_B_286927.pdf
    http://talk-it.openstreetmap.narkive.com/FBpjFfYP/toponomastica-e-specifiche-istat

    Un primo aspetto, da prendere in considerazione, è identificare la DUG (Denominazione Urbanistica Generica) per estrarre la parte meno significativa (VIA, VIALE, VICOLO, STRADA, ecc.).
    Per un elenco delle DUG validate dall’Istat (aggiornato al 16 dicembre 2014) si può vedere il foglio Excel:


    Per la Città si può far riferimento all'elenco dei Comuni italiani:
    http://www.istat.it/storage/codici-unita.../elenco-comuni-italiani.xls

    mentre per i CAP:
    http://lab.comuni-italiani.it/download/comuni.htm

    Determinati gli elementi (DUG, CAP, CITTA') si può procedere con l'ulteriore parte che identifica l'indirizzo: nome della via (Denominazione area di circolazione) e numero civico (ove il numero civico è, normalmente, al termine della stringa).

    Stabiliti i vari elementi si possono stabilire degli indicatori di accuratezza sintattica completezza, consistenza al fine di
    individuare quello che a livello toponomastico si presenta con i requisiti migliori.
    http://www3.istat.it/dati/pubbsci/contributi/Contributi/contr_2005/2005_12.pdf

    Da considerare che la toponomastica della Città di Venezia si differenzia rispetto allo standard nazionale (ne esistono due modalità) in relazione alla specifica struttura urbana del territorio.
    In Alto Adige esistendo una realtà bilinguistica gli indirizzi possono soffrire di un maggior errore sintattico.
    Inoltre gli errori maggiori si verificano in aree scarsamente urbanizzate (frazioni, sobborghi, località sub-comunali) ove esiste una minore densità di popolazione e quindi meno controlli sulle banche dati realizzate.
    Da considerare che la toponomastica dei comuni italiani può non essere univoca, infatti per l'indirizzo si può trovare nella denominazione il suo pseudonimo.
    Ad esempio, nel caso di aree di circolazione intitolate a personaggi noti anche con uno pseudonimo si puo verificare che
    la denominazione possa riferirsi al nome reale o allo pseudonimo.
    per cui: PIAZZA MICHELANGELO MERISI DETTO IL CARAVAGGIO
    potrà essere posto come:
    PIAZZA MICHELANGELO MERISI
    oppure:
    PIAZZA CARAVAGGIO
    O nel caso di VIA GIOVANNI ERMETE GAETA DETTO E. A. MARIO, vi potrà essere:
    VIA GIOVANNI ERMETE GAETA
    oppure:
    VIA E A MARIO
    Da considerare che le 'aree di circolazione' intitolate a personaggi storici o contemporanei, nazionali o locali, dovrebbero contenere prima l’indicazione di eventuali titoli onorifici, religiosi, nobiliari o qualifiche professionali (se presenti), poi il nome ed in seguito il cognome, ad es. VIA GENERALE GIUSEPPE ARIMONDI o VIA MARESCIALLO LUIGI CADORNA o VIA MONSIGNORE ARDUINO TERZI. Stessa cosa per le aree di circolazione intitolate a figure religiose, precedute dall’attributo DON (es. VIA DON GIOVANNI MINZONI) o PAPA (es. VIA PAPA PIO DODICESIMO) o PADRE (es. VIA PADRE VICINIO DA SARSINA). I titoli nobiliari (re, principe, duca, marchese, conte, visconte e barone) se accompagnati dal nome del casato dovranno essere posti dopo il nome e cognome (es. VIA CAMILLO BENSO CONTE DI CAVOUR o PIAZZA EMANUELE FILIBERTO DI SAVOIA DUCA D'AOSTA). La presente regola vale solo quando i titoli onorifici, religiosi, nobiliari o le qualifiche
    professionali.
    Inoltre esistono delle specificazioni del toponimo (relative a date, numeri, santi, monumenti, ecc.) che possono favorire
    l'identificazione:


    Determinato ciascun indirizzo nei suoi componenti questo, oltre che valutato come requisito (che si avvicina allo standard) può essere confrontato con chi sia in grado di fornire delle identificazioni maggiori.

    Si può procedere con l'impiego di banche dati certificate come ad esempio:
    https://www.poste-impresa.it/resources/postali/editoriali/postali_pmi/pdf/banchedati_capStreetFile_scheda_prodotto.pdf

    Un ulteriore opportunità è sfruttare gli strumenti offerti dal Web come ad esempio Google Maps, Bing Maps, Mappe Michelin, ecc.) che offrono innumerevoli vantaggi in quanto dotate di una interfaccia in grado di effettuare anche ricerche con elementi parziali e fornire i dati mancati oppure ulteriori informazioni come la cartografia del luogo o la relativa posizione (in latitudine e longitudine) che possono favorire l'opera di valutazione e accettazione dell'indirizzo.
    http://atti.asita.it/ASITA2014/Pdf/104.pd
    Da tenere presente qualora non si voglia impiegare le API di Google Maps (ed i vincoli ivi posti) ci si può collegare direttamente attraverso l'interfaccia e recepire i dati correlati forniti (posizione, percorso, ecc.) un esempio è il seguente:
    "http://forum.ialweb.it/forum_posts.asp?TID=1499357"


    Nel confronto fra indirizzi qualore vi sia una violazione debole, Il processo può stabilire quello preferenziale ed effettuare una bonifica al fine di sostituire l’indirizzo scorretto, memorizzato nell'archivio in esame, con il corrispondente valore ad esso associato dal software di riconoscimento.

    Qualora le operazioni condotte determinino sempre un indirizzo non riconosciuto, il processo di bonifica diventa più complesso e magari solo l’intervento di un operatore umano può favorirne il riconoscimento manuale.

    Se poi si deve operare con indirizzi a livello internazionale diventa moto più complesso e ciascun paese ha le sue regole, come ad esempio:
    https://it.wikipedia.org/wiki/Sistema_di_indirizzo_giapponese
Devi accedere o registrarti per scrivere nel forum
5 risposte