Manuale Programma NoAu 3.4 – Normalizzatore Automatico Edizione Maggio 2004 Indice del Manuale Avvertenze Installazione del programma Generalità Cosa fa il programma Cosa viene normalizzato Setup del programma Output del programma Test del programma Come preparare il file di input Velocità di esecuzione Aggiornamento del database Regole generali per l’aggiornamento Se cambiano tutti i Cap e diventano a 6 o più cifre? Differenze tra versione Demo e versione Ufficiale Avvertenze Lo scopo del programma è quello di migliorare la qualità del database di ingresso cercando di sostituire a dati potenzialmente errati gli equivalenti dati corretti. Il programma cerca di assegnare il corretto COMUNE, CAP, PROVINCIA e VIA (le vie solo per le città capificate a zona) elaborando i dati presenti nel database di ingresso dell’utente (input.txt) ed utilizzando i dati del proprio database. Il database interno dei comuni e delle vie è quello ufficiale delle poste italiane aggiornato a marzo 2004. Non è possibile escludere che, in alcuni casi, il programma possa assegnare dati non corretti ad indirizzi che, interpretati diversamente, possano risultare formalmente corretti. La normalizzazione automatica degli indirizzi non può essere considerata una scienza esatta, nessuna responsabilità potrà essere addebitata all’autore del programma per danni a cose o persone derivanti dalla sostituzione di dati operata dal presente software. Le statistiche effettuate dall’autore del software portano a ritenere che la possibilità di errore (in assenza del flag ‘Dividi la via in singole parole’) possa essere inferiore a 1/1.000.000. Con il flag ‘Dividi la via in singole parole’ attivo tale possibilità potrebbe aumentare, ma a questo corrisponde un netto calo dello scarto totale. Prima della vendita il programma viene fornito in una versione demo che opera sui dati nella stessa identica modalità della versione ufficiale, l’utente ha la possibilità di valutare senza alcun limite temporale e/o operativo i risultati raggiungibili con l’uso del presente software. In alternativa alla versione demo viene offerto un servizio gratuito di normalizzazione , per fare in modo che il cliente acquisti un prodotto del quale ha potuto verificare la qualità. Installazione del programma Posizionare il file Noau_inst.exe sul disco C (o altro direttorio e disco a piacere) Cliccare e dare il comando Unzip Cliccare e dare il comando Close Il programma crea la directory C:\normalizzatore e vi copia i file del database interno. Per lanciare il programma cliccare su C:\normalizzatore\Noau.exe Per installare il programma in un altro direttorio (o disco) cambiare il path di destinazione dei file dopo aver lanciato il file Noau_inst.exe nel box sotto la scritta ‘Unzip to folder’ Generalità Per la struttura del file di input si consiglia di aprire ed osservare il file di input installato dal programma (C:\normalizzatore\input.txt) all’atto dell’intallazione. Il programma è un normalizzatore automatico di Comune, Cap, Provincia, Via e Civico Il programma opera su un file .txt (file di ingresso da normalizzare) a struttura fissa e definita che contiene almeno 4 campi, questi devono contenere : Via con civico – Localita intesa come Comune – Provincia – Cap. I nomi dei campi che devono comparire nel primo record del file C:\normalizzatore\input.txt sono VIA (o INDIRIZZO) – COMUNE (o LOCALITA) – PROVINCIA (o PRO) – CAP Non ha importanza l’ordine con cui questi campi sono presenti. In caso di presenza nel datasase di input del campo ‘VIA’ e del campo ‘INDIRIZZO’ viene considerato unicamente il contenuto del campo ‘VIA’, lo stesso dicasi per le coppie COMUNE (LOCALITA) e PROVINCIA (PRO). Nel file input.txt possono essere presenti altri campi. (Nel campo VIA deve essere inserita la Via seguita o preceduta dal civico) I dati devono fare riferimento a località italiane. La Via potrà contenere caratteri troncati e numeri : - V. Mazzini, 24 V.le Garibaldi, 102 A Corso A. De Gasperi 27 Bis Etc etc La località dovrà contenere solo il comune, anche troncato : - Cologno M. Sesto S. G. Milano Abbiategrasso La Provincia dovrà contenere due lettere maiuscole che individuano la provincia di appartenenza del comune (eventualmente tra parentesi) - MI PA (RM) NB Per San Marino la provincia sarà SM se errata o non presente. Gli indirizzi di SAN MARINO con provincia RN vengono restituiti con RN come provincia normalizzata. Per la Città del Vaticano la provincia è sempre RM Il Cap dovrà essere formato da una sequenza continua di 5 cifre. Tutti i campi ad eccezione del comune (COMUNE) potranno essere vuoti. Cosa fa il programma Compito del programma è, partendo dal comune, individuare cap mancanti o errati, trovare i cap corretti ed associare a questi la provincia ed il comune normalizzati. Nel caso di comuni o province con un unico cap il programma cercherà di interpretare i campi località e provincia e di associarli ad un cap presente in un database interno. Il cap così individuato andrà ad aggiungersi a quello contenuto nel database di partenza, anche se il database di partenza ne fosse sprovvisto. Nel caso di città con più cap (MI, RM, AN … ) il programma utizzerà anche il campo ‘VIA’ per effettuare la sostituzione, se necessario utilizzerà il numero civico presente nel campo ‘VIA’. Il cap così individuato andrà ad aggiungersi a quello contenuto nel database di partenza, anche se il database di partenza ne fosse sprovvisto. Cosa viene normalizzato I campi normalizzati VIA – COMUNE – PROVINCIA – CAP non vengono sostituiti nel database ma vengono aggiunti a questo. La VIA viene normalizzata solo per le 28 citta italiane capificate per via, per le altre citta ed i comuni piccoli la via non viene normalizzata ma viene filtrata, scritta in maiuscolo e resa in parte omogenea dal programma. Setup del programma L’utilizzatore può intervenire nella modalità di normalizzazione agendo sui punti del setup presenti nella form principale del programma. I primi 6 punti sono abilitati per default ma possono essere disabilitati al lancio del programma. I vari setup, che funzionano sia nell’utilizzo su singolo indirizzo che da file, agiscono nel modo seguente : Genera Colonne Modifiche Effettuate Aggiunge due colonne aggiuntive al file di output (outok.txt) che contengono informazioni sulla normalizzazione effettuata sul singolo record. Il Flag ‘Via dubbia’ viene aggiunto solo se il programma ha dovuto utilizzare la routine ‘Dividi la Via in singole parole’ per normalizzare l’indirizzo. Attenzione : anche se il flag ‘Dividi la Via in singole parole’ del setup è attivo, non è detto che l’indirizzo venga normalizzato con tale funzione; la presenza dell’indicazione ‘Via dubbia’ nell’ultima colonna del fileok non indica che la via sia sbagliata, ma solo che quella Via è stata normalizzata dalla routine ‘Dividi la Via in singole parole’ che porta a minimizzare gli scarti ma può introdurre errori nella normalizzazione. Possibili Province Errate in Ingresso (vedi file) Se la provincia trovata nel record di ingresso compare tra quelle contenute nel file C:\normalizzatore\pro\variate.tab il programma tiene conto del fatto che questa provincia possa essere errata. Serve, ad esempio, per recuperare record di database ‘datati’ dove i comuni in provincia di Lodi compaiono ancora come provincia di Milano ( e vale per tutte le province inserite nel file ‘variate.tab’). Usa il CAP per recupero omonimie o eventuali scarti Con questa funzione si cerca di recuperare record nei quali il nome del comune (o la via) non permetta di assegnare un CAP univoco. In questo caso il software si ‘fida’ del CAP presente nei dati di ingresso e lo usa per normalizzare. Es. Lido di ostia RM 00121 In assenza di tale funzione il programma da ‘Non trovato’ poiché esistono Lido di Ostia Levante e Lido di Ostia Ponente che hanno cap differenti, con l’uso del cap il programma riconosce di quale Lido di Ostia si tratta e normalizza il risultato. Dividi la Via in Singole Parole L’utilizzo di questa funzione è molto importante: permette di ridurre gli scarti dovuti a dati di ingresso di bassa qualità ma al tempo stesso potrebbe introdurre delle normalizzazioni errate. Con questa funzione attiva l’indirizzo (VIA) viene segmentato in singole parole, queste parole vengono poi analizzate una per una allo scopo di verificare se esiste un solo unico indirizzo della città dove compare una sola unica volta la singola parola cercata. Esempio : cercando ‘Via Agostino Xyzk 15’ nella città di Bari ci aspetteremmo uno scarto; con questa funzione attiva viene individuata la Via CIASCA CARDINAL AGOSTINO che è l’unica via in Bari che contiene la parola AGOSTINO, quindi il programma assegna all’indirizzo inserito la via trovata con questa regola, se la funzione non fosse attiva il risultato sarebbe ‘Non trovato’ (scarto). Quando il programma utilizza questa funzione per normalizzare la via (ed è attivo il Flag ‘Genera Colonne Modifiche Effettuate’), viene stampato nell’ultima colonna del fileok il Flag ‘Via dubbia’, questo indica che la Via è stata ottenuta per similitudine e che, in alcuni casi, potrebbe essere non corretta. Controlla subito il nome del Comune Con questo Flag attivo il programma esegue subito un controllo per cercare il NOME del COMUNE in tutta Italia senza utilizzare Cap e Provincia, se lo trova assegna all’indirizzo il Cap e la provincia trovati nel database. L’esecuzione di questa routine rallenta leggermente la velocità totale di elaborazione per file scritti male, mentre la accelera per file qualitativamente scritti bene. Riconosci Casella Postale e P. O. Box nelle città multicap Con questo Flag attivo il programma verifica che, per le città multicap, al posto della VIA sia presente una casella postale (scritta anche in forma contratta o P. O. Box). In questo caso esegue due operazioni: normalizza il contenuto del campo VIA con la stringa ‘CASELLA POSTALE’ seguita dalla parte numerica estratta dall’input, poi assegna come CAP normalizzato lo stesso cap dell’input (forzato a 5 cifre con l’aggiunta di zeri iniziali se necessario). Scarta sempre se la Via è vuota Con questo Flag attivo il programma, indipendentemente dal resto del setup e dagli altri dati, scarta sempre l’indirizzo se il campo VIA non contiene almeno un carattere alfabetico Italiano. Quando questo Flag non è attivo, la via vuota determina lo scarto dell’indirizzo solo se la città di riferimento è capificata a vie (Es Milano, Torino etc etc), ossia nei casi in cui è comunque impossibile assegnare il CAP. Civico prima della via : 34, Via G. Bruno Da utilizzarsi quando i dati in ingresso presentano sempre il civico posto prima del nome della via e seguito da una virgola. Provincia scritta nel campo del comune Da utilizzarsi quando nei dati in ingresso la provincia (RM MI TO etc) è scritta nel campo del COMUNE dopo il nome del comune stesso, anche tra parentesi o con trattino. Es. Cologno Monzese – MI , Settimo Torinese (TO) , Borgaro [TO] Attenzione: in questo caso il campo PROVINCIA dovrà essere presente, anche se vuoto. Output del programma Nell’utilizzo ‘Normalizza il file di input’, viene generato un file .txt identico a quello di ingresso ma con aggiunti altri campi, la % di sistemazione garantita sarà maggiore del 95% nel caso in cui i campi di ingresso risultino scritti senza grossolani errori di ortografia e/o abbreviazioni non convenzionali. I campi aggiunti sono COM NORM – VIA NORM – PRO NORM – CAP NORM – MODIFICHE – FLAG VIA I campi MODIFICHE e FLAG VIA verranno aggiunti solo nel caso in cui sia attivato il primo flag nel setup iniziale. Test del programma Per effettuare un test è sufficiente introdurre la Via (con o senza numero), il Comune e la Provincia nei campi specifici della form iniziale. Premendo il tasto “Test Singolo” il programma cercherà i dati mancanti e visualizzerà al centro della form i risultati ottenuti. Se i dati di ingresso non sono sufficienti per normalizzare il dato, nella form centrale appare l’indicazione “Non trovato” Vi possono essere molti motivi per cui il programma non riesce a normalizzare l’indirizzo : 1) Se non viene introdotta la Provincia ed il comune ha degli omonimi in Italia ES VIA : Via G. Garibaldi 32 COMUNE : Albareto PRO CAP Da come esito : Non trovato Motivo : Albareto esiste in due province italiane (PR e MO), se non diamo la provincia e/o il cap il programma non può risolvere in modo univoco. ES VIA : Via G. Garibaldi 32 COMUNE : Albareto PRO : PR CAP Da come esito : 43051 ALBARETO PR ES VIA : Via G. Garibaldi 32 COMUNE : Albareto PRO : CAP 43051 Da come esito : 43051 ALBARETO PR 2 Se cerchiamo una via che non esiste in una città capificata per via ES VIA : Via XXXXX YYYYYY 32 COMUNE : Milano PRO Mi CAP Da come esito : Non trovato Oppure i dati di ingresso possono essere scritti talmente male da non consentire la convergenza del programma verso un solo comune ed una sola via per l’indirizzo inserito in ingresso. Come preparare il file di input Da qualsiasi programma di gestione di database (FileMaker, Access, Excel, dB4 etc etc) è possibile esportare i dati in file .txt con l’utilizzo del Tabulatore come delimitatore di campo. Assicurarsi di aver dato alle 4 colonne fondamentali il nome corretto e di esportare i nomi come primo record. I dati vanno esportati senza l’uso di quantificatori di testo (si sceglie ‘nulla’ nella casella corrispondente). Oltre ai 4 campi citati si possono lasciare inalterati tutti gli altri campi presenti nel database iniziale, questi verranno poi riportati nel file di output. Velocità di esecuzione Il programma riesce a normalizzare da 15.000 fino a circa 30.000 record/ora per dati che fanno riferimento a tutta Italia. Se i dati sono appartenenti ad una sola città capificata per via, il tempo di elaborazione aumenta molto, ad esempio per dati che si riferiscono alla città di Roma potrebbero essere necessari anche 6/8 secondi per singolo indirizzo (nel caso peggiore e con tutti i flag attivi). Per aumentare sensibilmente la velocità è importante ordinare i dati del file di ingresso per COMUNE in modo da evitare il caricamento in memoria di un file diverso per ogni indirizzo da normalizzare. Aggiornamento del database Il database del programma è quello ufficiale delle poste italiane, trattandosi di un programma di ausilio alla postalizzazione, il database ufficiale delle poste, benchè non esente da difetti, risulta essere il più idoneo allo scopo. E’ comunque possibile aggiornare il database per adattarlo alle proprie esigenze. Aggiornare il database significa introdurre dei nuovi dati (o sostituire quelli presenti) che verranno utilizzati durante l’esecuzione del programma. La modalità di aggiornamento verrà illustrata con un esempio per ogni caso. Esempio 1 : aggiunta di un nuovo comune o località Supponiamo che in provincia di Milano venga istituito un nuovo comune denominato Rondinella Milanese con Cap 20023 Per aggiornare il database si deve inserire la stringa MI ->20023-> RONDINELLA MILANESE ( -> rappresenta il carattere tabulatore ‘TAB’) in Coda al file MI.tab presente nel direttorio C:\normalizzatore\Pro ed in Coda al file tutti.tab presente nel direttorio C:\normalizzatore\Pro Esempio 2 : aggiunta di una nuova via di Milano con cap fisso Supponiamo che in Milano venga istituita la Via Tizio Caio e Sempronio con cap 20154 Per aggiornare il database si deve inserire la riga MI->20124->TIZIO CAIO E SEMPRONIO->VIA->T->1->10000 ( -> rappresenta il carattere tabulatore ‘TAB’) In Coda al file Milano.tab presente nel direttorio C:\normalizzatore\Citta Esempio 3 : aggiunta di una nuova via di Milano con cap variabile in funzione del civico Supponiamo che in Milano venga istituita la Via Tizio Caio e Sempronio con i seguenti CAP 20124 tutti i pari da 2 a 24 20125 tutti i dispari da 1 a 25 20126 tutti i civici oltre il 25 Per aggiornare il database si devono inserire le righe MI->20124->TIZIO CAIO E SEMPRONIO->VIA->D->1->25 MI->20125->TIZIO CAIO E SEMPRONIO->VIA->P->2->24 MI->20125->TIZIO CAIO E SEMPRONIO->VIA->R->26->10000 -> rappresenta il carattere tabulatore ‘TAB’ In Coda al file Milano.tab presente nel direttorio C:\normalizzatore\Citta Regole generali per l’aggiornamento I nomi dei comuni o delle vie vanno scritte sempre per intero senza punti e senza abbreviazioni. Sono ammessi apostrofi ed accenti, gli apostrofi non devono essere seguiti da caratteri vuoti (blank) Se cambiano tutti i Cap e diventano a 6 o più cifre? Il programma puo’ essere aggiornato e continuare a funzionare correttamente, basta sostituire il nuovo cap a 6 o più cifre in tutti i file presenti nei sottodirettori di installazione. Come minimizzare gli scarti Decidere il setup da usare dopo aver analizzato i dati da normalizzare, per ottenere il risultato migliore potrebbe essere necessario lanciare più volte il programma con setup differenti, agire nel modo seguente : lanciare con il setup adeguato il programma sul file da normalizzare; successivamente utilizzare il file di scarto come input per rilanciare il programma con il nuovo setup (dopo averlo rinominato come input.txt). Il setup proposto all’avvio dovrebbe essere corretto nella maggioranza dei casi. Differenze tra versione Demo e versione Ufficiale La versione Demo del programma funziona in modo identico alla versione ufficiale. L’unica differenza consiste nel fatto che la Demo introduce casualmente degli asterischi (*) nelle stringhe dei campi : VIA NORMALIZZATA CAP NORMALIZZATO COMUNE NORMALIZZATO La presenza degli asterischi permette di valutare ugualmente l’operato del programma senza la possibilità di un suo utilizzo commerciale. Nota per gli utilizzatori Il programma di normalizzazione NoAu viene costantemente aggiornato e migliorato dall’autore. Gli input per i miglioramenti sono stati forniti dagli utilizzatori che, usandolo frequentemente, sono le sole persone che possono suggerire upgrade o individuare eventuali bachi del software. Per definizione non esistono software esenti da difetti, quindi anche questo programma potrebbe averne, Vi invito a comunicarmi le incongruenze che incontrerete nell’uso di questo software, sarà mia cura valutare le vs indicazioni e provvedere, se necessario, alla sostituzione del codice. Il programma viene fornito con l’abilitazione necessaria per funzionare su 3 Personal Computer di Vs scelta. I PC devono essere appartenenti alla vs azienda o comunque in dotazione a vs personale. Potete distribuire liberamente i file di installazione del software a scopo dimostrativo, su macchine non abilitate il proghramma gira sempre in demo mode. Modifiche introdotte nelle varie Release Aggiunta routine che gestisce i comuni scritti con il carattere “/” e “\” Tipo Cernusco S/N – Sesto S/G etc etc 2.5 Effettuato upgrade di 3 routine interne per aumentarne la precisione. 2.6 Sistemato classe problemi tipo S. GIULIANO M. SE 20098 2.7 Velocizzate routine per risolvere S. GIULIANO M. SE 20098 2.8 Aggiunta controllo su campo CAP contenente lettere, Aggiunto controllo per presenza della virgola nei campi VIA e COMUNE, Aggiunto controllo dei caratteri ‘0’ (zero) inseriti al posto della ‘O’ (o maiuscola) nel campo COMUNE. 2.9 Migliorata la velocità di esecuzione di alcune routine 3.0 Aggiunto il flag che conta e mostra sullo schermo i record a cui è stato correto il CAP, aggiunto un controllo sulle vie che contengono la particella ‘DI’ (spec. in Roma). Aggiunto controllo su Vie con accento (tipo VIA PO’ in ROMA). 3.1). Aggiunto FlagVia con visualizzazione nel fileOk della colonna FlagVia con la dicitura ‘Via dubbia’ quando il programma utilizza l’utility ‘Dividi la via in singole parole’. Aggiunta la possibilità di installare il software sotto qualsiasi direttorio. Aggiunto Flag interno per sistemazione Vie con ‘MONTE ‘ e ‘MONTE’ all’interno. Aggiornato database Città capificate a zone con l’aggiunta di circa 100 Vie. 3.2) Introdotta la provincia di Pesaro (Pesaro Urbino) con sigla PU, sistemato baco con flag ‘Provincia nel campo del comune’ attivo e provincia assente 3.3) Ottimizzato il funzionamento delle routine per la gestione dei nomi dei comuni scritti con lettere puntate (Gardone V. T.) – Eliminato possibile errore quando lunghezza campo città = 1 3.3) Aggiunto riconoscimento Q.re come Quartiere in data 3 Feb 2004 3.3) Eliminato possibile errore quando lunghezza campo cap = 1 in data 3 Feb 2004 3.3) Ottimizzata la gestione delle vie con parole troncate e seguite da punto (VIA G. D’ANNUNZIO a Pescara), eliminati i caratteri ‘doppio apice’ dai campi che vengono elaborati. 5 marzo 2004 3.3) Introdotto controllo che associa alle vie di Venezia che iniziano con C. il toponimo CALLE invece che CORSO. 3.4) Migliorato il controllo che riconosce le estensioni del civico. Introdotto riconoscimento della Casella Postale (o P. O. Box) al posto della VIA per le città multicap, in questo caso il programma porta in output il CAP presente nel file di ingresso forzandolo a 5 cifre (se necessario) mediante l’aggiunta di zeri iniziali. Maggio 2004 2.4