Gianfranco Amadio Il GeoUML Validator a supporto delle operazioni di validazione dei dati Riferimenti bibliografici: DM 10 novembre 2011: Catalogo dati territoriali: I-II parte SpatialDBgroup - GeoUML: Documentazione e presentazioni G. Amadio: Introduzione alla geomatica Flaccovio editore
Sommario Il GeoUML Validator a supporto delle operazioni di validazione dei dati Perché, caratteristiche Controlli Osservazioni
Perchè il validatore Limiti degli strumenti CASE classici: non gestiscono le caratteristiche del modello GeoUML; permettono la generazione della struttura fisica ma non supportano direttamente strumenti operanti sui dati guidati dallo schema.
GeoUML Methodology Tools Il catalogue editor: è lo strumento ingegnerizzato per creare, gestire, navigare un modello concettuale e tenerlo congruente; permette la generazione della struttura fisica: - creare il modello concettuale schema concettuale SC - definire un modello implementativo MI - generare il modello fisico corrispondente MF Il validator è lo strumento software per verificare la conformità di un dataset ad un modello concettuale (SC) all interno di un modello fisico (MF).
Specifica in GeoUML Il Catalogo dei Dati Territoriali èuna particolare Specifica di Contenuto definita tramite il modello GeoUML Per essere conforme a una Specifica di Contenuto, un Data Product deve essere conforme al Modello Concettuale (parte scritto in linguaggio naturale parte scritto come Schema Concettuale).
Il Validator = validazione in fornitura È la procedura attraverso la quale si garantisce che soggetti diversi producano dataset con caratteristiche uguali (modello concettuale) e quindi integrabili verticalmente, in termini di contenuto, ed unificabili in termini di copertura territoriale.
Il validatore (1) L uso di un modello formale come il GeoUML per specificare lo Schema Concettuale rende possibile la verifica automatica della conformità di un Data Product allo Schema Concettuale (conformità di modello).
Il validatore (2) Il validator è lo strumento ingegnerizzato per verificare la conformità di un dataset ad un modello concettuale (SC) all interno di un modello fisico (MF).
Funzionamento del GeoUML Validator Validator Specifiche Report --- ---
Funzionamento del GeoUML Validator GeoUML catalogue SC.scs Dataset da validare Messaggi diagnostici GeoUML validator
Funzionamento del GeoUML Validator Carica i dati in una struttura PostGIS sulla quale esegue una serie di queries per verifiche di: Geometrie, attributi, domini Vincolo referenziali Vincoli topologici Vincoli part whole Genera un DB di reportistica da cui si estraggono report costituiti da liste di errori contenenti gli ID degli oggetti coinvolti.
Verifica l intero modello concettuale Il modello di riferimento è il GeoUML (SCS scritto in XML) Struttura file di consegna Tracciato record Data type Geometrie non ammesse Geometrie duplicate, vertici duplicati etc. Valori attributi consistenti con il dominio Valori attributi tutti non nulli Vincoli generici UUID univoci UUID tutti non nulli Controlli di cardinalità minima Identificazione e chiavi esterne Vincoli topologici (TC,IN,DJ,CR) Vincoli di Composizione (part-whole) Vincoli di composizione Vincoli di appartenenza Vincoli di partizione
Controlli in caricamento (1) Controlli di formato esempi: presenza tabelle/files richiesti presenza attributi compatibilità tipo degli attributi che le stringhe non siano vuote, non siano troppo lunghe Controlli metrici sulla singola geometria (intrageometria) vertici adiacenti duplicati segmenti troppo corti aree troppo piccole
Controlli in caricamento (2) Controlli geometrici di tipo esempi: Compatibili col tipo dichiarato e conversione Congruenza di ogni vertice con lo spazio 2D o 3D Poligoni: chiusura, well formed polygon (frontiere semplici) buchi interni al poligono, intersezione corretta tra le frontiere, path connection) issimple per CPSimplecurve*D isring per CPRing*D e ogni elemento di CXRing*D Connessione per CNCurve*D
Controlli finali Controlli strutturali cardinalità minima attributi unicità UUID e PK integrità referenziale tra tabelle correlate associazioni con tabelle di classe tabelle multivalore, tratti, sottoaree con tabelle classe esistenza di almeno un valore in attributi multivalore vincoli esplicitamente dichiarati.
Contenuto del report Quadro di consegna: classe + n. occorrenze es: Classe: Area di circolazione veicolare AC_VEI 15 Assenza e compatibilità degli attributi (F,E,W); es: PT_QUO PT_QUO_Q Classe: Punto quotatoattributo di classe: Quota compatibilita possibile W Violazioni di cardinalità e univocità es: 1 0.11 Classe: Edificio Attributo a tratti: Ingombro al suolo EDIFC_CR_ED F_IS_SG UUID_EDIFC Cardinalita minima violata Violazioni dei vincoli di chiave esterna es: 1 0.07 Classe: Ponte/viadotto/cavalcavia Attributo multivalore: uso PONTE_PONT Codice inesistente Violazioni dei vincoli GeoUML E_SEDE_PON TE_USO PONTE_USO Riferimento a es: Partitioned CS_EDI.Ingombro_suolo.superficie partizionato EDIFC.Ingombro al suolo.superficie 3
Controllo di univocità, dominio e chiavi Gli errori più frequenti sono: utilizzo di valori fuori dominio o errato utilizzo dei valori di interpretazione del nullo per attributi definiti obbligatori; mancata valorizzazione di attributi o associazioni obbligatorie.
Informazione incompleta e valori nulli Interpretazione dei valori nulli 91 = non conosciuto 93 = non definito 94 = non applicabile NB: il validatore considera comunque questi valori non ammessi.
Caratteristiche geometriche non ammesse Generalmente non sono ammesse le seguenti tipologie geometriche: geometria nulla (empty geometry); geometria sconosciuta (unknow geometry) geometria non valida; geometria con pochi vertici (poligono con due vertici, linea con un vertice); poligoni con area nulla (vertici allineati).
Caratteristiche geometriche non ammesse 1. Buco non contenuto nell area 2. Area non chiusa 3. Buchi sovrapposti 4. Geometrie duplicate 5. Area loop linea loop 6. Kickback/Duplicate Point 7. Brusca divergenza (Kink or Spike) 8. Z-Spike 9. Not monotonic 10. Not flat 11. Area non chiusa in quota 12. Vertici ripetuti con quote differenti 13. Line String not simple 14. Polygon not simple
6. Kickback/Duplicate Point Si ha quando lungo una linea o polilinea la sequenza dei vertici, per un tratto, torna indietro sugli stessi vertici e poi continua A B C D G H E F
11. Area non chiusa in quota Si verifica quando in fase di generazione di un poligono lo snap non è realizzato in quota. Q
13. Line String not simple Si ha quando una line string si intreccia. E un modello quasi mai ammesso.
14.1 Polygon not simple Due possibilità: La sequenza di vertici entra nel buco (1-2-3-4-5-6-7-8-1); Il buco è a parte (1-2-3-7-8-1)-(3-4-5-3). 8 1 5 4 Buco 6 7 2 3
14.3 Polygon not simple 1 2 Le frontiere esterna ed interna si congiungono. 6 5 4 3 9 10 7 8 12 11
14.4 Polygon not simple Poligono con buco sulla frontiera; Poligono con linea (polilinea) in aggetto.
Datatype incompatibili Il Validator segnala valori di attributi numerici incompatibili. Es: PT_QUO PT_QUO_Q Classe: Punto quotato Attributo di classe: Quota compatibilita possibile W
Osservazioni Le operazioni di verifica sono quindi riferite alla fase di consegna da parte del produttore al committente sotto forma di file di consegna nel formato previsto dal MI e SF (comunemente shapefile). Il modello fisico su cui il Validator esegue i controlli è quello di Postgres + l estensione spaziale di PostGIS ed è solo una delle possibilità
Modifica dei dati in validazione I modelli implementativi che lo strumento Catalogue èin grado di produrre sono solo un modello logico e fisico su cui la fase di valutazione si esplica, quindi le eventuali operazioni eseguite dal Validator non hanno feedback sugli shapefile di consegna.
Vincoli topologici e valori nulli Le geometrie nulle invalidano le relazioni topologiche dei vincoli. Si escludono dalla verifica del vincolo gli oggetti delle classi vincolate e vincolanti dei quali non si conosce la geometria da verificare (valore nullo) al momento del calcolo del vincolo; le geometrie non nulle di entrambe le classi sono sempre considerate dai vincoli anche se sono vuote (caso tipico: funzione BND); una classe vincolata vuota soddisfa qualsiasi vincolo; una classe vincolante vuota in generale non soddisfa il vincolo.
Verifiche aggiuntive di conformità reale/modello Continuità e verso delle reti idrografiche Andamento altimetrico monotono dell idrografia
Ruolo del Validator nelle verifiche Permette di eseguire tutte le verifiche di modello con un unico strumento Garantisce omogeneità di conformità in vari lotti o produzioni È disponibile fin dalla fase di produzione (autocontrollo) Può sostituire le numerose procedure che i Verificatori si costruiscono Il Verificatore potrebbe non utilizzarlo (basterebbe ricevere i report) ed effettuare con altri strumenti le verifiche che presentano criticità.
Il GeoUML Validator a supporto delle operazioni di validazione dei dati Perché, caratteristiche Controlli Osservazioni Fine