Basi di Dati Spaziali Daniela Poggioli IREA - CNR DIIAR - Politecnico di Milano Indice 1. Introduzione alle basi di dati • 2. Definizioni e caratteristiche principali Progettazione di una base dati • 3. Esterna, concettuale, logica, interna o fisica Modellizzazione concettuale di dati • • 4. 5. Diagramma entità - relazione Diagramma UML Modellizzazione logica: il modello relazionale Modellizzazione di dati geografici • • Il dato geografico Aspetto spaziale - Dati raster e vettoriali - Geometria e topologia • Aspetto semantico - Accessibilità dei contenuti - Ontologie • Aspetto di qualità - Metadati 6. 7. Cenni ai GIS Il problema dell’interoperabilità • • Infrastrutture di dati spaziali (SDI): definizione L’iniziativa europea Inspire 1. Introduzione alle basi si dati: Definizioni e caratteristiche principali Rappresentare e gestire l’informazione Sistemi informativi, informazioni e dati Basi di dati e sistemi di gestione di basi di dati Linguaggi per le basi di dati Vantaggi e svantaggi dei DBMS Rappresentare e gestire l’ informazione Ogni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Ad esempio: Utenze telefoniche Studenti iscritti ad un corso di laurea Quotazione azioni nei mercati telematici Proprietà catastali Necessitano di strumenti per la dell’informazione e della sua gestione. rappresentazione Rappresentare e gestire l’ informazione Informazione: é parte di qualsiasi attività umana Rappresentazione: il problema di astrarre i concetti importanti da quelli trascurabili per poter modellare la realtà di interesse: ci serve studiare metodi di rappresentazione appropriati Gestione: uso e trasformazione dell’informazione in maniera funzionale agli obiettivi Sistemi informativi, informazioni e dati I sistemi informativi organizzano e gestiscono le informazioni necessarie allo svolgimento di ogni attività di una organizzazione: Sistema Informativo DATI (Attività di organizzazione Informazioni e gestione) 2377540 2377540 Numero matricola Il concetto di sistema informativo è indipendente dalla sua gestione automatica (es. archivi bancari, servizi anagrafici, …) Se è gestito in modo automatizzato => basi di dati Dati = elementi di informazione, che di per sé non hanno interpretazione Informazione = dati interpretati e correlati opportunamente Dati “stabili”: poiché sono una risorsa da mantenere, devono essere indipendenti dalle procedure e applicazioni che operano su di essi Sistemi informativi Un sistema informativo è un insieme di: risorse umane, strumenti di elaborazione, scambio, acquisizione di informazioni, regole e procedure per il loro trattamento. L’obiettivo è quello di memorizzare grandi quantità di informazioni, rendendone disponibili anche le operazioni di modifica e di reperimento L’evoluzione dei sistemi informativi da settoriali a integrati per garantire l’interoperabilità dei dati Gestione dei sistemi informativi Le informazioni differiscono dal tipo di applicazioni e dal loro uso, ma devono avere in comune un sistema di gestione che preveda: Input e verifica dei dati Gestione e memorizzazione dei dati Presentazione e output dei dati Trasformazione dei dati Interazione con l’utente Basi di dati e sistemi di gestione di basi di dati Una base di dati è una collezione di dati utilizzati per rappresentare le informazioni di interesse per un sistema informativo. Un sistema di gestione di basi di dati (DBMS) è un sistema software in grado di gestire collezioni di dati grandi, condivise e persistenti, assicurando la loro affidabilità e privatezza. Come ogni prodotto informatico un DBMS deve essere efficiente ed efficace. Caratteristiche delle basi di dati Grandi: anche migliaia di miliardi di byte (necessità di prevedere gestione dati in memoria secondaria) Condivise: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità, a dati comuni. In questo modo si riduce la ridondanza dei dati e la possibilità di inconsistenze cioè copie non uguali dello stesso dato. Persistenti: i dati devono essere mantenuti, la loro esistenza non è limitata al periodo delle singole esecuzioni dei programmi che le utilizzano. Caratteristiche dei sistemi di gestione di basi di dati Affidabilità: Capacità del sistema di conservare intatto il contenuto della base di dati (funzionalità di salvataggio e ripristino dei dati) Privatezza: Definizione di dell’accesso (autorizzazioni) meccanismi per le limitazioni Efficienza: Capacità di svolgere le operazioni utilizzando un insieme di risorse (tempo di esecuzione e spazio di memoria) accettabile per gli utenti Efficacia: Capacità di rendere produttive le attività dell’utente DBMS: struttura semplificata Database System Applicazioni DBMS Utenti Software per i programmi e le richieste Software per l’accesso Dati Metadati Noi ci occuperemo della progettazione una base di dati Linguaggi per le basi di dati Data Definition Language (DDL) = definisce livelli fisici, logici, esterni del DB (tratta anche le autorizzazioni di accesso) Data Manipulation Language (DML) = per formulare interrogazioni e aggiornamenti delle istanze del DB Alcuni linguaggi (ad es. SQL) presentano in forma integrata le funzionalità di entrambe le catagorie. L’accesso ai dati può avvenire mediante: 1. 2. 3. Linguaggi testuali interattivi (es. SQL) Comandi speciali integrati in un linguaggio di programmazione (Pascal, C, Cobol, ...) Interfacce user-friendly che permettono di sintetizzare interrogazioni senza usare un linguaggio testuale Vantaggi e svantaggi dei DBMS VANTAGGI Permettono di considerare i dati come una risorsa comune, e le basi di dati come modello della realtà Controllo centralizzato dei dati con possibilità di standardizzazione La condivisione porta alla riduzione di ridondanze e inconsistenze Indipendenza dei dati favorisce lo sviluppo e la manutenzione di applicazioni flessibili e modificabili SVANTAGGI Complessi, costosi, hanno specifici requisiti in termini di SW e HW Servizi forniti dai DBMS, in forma integrata 2. Progettazione di base di dati Il ciclo di vita dei sistemi informativi Metodologie di progettazione Fasi di progettazione di basi di dati Modelli dei dati: esterno, concettuale, logico, interno Il ciclo di vita dei sistemi informativi Il progetto di una base di dati si inserisce nel ciclo di vita del sistema informativo che comprende le seguenti attività: Studio di fattibilità Raccolta ed analisi dei requisiti Progettazione Implementazione Validazione e collaudo Funzionamento e manutenzione La progettazione dei dati che individua l’organizzazione e la struttura della base di dati La progettazione delle applicazioni (funzioni), che schematizza le operazioni sui dati e progetta il software applicativo Metodologie di progettazione Una metodologia di progettazione consiste in: Decomposizione dell’intera attività di progetto in passi successivi indipendenti fra loro (ad es. separare le decisioni relative a “cosa” rappresentare e “come” farlo) Insieme di strategie e criteri di scelta da seguire nei vari passi Modelli di riferimento per la descrizione dei dati Metodologie di progettazione: proprietà Le proprietà che una metodologia di progettazione deve garantire sono: La generalità rispetto alle applicazioni (possibilità di utilizzo indipendentemente dal caso di studio e dagli strumenti) La qualità del prodotto in termini di correttezza, completezza ed efficienza in relazione alle risorse impiegate La facilità d’uso sia delle strategie che dei modelli di riferimento Le fasi della progettazione 1. Analisi dei requisiti Individuare e studiare le funzionalità che il sistema dovrà fornire 2. Progettazione Progettazione concettuale Progettazione logica Progettazione fisica Concettuale: Esprime i requisiti di un sistema in una descrizione adatta all’analisi dal punto di vista informatico Logica: Evidenzia l’organizzazione dei dati dal punto di vista del loro contenuto informativo, descrivendo la struttura di ciascun record e i collegamenti tra record diversi. Fisica: A questo livello la base di dati è vista come un insieme di blocchi fisici su disco. Qui viene decisa l’allocazione dei dati e le modalità di memorizzazione dei dati. 3. Implementazione e validazione Realizzazione del sistema informativo e verifica del corretto funzionamento Le fasi della progettazione Come procedo? Dovrò: 1. Modellare dati e relazioni (il mondo reale va descritto) 2. Trovare le strutture appropriate per i dati Ogni fase della progettazione avrà come prodotto uno SCHEMA che fa riferimento ad un MODELLO di dati. Modelli dei dati, schemi e istanze Modello dei dati: è un insieme di concetti che possono essere utilizzati per rappresentare la realtà, per organizzare i dati di interesse e descriverne la struttura. Schema dei dati: rappresentazione di una specifica parte della realtà, che usa un modello dei dati. Istanza: collezione di valori dei dati che rispetta la struttura dello schema. Modellazione esterna dei dati Si devono individuare e studiare le funzionalità che il sistema dovrà fornire. Comporta l’interazione con gli utenti del sistema e gli esperti di dominio e si conclude in una descrizione informale dei requisiti. Uso il linguaggio naturale che però è soggetto ad ambiguità Modellazione concettuale dei dati Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione precisa e completa ma indipendente dai criteri di rappresentazione usati dal sistema informatico scelto per gestire la base di dati (rappresentazione astratta) Uso un linguaggio formale Esempi: Entità-relazione, UML Modellazione logica dei dati Lo schema concettuale definito nella fase precedente viene tradotto nello schema logico che fa riferimento ad un modello logico. Ogni modello logico ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione ancora indipendente dai dettagli fisici ma concreta, in quanto presente nei sistemi di gestioni delle basi di dati. Uso un linguaggio comprensibile al computer (mappatura) Esempi: relazionale, reticolare, gerarchico, a oggetti. Modellazione interna dei dati Lo schema logico viene mappato nella struttura dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici). Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto. IMPLEMENTAZIONE 3. Modellizzazione concettuale di dati Il modello Entità-Relazioni: definizione, associazioni, identificatori, gerarchie e loro proprietà Il modello UML: il diagramma delle classi e le relazioni Diagramma entità relazioni Gli schemi del vari modello esterno descritti nel linguaggio naturale che derivano dall’analisi dei requisiti, vanno rappresentati con un modello concettuale utilizzando un linguaggio formale. Un metodo tra i più utilizzati è l'approccio entità - relazione: linguaggio formale basato sui concetti fondamentali di entità, relazioni, attributi, domini. Entità Sono insiemi di oggetti concettualmente appartenenti ad una stessa classe, aventi proprietà comuni ed esistenza autonoma rispetto agli elementi di altre entità. Ogni entità ha un nome che la identifica univocamente. Es. Città, Dipartimento, Impiegato, Acquisto e Vendita (nel contesto di un’applicazione aziendale) Impiegato Dipartimento Città Una occorrenza di una entità è un oggetto della classe che l’entità rappresenta Relazione E' un legame concettuale tra due o più entità; Ad esempio: Residenza: tra le entità Città e Impiegato Esame: tra le entità Studente e Corso Un occorrenza di relazione è una n-upla costituita da occorrenze di entità. Ad esempio: Residenza: Bologna, Rossi; oppure Firenze, Verdi Ogni relazione ha un nome che la identifica univocamente Graficamente: Studente Esame Corso Relazione Possono esistere relazioni diverse che coinvolgono le stesse entità. Ad esempio: Sede di lavoro Impiegato Collega Residenza Città È possibile avere relazione tra una entità e se stessa. Attributi Descrivono le proprietà elementari di entità e relazioni che sono di interesse ai fini dell’applicazione. Ad es: Cognome, Stipendio e Età sono possibili attributi dell’entità Impiegato Data e Voto sono possibili attributi della relazione Esame tra Studente e Corso Un attributo associa a ciascuna occorrenza di entità o di relazione un valore appartenente al dominio dell’ attributo Dominio: range di valori ammissibili per l’attributo Voto Data esame Matricola Nome Studente Anno di iscrizione Esame Corso Crediti Docente Attributi Attributi composti: Può risultare comodo raggruppare attributi che presentano affinità nel loro significato e uso L’insieme di attributi che si ottiene in questo modo viene detto attributo composto Nome Età Persona Attributi semplici Sesso Via Indirizzo Numero civico CAP Attributi composti Cardinalità delle relazioni Per ogni entità che partecipa alla relazione viene indicata la cardinalità, cioè il numero minimo e massimo di legami che un elemento di quell’entità può formare con le occorrenze delle altre entità coinvolte. La cardinalità rappresenta il numero di volte che una data istanza di entità deve o può partecipare alla relazione, ad es. Libro (0,1) Prestito (0,5) Persona Un libro può essere in prestito o meno, una persona può avere in prestito fino a 5 libri. Cardinalità delle relazioni Nella maggiore parte dei casi, è sufficiente utilizzare solo tre valori: Zero Uno Il simbolo N: indica genericamente un intero maggiore di uno Cardinalità minima: Zero: la partecipazione dell’entità relativa è opzionale Uno: la partecipazione dell’entità relativa è obbligatoria Cardinalità massima: Uno: la partecipazione dell’entità relativa associa a una occorrenza dell’entità una sola occorrenza (o nessuna) dell’altra entità che partecipa alla relazione Molti: c’è una associazione con un numero arbitrario di occorrenze dell’altra entità Cardinalità delle relazioni Osservando le cardinalità massime si ottiene la classificazione seguente: Relazione uno a uno Ordine (0,1) Vendita (1,1) Relazione uno a molti Persona (1,1) Residenza (0,N) Relazione molti a molti Turista (1,N) Prenotazione (0,N) Cardinalità massima pari a uno per entrambe le entità coinvolte: definisce Fattura una corrispondenza uno a uno tra le occorrenze di tali entità. Ogni persona è residente Città in una sola città. Ogni città può avere molti residenti Cardinalità massima pari a N Viaggio per entrambe le entità coinvolte Cardinalità degli attributi Possono essere specificate per gli attributi di entità o relazioni Descrivono il numero minimo e massimo di valori dell’attributo associati a ogni occorrenza di entità o relazione Nella maggior parte dei casi, la cardinalità di un attributo è (1,1) e viene omessa (0,N) Targa automobile Cardinalità minima 0: l’attributo è opzionale (l’informazione potrebbe essere non disponibile) 1: l’attributo è obbligatorio Persona Nome (0,1) Numero patente Cardinalità massima N: l’attributo è multivalore Simbologia Simbologia adottata nel diagramma entità - relazione Identificatori delle entità (chiavi) Descrivono i concetti (attributi e/o entità) che permettono di identificare univocamente le occorrenza delle entità In molti casi, uno o più attributi di una entità sono sufficienti a individuare un identificatore interno (o chiave) Esempio: non possono esistere due automobili con la stessa targa Targa Automobile Modello Colore Identificatore interno Identificatori delle entità (chiavi) Es: un identificatore interno per l’entità Persona può essere Nome, Cognome e Data di nascita Data di nascita Persona Cognome Nome Indirizzo Alcune volte gli attributi di una entità non sono sufficienti a identificare univocamente le sue occorrenze, ad es. Identificatori delle entità (chiavi) Due studenti iscritti a università diverse possono avere lo stesso numero di matricola Per identificare univocamente uno studente serve, oltre al numero di matricola, anche la relativa università Un identificatore corretto per l’entità studente è costituito dall’attributo Matricola e dall’entità Università Questa identificazione è resa possibile dalla relazione uno a molti tra Università e Studente Matricola Anno iscrizione Cognome Nome Studente Università Iscrizione (1,1) (1,N) Città Indirizzo Identificatori delle entità Identificatore esterno: quando l’identificazione di una entità è ottenuta utilizzando altre entità. Una entità E può essere identificata da altre entità solo se tali entità sono coinvolte in una relazione cui E partecipa con cardinalità (1,1). Generalizzazioni Rappresentano legami logici tra una entità E detta padre e più entità E1 ,E2, ..., En dette entità figlie. L’entità E è più generale e comprende le entità figlie. (Struttura gerarchica) Ogni proprietà dell’entità padre è anche una proprietà delle entità figlie (ereditarietà) Es. Gli studenti hanno un nome e un indirizzo Ogni occorrenza di una entità figlia è anche occorrenza dell’entità padre. Es. Gli impiegati sono persone Generalizzazioni Una generalizzazione è totale se ogni occorrenza della classe padre è una occorrenza di almeno una delle entità figlie, altrimenti è parziale. Ad esempio la generalizzazione tra Persona e le entità Uomo e Donna è totale, la generalizzazione tra Veicolo e le entità Automobile e Bicicletta e parziale Veicolo Automobile Bicicletta Generalizzazioni Una generalizzazione è esclusiva se ogni occorrenza della classe padre è al più una occorrenza di una delle entità figlie, altrimenti è sovrapposta Ad esempio la generalizzazione tra Veicolo e le entità Automobile e Bicicletta è esclusiva, la generalizzazione tra persona e le entità Studente e Lavoratore è sovrapposta Le generalizzazioni sovrapposte possono essere trasformate in generalizzazioni esclusive. Si aggiungono una o più entità figlie, per rappresentare i concetti che costituiscono le “intersezioni” delle entità che si sovrappongono, ad es: aggiungere l’entità StudenteLavoratore Generalizzazioni Una stessa entità può essere coinvolta in più generalizzazione diverse Posso esserci generalizzazioni su più livelli (una gerarchia) ESEMPIO: modellizzazione di dati geografici Il Catasto vuole un sistema informativo che permetta di associare le proprietà catastali ai rispettivi proprietari. Le proprietà catastali sono oggetti o "fenomeni” spaziali georeferenziabili tramite indirizzo (posizionamento indiretto) o coordinate del perimetro (posizionamento diretto) Esempi di possibili applicazioni Evidenziare tutte le particelle appartenenti al signor Rossi Dare gli indirizzi e le dimensioni superficiali di tutte le particelle appartenenti al signor Rossi Dare indirizzi e proprietari di tutte le particelle con dimensione maggiore di un certo valore Trovare tutte le particelle adiacenti alle particelle del signor Rossi Verificare se il signor Rossi e il signor Verdi hanno particelle confinanti Dare le dimensioni di tutte le particelle che si affacciano sulla strada "NomeStrada". Stiamo considerando entità di tipo superficiale dobbiamo descrivere non solo le posizioni degli oggetti (particelle) ma anche le loro relazioni con altri oggetti (altre particelle, strade, proprietari,...) ESEMPIO Consideriamo la modellazione solo geometrica dell'aspetto spaziale della carta; come primitive geometriche supponiamo di considerare: • punti • segmenti (curve caratterizzate solo da 2 vertici e dal metodo di interpolazione del cammino minimo) Supponiamo inoltre di avere informazioni relative al nome e tipologia delle strade; all'identificativo e all'indirizzo delle particelle catastali e dati anagrafici relativi ai proprietari delle particelle stesse (Codice Fiscale, Nome, Cognome, Data di Nascita, Luogo di Nascita, Indirizzo). Entità Relazioni Diagramma Entità-Relazione: Il modello UML Esigenza di avere un linguaggio universale per modellare gli oggetti che potesse essere utilizzato dalle aziende produttrici di software. Linguaggio UML (Unified Modeling Language) Linguaggio per la modellazione completa (dati, operazioni, processi e architetture) di applicazioni software che definisce le caratteristiche e le relazioni esistenti tra le diverse componenti di un progetto (es. classi, attributi, procedure, relazioni, moduli, ...). Il modello UML Il linguaggio UML contiene svariati elementi grafici ed utilizza delle regole per combinare i componenti del linguaggio durante la creazione dei diagrammi. I modelli di diagramma sono rappresentazioni grafiche delle componenti del progetto. L’obiettivo dei diagrammi è quello di costruire molteplici viste di un sistema tutte correlate tra di loro. Il linguaggio UML consiste di nove diagrammi di base, ma è possibile costruire e aggiungere diagrammi differenti dagli standard. Il diagramma delle classi Cosa è una classe? Tutti gli oggetti o esseri viventi, spesso, sono riconducibili a determinate categorie che hanno attributi e comportamenti simili. Queste categorie individuano delle classi. La rappresentazione grafica di una classe, entità fondamentale del diagramma delle classi; sono evidenziate le tre parti: nome, attributi e operazioni. Il diagramma delle classi Esempi di classi Indirizzo Street: String City: String GetStreet(): String SetStreet(_street:string) GetCity():String SetCity(_city:String) Punto X: int Y: int Punto(x:int, y:int) X():int Y():int Add(p: punto) Viene indicato il tipo (string) degli attributi che specificano un indirizzo ovvero street e city e quattro metodi. Due mi permettono di ricavare l’informazione contenuta negli attributi e gli altri due di settare un valore degli attributi utilizzando un parametro. Gli attributi che descrivono la classe punto sono di tipo intero (le sue coordinate). I metodi mi permettono di costruire un nuovo punto e di compiere una somma delle coordinate x e y di due punti. Le relazioni Una relazione è una connessione tra elementi UML. Senza le relazioni, un modello di classi sarebbe soltanto una lista di entità che rappresentano un "vocabolario" del sistema. Le relazioni mostrano come i termini del vocabolario si connettono tra di loro per fornire un quadro della parte di progetto che si sta modellando. Esistono diversi tipi di relazioni: Associazioni (normali, aggregazioni semplici, aggregazioni di composizione) Relazioni di dipendenza Relazioni di generalizzazioni Le relazioni: associazioni Una associazione dichiara una relazione semantica tra le classi e rappresenta un insieme di legami tra le istanze di tali classi. Ogni associazione ha almeno due estremi, per ognuno dei quali possono essere definiti: Un nome Una molteplicità (numero di istanze della classe associato ad un estremo che possono essere collegate a ciascuna delle istanze della classe collocato all’altro estremo dell’associazione) Un indicatore di navigabilità Cliente Ordine 1 Utente Password 0..* 1 1 Non solo ad ogni utente è associata una password, ma posso anche raggiungerla. Le relazioni: associazioni Aggregazioni semplici esprimono una relazione tra un insieme e delle parti di tale insieme (“tutto/parte”), ma non implicano vincoli particolari per l’esistenza della parte o dell’insieme. Comitato Persona * * Aggregazioni di composizione implicano vincoli precisi: ogni istanza della classe “parte” può essere riferita ad una sola istanza del “tutto”; inoltre il “tutto” è responsabile per la creazione e la distruzione delle sue parti, che non possono avere una esistenza autonoma. Ordine RigaOrdine 1 1..* Le relazioni: dipendenza e generalizzazione Relazioni di dipendenza Indica che il funzionamento di un elemento richiede la presenza di uno o più altri elementi e che se un elemento viene modificato, potrebbe essere necessario modificare anche ogni elemento che da esso dipende. Dato Fonte dei dati Relazioni di generalizzazione Collega un elemento più generico ad un elemento più specifico; (specializzazione). L’elemento più specifico deve essere pienamente consistente con quello più generico, cioè ne eredita tutte le caratteristiche (attributi, operazioni e associazioni delle sue superclassi), ma ne può definire altre. Entità Geografica Ghiacciaio Esempio: modello di dati geografico Si vogliono rappresentare le entità geografiche e le relazioni coinvolte nella descrizione di applicazioni di monitoraggio glaciologico. 1) Identificare le classi che fanno parte del modello, prendendo in considerazione tutti gli elementi coinvolti nelle applicazioni di interesse. Es. Classi Ghiacciaio, Bacino, Stazione di misura, … 2) Identificare le classi che descrivono i dati derivanti da differenti fonti ( catasto, cartografia, telerilevamento, …) Es. Classi Dato, Fonte dei dati, Qualità, Organizzazione 3) Considerare la rappresentazione di fenomeni spazio-temporali Es. Classi Spazio, Tempo, Evento 4) Creare fra le classi i diversi tipi di relazione Esempio: modello di dati geografico 4. Modellizzazione logica: il modello relazionale I modelli logici per le basi di dati Il concetto di relazione Relazioni con attributi Relazioni e basi di dati Vincoli di integrità Algebra relazionale I modelli logici per le basi di dati Tradizionalmente, esistono tre modelli logici: Gerarchico Struttura ad albero Reticolare Grafo Relazionale Tabelle Negli ultimi 10 anni: a oggetti Le strutture utilizzate dai modelli sono astratte, ma riflettono una particolare organizzazione I modelli logici per le basi di dati I modelli gerarchico e reticolare sono più vicini alle strutture fisiche di memorizzazione, mentre il modello relazionale è più astratto: nel modello relazionale si rappresentano solo valori. Anche i riferimenti fra dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi; nei modelli gerarchico e reticolare si utilizzano riferimenti espliciti (puntatori) fra record. Il modello a oggetti è un ibrido tra queste due concezioni, poiché è di livello alto ma fa uso di riferimenti Il modello relazionale Proposto da E. F. Codd nel 1970 e reso disponibile come modello logico in DBMS nel 1981. Si basa sul concetto matematico di relazione, (teoria degli insiemi). Le relazioni hanno una rappresentazione naturale per mezzo di tabelle. Tabella: rappresentazione grafica di una relazione, (concetto intuitivo) Il modello relazionale Garantisce indipendenza dei dati Utenti che accedono ai dati e programmatori che sviluppano applicazioni fanno riferimento al livello logico dei dati. Cioè, agli utenti e ai programmatori, non serve sapere come i dati sono memorizzati fisicamente. Relazione: tre accezioni Relazione matematica: secondo la definizione data nella teoria degli insiemi; da questa derivano le seguenti: Relazione secondo relazionale dei dati. la definizione del modello Relazione come traduzione di relationship costrutto del modello concettuale Entity-Relationship; che descrive legami tra entità del mondo reale. Prodotto cartesiano Prodotto cartesiano di due insiemi A e B AxB = {(x1,x2) | x1A e x2B} dove (x1,x2) sono coppie ordinate di elementi Per esempio: A = {1,2,4}, B= {a,b} AxB = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)} Relazione matematica Relazione matematica su insiemi A e B (domini della relazione) = sottoinsieme di AxB Per esempio: AxB = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)} Una relazione matematica su insieme A e B potrebbe essere: 1 a R={(1,a),(1,b),(4,b)} Rappresentazione tabellare: 1 b 2 a 2 b 4 a 4 b 1 a 1 b 4 b Relazione matematica Dominio: finito o infinito? Per esempio: {z|z è un numero naturale} è un insieme infinito {y|y è un numero naturale t.c. 18≤y≤ 30 } è un insieme finito In un DB non possono esserci insiemi infiniti Sistemi di calcolo gestiscono solo insiemi finiti Ma è utile ammettere domini infiniti per permettere ad ogni istante di assumere esistenza di un valore non presente nel DB Assumiamo che i DB siano costituiti da relazioni finite su domini eventualmente infiniti Relazione matematica Definizione: Dati n>0 insiemi D1, D2, …, Dn si chiama prodotto cartesiano di D1, D2, …, Dn , indicato con D1×D2×…×Dn, l’insieme delle n-uple ordinate (d1 ,d2,…,dn) t. c. di Di , con i=1,…, n Definizione: Una relazione matematica R sugli insiemi D1, D2, …, Dn è un sottoinsieme di D1×D2×…×Dn Definizioni: D1, D2, …, Dn sono detti domini della relazione R. n è il grado di R. Il numero di n-uple è la cardinalità della relazione. Relazione matematica Esempio: relazione di grado n=3 D1={0,1}, D2={a,b}, D3={rosso,blu} Che cos’è D1xD2xD3? {(0,a,rosso), (0,a,blu), (0,b,rosso), (0,b,blu), (1,a,rosso), (1,a,blu), (1,b,rosso), (1,b,blu)} Una relazione sugli insiemi {0,1}, {a,b}, {rosso,blu} potrebbe essere {(0,b,blu), (1,a,rosso), (1,b,rosso), (1,b,blu)} (Relazione di cardinalità 4) Relazioni e tabelle Per esempio: risultati partite di calcio Juventus Lazio 3 2 Lazio Milan 2 0 Juventus Roma 2 1 Roma Milan 1 2 Sequenza di carattere (stringa) Numero naturale (intero) Relazione R t. c. R Stringa × Stringa × Intero × Intero Relazioni e tabelle Insieme: collezione di elementi Un insieme non contiene duplicati L’ordine degli elementi non è importante Una relazione è un insieme: n-uple della relazione devono essere distinte (no righe ripetute in tabella) n-uple non sono tra loro ordinate (tabelle con stesse righe ordinate in modo diverso rappresentano la stessa relazione) Relazioni e tabelle n-upla contiene dati tra loro collegati, che verificano la relazione L’ordine degli elementi delle n-uple (colonne) è significativo. Se nella tabella precedente scambiamo il terzo e il quarto dominio, cambieremmo il significato della nostra relazione. Ciascuno dei due domini intero e stringa compare due volte, e le due occorrenze sono distinte attraverso la posizione. Ordinamento dei domini di una relazione impone una struttura posizionale degli elementi di n-uple Relazioni con attributi In una relazione, ogni dominio rappresenta un ruolo associamo a ciascuna occorrenza di dominio nella relazione un nome, detto attributo per identificare le rispettive componenti delle n-uple In una tabella: attributo intestazione di colonne della tabella Modificando la definizione di relazione con l’introduzione degli attributi l’ordinamento delle colonne nella tabella, risulta irrilevante: la struttura non è posizionale Relazioni con attributi L’ordinamento non posizionale permette di far riferimento alle componenti delle n-uple in modo non ambiguo. SquadraDiCasa SquadraOspitata RetiCasa RetiOspitata Juventus Lazio 3 2 Lazio Milan 2 0 Juventus Roma 2 1 Roma Milan 1 2 Relazioni con attributi Dati insieme di attributi X={A1,…,An} e insieme di domini D={D1,…,Dm} X Stabiliamo corrispondenza tra attributi e domini mediante funzione DOM: X D Cioè, la funzione DOM associa a ciascun attributo AX un dominio DOM(A) D D7 A3 DOM D Relazioni con attributi Tupla su insieme di attributi X è una funzione t che associa a ciascun attributo A X un valore del dominio DOM(A) Per esempio: t[SquadraDiCasa]=Juventus Relazione (con attributi) su X è insieme di tuple su X n-uple: elementi individuati per posizione Tuple: elementi individuati per attributo Relazioni con attributi: esempio DOM:{SquadraDiCasa, SquadraOspitata, Reti Casa, RetiOspitata} {Stringa, Intero} Cioè: Insieme di attributi X = {SquadraDiCasa, SquadraOspitata, Reti Casa, RetiOspitata} Insieme di domini D = {Stringa, Intero} DOM(SquadraDiCasa) = Stringa DOM(SquadraOspitata) = Stringa DOM(Reti Casa) = Intero DOM(RetiOspitata) = Intero Tabelle e relazioni Una tabella rappresenta una relazione se i valori di ciascuna colonna sono fra loro omogenei (dallo stesso dominio) le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro (perciò i campi sono distinguibili mediante il loro nome e non la loro posizione) Inoltre, in una tabella che rappresenta una relazione: l’ordinamento tra le righe è irrilevante l’ordinamento tra le colonne è irrilevante Tabelle e relazioni Il modello relazionale è basato su valori: I riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle tuple. Altri modelli logici (reticolare e gerarchico) realizzano le corrispondenze in modo esplicito attraverso puntatori. (Modelli basati su record e puntatori) Esempio Base di dati relazionale Base di dati con puntatori Stessa base di dati con puntatori al posto dei riferimenti realizzati tramite valori Vantaggi della struttura basata sui valori Indipendenza dalle strutture fisiche (si potrebbe anche con puntatori di alto livello) che possono cambiare anche dinamicamente Si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione (dell’utente); i puntatori sono meno comprensibili per l’utente finale (senza, l’utente finale vede gli stessi dati dei programmatori) I dati sono trasferibili piu' facilmente da un sistema ad un altro NOTE: • i puntatori possono esistere a livello fisico • nel modello a oggetti esistono i riferimenti, che funzionano da ‘puntatori di alto livello’ Relazioni e Basi di Dati Un DB è solitamente costituito da più relazioni (tabelle) le cui tuple contengono valori comuni (usati per stabilire corrispondenza tra tuple) Per esempio: tabelle che descrivono studenti, esami e corsi Studenti Matricola Cognome Nome DataNascita 276545 Rossi Maria 25/11/1981 485745 Neri Anna 23/04/1982 200768 Verdi Fabio 12/02/1982 587614 Rossi Luca 10/10/1981 937653 Bruni Mario 01/12/1981 Relazioni e Basi di Dati Esami Corsi Studente Voto Corso 276545 28 01 485745 27 04 200768 25 01 587614 24 04 Codice Titolo Docente 01 Analisi Giani 03 Chimica Melli 04 Chimica Belli Schemi di relazioni e di DB Schema di relazione: R(X) Costituita da simbolo R (nome della relazione) e da insieme di nomi di attributi X={A1,…,An} Per esempio: Esami(Studente,Voto,Corso) Istanza di relazione su schema R(X) Insieme r di tuple su X Esami Studente Voto Corso 276545 28 01 485745 27 04 200768 25 01 587614 24 04 Schemi di relazioni e di DB Schema di base di dati: R={R1(X1),…,Rn(Xn)} Insiemi di schemi di relazione con nomi diversi Per esempio: Università = {Studenti(Matricola,Cognome,Nome,DataNascita), Esami(Studente,Voto,Corso), Corso(Codice,Titolo,Docente)} Istanza di base di dati su schema R={R1(X1),…,Rn(Xn)} Insieme r di relazione r={r1,…,rn} dove ogni ri è una relazione sullo schema Ri(Xi) Informazione incompleta ll modello relazionale impone ai dati una struttura rigida: – le informazioni sono rappresentate per mezzo di tuple – solo alcuni formati di tuple sono ammessi: quelli che corrispondono agli schemi di relazione. I dati disponibili possono non corrispondere esattamente al formato previsto, per varie ragioni. ESEMPIO: Tipi di valori nullo Persone n. telefono Sonia Morandi Simone Rossi Angelo Colombi Maria Sordi 02 70638847 Valore sconosciuto Valore non esistente Valore senza informazione Informazione incompleta: soluzioni Non conviene utilizzare valori ordinari del dominio (0, stringa nulla, “99”, etc), per vari motivi: – potrebbero non esistere valori “non utilizzati” – valori “non utilizzati” potrebbero diventare significativi – in fase di utilizzo nei programmi sarebbe necessario ogni volta tener conto del loro significato Si utilizza NULL: valore nullo Viene assegnato agli elementi di tuple inesistenti o sconosciuti E’ un valore aggiuntivo rispetto al dominio di un attributo Informazione incompleta e valori nulli Non tutti gli attributi di una relazione possono assumere valore nullo In definizione di relazione, si può specificare quali attributi non devono mai essere nulli nelle tuple Studenti Matricola Cognome Nome DataNascita 276545 Rossi Maria NULL NULL Neri Anna 23/04/1982 NULL Verdi Fabio 12/02/1982 587614 Rossi Luca 10/10/1981 937653 Bruni Mario 01/12/1981 Informazione incompleta e valori nulli Non tutti gli attributi di una relazione possono assumere valore nullo In definizione di relazione, si può specificare quali attributi non devono mai essere nulli nelle tuple Studenti Matricola Cognome Nome DataNascita 276545 Rossi Maria NULL NULL Neri Anna 23/04/1982 NULL Verdi Fabio 12/02/1982 587614 Rossi 937653 Luca No: matricola usata Bruni per correlare Mario relazione 10/10/1981 01/12/1981 Vincoli di integrità Oltre a imporre restrizioni sulla presenza di valori nulli bisogna evitare la creazione di istanze sintatticamente corrette, ma che non rappresentano informazioni possibili. Un vincolo di integrità è una proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette. Ogni vincolo può essere visto come una funzione booleana (o un predicato) che associa ad ogni istanza il valore vero o falso. Vincoli di integrità Definendo lo schema di un base di dati si associano vincoli di integrità che si riferiscono a tutte le istanze. Questi vincoli permettono di considerare corrette le sole istanze che li verificano tutti Vincoli intrarelazionali Vincolo di tupla Vincolo di dominio Vincoli su assegnamento di valori ad attributi diversi di una tupla Vincolo di chiave Vincoli interrelazionali Vincoli intrarelazionali Vincoli interni a una relazione: Soddisfacimento definito rispetto ad una singola relazione della base di dati Vincolo di tupla: esprime condizioni sui valori di ciascuna tupla indipendentemente dalle altre tuple Vincolo di dominio (vincolo su valori): restrizione su dominio di attributo Vincoli su assegnamento di valori ad attributi diversi di una tupla Vincoli di tupla Esprimibili mediante espressioni booleane (AND, OR, NOT) i cui termini contengono: Uguaglianze, disuguaglianze, ordinamenti di valori di attributo Espressione aritmetiche su valori di attributo Per esempio: Vincolo di dominio (Voto 18) AND (Voto 30) Vincolo su più attributi Pagamenti(Data, Importo, Ritenute, Netto) Netto = Importo - Ritenute Vincoli di chiave Superchiave/chiave: insieme di attributi che identificano univocamente le tuple di una relazione Superchiave: un insieme K di attributi è detto superchiave di una relazione r se r non contiene due tuple t1 e t2 con t1[K]=t2[K] K è una chiave di r se è una superchiave minimale di r Ogni chiave è una superchiave Vincoli di chiave {Matricola} è una chiave è superchiave minimale (contiene un solo attributo) Matricola Cognome Nome Nascita Corso 4328 Rossi Luigi 29/04/79 Informatica 6328 Rossi Dario 29/04/79 Informatica 4766 Rossi Luca 01/05/81 Fisica 4856 Neri Luca 01/05/81 Economia 5536 Neri Luca 05/03/78 Economia Vincoli di chiave {Cognome, Nome, Nascita} è una chiave è superchiave minimale (nessuno dei suoi sottoinsiemi è superchiave) Matricola Cognome Nome Nascita Corso 4328 Rossi Luigi 29/04/79 Informatica 6328 Rossi Dario 29/04/79 Informatica 4766 Rossi Luca 01/05/81 Fisica 4856 Neri Luca 01/05/81 Economia 5536 Neri Luca 05/03/78 Economia Vincoli di chiave {Matricola, Corso} è una superchiave, ma non una chiave Matricola Cognome Nome Nascita Corso 4328 Rossi Luigi 29/04/79 Informatica 6328 Rossi Dario 29/04/79 Informatica 4766 Rossi Luca 01/05/81 Fisica 4856 Neri Luca 01/05/81 Economia 5536 Neri Luca 05/03/78 Economia Vincoli di chiave {Nome, Corso} non è una superchiave Matricola Cognome Nome Nascita Corso 4328 Rossi Luigi 29/04/79 Informatica 6328 Rossi Dario 29/04/79 Informatica 4766 Rossi Luca 01/05/81 Fisica 4856 Neri Luca 01/05/81 Economia 5536 Neri Luca 05/03/78 Economia Vincoli di chiave In questo caso {Nome, Corso} è una chiave, ma non è ben definita Matricola Cognome Nome Nascita Corso 6328 Rossi Dario 29/04/79 Informatica 4766 Rossi Luca 01/05/81 Fisica 4856 Neri Luca 01/05/81 Economia 5536 Neri Luca 05/03/78 Informatica Vincoli di chiave Ogni relazione r, con la schema r(X), ha una chiave Essendo un insieme, r è costituita da tuple diverse tra loro X (insieme degli attributi) è sicuramente superchiave di r X potrebbe essere una chiave di r Se X non è una chiave di r, allora esiste un sottoinsieme Y di X tale che Y è una chiave Importanza delle chiavi Il fatto che ogni schema di relazione abbia almeno una chiave garantisce: L’accessibilità a ciascun dato della base di dati. Ogni singolo valore è univocamente accessibile tramite: nome della relazione valore della chiave nome dell’attributo La possibilità di definire corrispondenze tra dati contenuti in relazioni diverse Individuazione delle chiavi I vincoli corrispondono a proprietà del mondo reale modellato dalla base di dati, quindi interessano a livello di schema (con riferimento cioè a tutte le istanze. Ad uno schema associamo un insieme di vincoli e consideriamo corrette (ammissibili) solo le istanze che soddisfano tutti i vincoli. Li individuiamo: considerando le proprietà che i dati soddisfano nell’applicazione notando quali insiemi di attributi permettono di identificare univocamente le tuple; e individuando i sottoinsiemi minimali di tali insiemi che conservano la capacità di identificare le tuple. Esempio DB Ghiacciai Lombardia OBIETTIVI Creare un modello dei dati che consenta di archiviare e ricercare le informazioni ricavate dall’osservazione protratta nel tempo di ghiacciai alpini da sorgenti diverse (campagna di misura, elaborazione di immagini, …) Grande eterogeneità di dati Ruolo chiave dell’attributo temporale Necessità di non duplicare i dati Necessità di confrontare i dati Flessibilità nella gestione delle variazioni dei corpi glaciali Armonizzazione con database internazionali Collegamento ad un visualizzatore di dati vettoriali Esempio Accesso ai dati di un DB: algebra relazionale Aggiornamento di DB: funzione che, data istanza di DB, produce altra istanza di DB, sullo stesso schema Modifica, aggiunta, rimozione tuple Interrogazione a DB: funzione che, dato un DB, produce una relazione su un dato schema (non necessariamente uno degli schemi definiti nel DB) Aggiornamento e interrogazione vengono effettuati usando specifici linguaggi Ad esempio: algebra relazionale Algebra relazionale Algebra relazionale: basata su insiemi di operatori Definiti su relazioni Producono relazioni come risultati Operatori Insiemistici: unione, intersezione, differenza Specifici: ridenominazione, selezione, proiezione, join 5. Modellizzazione di dati geografici Il dato geografico Definizione di carta Relazioni spaziali fra entità geografiche Cartografia numerica Entità e campi Aspetto spaziale Aspetto semantico Aspetto di qualità: i metadati Il dato geografico Dato caratterizzato da un riferimento spaziale che ci aiuta a collocarlo nel mondo Localizzazione = coordinate x, y (e z) Sistemi di riferimento Dato georeferenziato Ogni documento o evento che si riferisce ad una determinata porzione della superficie terrestre ed è quindi possibile rappresentarlo anche dal punto di vista cartografico mediante carte o immagini da aereo/satellitari. Informazione geografica Informazioni spaziali digitali caratterizzate da: Grande quantità di dati Struttura complessa Differiscono dal dal modo in cui sono ottenute: Collezioni di dati (primari) derivano da varie sorgenti di dati: campagne di misura, dati GPS, immagini telerilevate, foto aeree, … Problemi: delimitazione oggetti (confini fuzzy) e associazione dei valori degli attributi tematici agli oggetti spaziali Dati derivanti da mappe esistenti mappe create dall’integrazione di diverse sorgenti di dati digitali Problemi: eterogeneità delle scale e del sistema di coordinate, qualità dei dati Definizione di carta Una carta è un insieme di punti, linee e aree definite: dalla posizione nello spazio da attributi non spaziali Generalmente si considerano separate planimetria e altimetria. La LEGENDA della carta è la chiave di connessione degli attributi non spaziali alle entità spaziali. Gli attributi non spaziali possono essere indicati visivamente con COLORI, SIMBOLI, SFUMATURE il cui significato è deducibile dalla legenda. Relazioni spaziali tra entità geografiche L'analisi di una carta consente di: dare una conoscenza del territorio sia puntuale (basata sull'osservazione di ogni singolo oggetto) che generale (visione d’insieme); di sviluppare processi logici di tipo deduttivo e induttivo in funzione di relazioni di concomitanza, vicinanza, frequenza,...; Relazioni spaziali tra entità geografiche Le relazioni spaziali tra entità geografiche esistenti su una carta possono essere classificate in vari modi. Una distinzione è quella tra le relazioni che sono indipendenti dall’orientamento, dette RELAZIONI TOPOLOGICHE, e quelle che ne dipendono, dette RELAZIONI DIREZIONALI. Relazioni spaziali tra entità geografiche Le relazioni topologiche tra entità geografiche sono del tipo: equivalenza (si sovrappone completamente); equivalenza parziale (si sovrappone parzialmente, attraversa); contenimento (è interna); adiacenza (è connessa o incontra); separatezza (è disgiunta) Relazioni spaziali tra entità geografiche Le relazioni direzionali includono le seguenti relazioni tra entità: di fronte a dall’altra parte di sopra Sotto descrizioni metriche di angoli azimutali a nord a sud a est a ovest E loro combinazioni Relazioni spaziali tra entità geografiche Si hanno poi relazioni di vicinanza che descrivono la distanza tra entità geografiche sia in termini metrici quantitativi (misura della distanza) che in termini qualitativi, mediante termini quali vicino lontano in prossimità di Relazioni topologiche, direzionali e di vicinanza sono spesso utilizzate combinate tra loro Esempio di relazioni spaziali tra entità • Topologiche b è interno a c a è connesso a c d è disgiunto da a f è sovrapposto a e • Vicinanza a vicino a b f lontano da a • Direzionali g a est di b d a nord di g Cartografia numerica coordinate che descrivono gli schemi spaziali che rappresentano gli oggetti del territorio o le entità geografiche (features); relazioni tra gli elementi di tale rappresentazione; attributi che ne individuano la tipologia. Cartografia numerica La cartografia numerica è in un certo senso un’immagine speculare della cartografia tradizionale: • l’elemento base della cartografia tradizionale è un disegno che contiene in forma implicita le coordinate dei punti • nella cartografia numerica l’elemento base è l’insieme delle coordinate che contiene in forma implicita la sua visualizzazione sotto forma di disegno. La cartografia numerica ha tutti i contenuti e almeno tutte le stesse funzioni di base della cartografia tradizionale. Entità e campi Astraendo dal loro contenuto, i dati georeferenziati possono essere ripartiti nelle categorie principali di campi o di entità. I campi sono rappresentativi di fenomeni continui quasi ovunque nel dominio di definizione. Esempio: il rumore ambientale, l’altimetria del territorio. I campi vengono usualmente discretizzati, e rappresentati mediante matrici regolari di attributi (modello matrix o raster georeferenziato) Entità e campi Alla categoria entità appartengono viceversa gli oggetti discontinui, delimitati spazialmente da confini ben precisi, eventualmente, caratterizzati da specifici attributi. Esempi: la ripartizione del territorio in aree normative, il grafo descrittivo di una rete di infrastrutture di trasporto; In ambito GIS le entità vengono usualmente rappresentate mediante modelli vettoriali, eventualmente topologici, cui vengono associate opportune tabelle di attributi. Fenomeni geografici modellizabili a campi MODELLO DIGITALE DEL TERRENO IMMAGINE TELERILEVATA Fenomeni geografici modellizabili a campi PER UN MODELLO DIGITALE E' POSSIBILE ANCHE UNA RAPPRESENTAZIONE A CURVE DI LIVELLO Fenomeni geografici modellizabili a campi O UNA RAPPRESENTAZIONE A TRIANGOLI IRREGOLARI (TIN) Fenomeni geografici modellizabili a entità MODELLO A ENTITA’ Fenomeni geografici modellizabili a entità MA LA CARTA POTREBBE ESSERE DERIVATA DA UNA IMMAGINE DIGITALE Fenomeni geografici modellizabili a entità Inoltre: • in molti casi può essere più comodo trattare dati grigliati (ad esempio si possono usare algoritmi di algebra matriciale) • non ci sono più, come nel passato, problemi legati all'occupazione di memoria di massa. I FENOMENI GEOGRAFICI POSSONO ESSERE MODELLIZZATI SECONDO UN MODELLO IBRIDO Modellizzazione di dati geografici I dati appartenenti a una base di dati geografici sono sostanzialmente caratterizzati da tre componenti: ASPETTO SPAZIALE ASPETTO SEMANTICO ASPETTO DI QUALITA’ Aspetto spaziale Una volta definito un oggetto come fenomeno singolo del mondo reale lo schema spaziale fornisce la descrizione della sua geometria e topologia. La geometria di un fenomeno, descritta per mezzo di coordinate di punti e funzioni matematiche, usa come elementi standard di base le primitive geometriche. La componente geometrica può essere: • vettoriale (coordinate dei punti che descrivono la forma geometrica) • raster (insieme di pixel corrispondenti al particolare oggetto) La topologia (relazioni topologiche: adiacenza, connessione e contenimento) è invariante per deformazioni elastiche e continue (ad esempio trasformazioni di datum o di sistema di coordinate) ed è descritta a partire da primitive topologiche. Aspetto semantico e di qualità ASPETTO SEMANTICO attributi statistici e/o testuali La componente semantica è data dall’insieme degli attributi di vario dominio (numerico, stringa,…) associati alla parte geometrica del dato. ASPETTO DI QUALITA’ L'aspetto di qualità è descritto mediante le categorie di accuratezza, completezza ed aggiornamento. Aspetto spaziale dei dati geografici Le primitive geometriche descrivono, parzialmente o totalmente, la rappresentazione spaziale di un oggetto mediante coordinate e funzioni matematiche: tutte le posizioni che concorrono alla descrizione di una primitiva devono essere riferite allo stesso sistema geodetico di riferimento e alla stessa scala di rappresentazione (la scala definisce il dettaglio e le approssimazioni rispetto alla "realtà").. Le entità geometriche utilizzate per la descrizione di fenomeni spaziali nel dominio bidimensionale sono: Entità vettoriali punto curva superficie Campi griglia pixel banda raster voxel blocco raster Immagini vettoriali e raster Immagine Vettoriale - E' un sistema di archiviazione di dati grafici secondo il quale gli oggetti vengono memorizzati in base alle coordinate cartesiane dei punti e linee che li compongono. Immagine raster - Qualsiasi immagine può essere pensata come formata da un insieme di piccole aree uguali (pixel), ordinate secondo linee e colonne, tali da costituire una matrice. I valori associati ad ogni cella possono esprimere sia informazioni di tipo grafico (colore, tono di grigio, …) sia di tipo descrittivo (temperatura, pendenza, …). Comprendono immagini digitali ottenute da riprese aeree o satellitari (a colori), ed immagini digitali ottenute da scansione di mappe cartacee (in bianco e nero contenenti linee, tessiture, simboli). Successive elaborazioni possono aggiungere altri attributi ai pixel. Primitive geometriche Punto: è una primitiva geometrica 0-dimensionale, la cui posizione spaziale è descritta da coordinate (posizionamento diretto: insieme ordinato di numeri in un sistema di riferimento di posizioni). Curva: è una primitiva geometrica limitata, continua, monodimensionale e può essere chiusa o aperta. Una curva è descritta da un metodo di interpolazione (cammino minimo, arco, B-spline, …) applicato ad una lista di due o più posizioni dirette. Primitive geometriche Bordo: è un elemento chiuso monodimensionale non intrecciato (né esplicitamente, né implicitamente); può essere composto da una o più curve. Superficie: è una primitiva geometrica limitata, continua, bidimensionale, delimitata da un bordo esterno e da zero o più bordi ( o confini) interni non annidati e non intrecciati. Superficie possibile Superficie non possibile Superficie non possibile Primitive geometriche Struttura (frame): è una primitiva basata su una partizione con areole dello spazio considerato: tali areole sono l'elemento base della struttura. La forma e dimensione delle areole lungo ogni asse del sistema di riferimento scelto per la struttura sono costanti e caratterizzano la struttura stessa. Si considerano strutture bi o tridimensionali: nell’ultimo caso la struttura è una partizione costituita da uno o più piani contigui di righe e colonne contigue, di unità regolari che riempiono una parte limitata dello spazio. Primitive geometriche Griglia: è una distribuzione regolare di punti, derivabile dagli angoli di tassellatura determinati da una struttura. Una griglia è definita in accordo con la specifica struttura che fornisce la posizione spaziale di ogni punto della griglia stessa. Pixel: è una primitiva geometrica bidimensionale, elemento base (o unità) di una specifica struttura bidimensionale. La sua posizione spaziale è definita dal numero di riga e di colonna. P(i,j) Topologia L'aspetto geometrico delle entità geografiche è descritto da coordinate di punti relativamente ad un sistema geodetico di riferimento. Ma la geometria che descrive le entità di un territorio può variare in funzione di molti fattori, ad esempio al variare della scala della rappresentazione digitale. (Scala nominale: rapporto di scala a cui si può riprodurre una carta digitale in modo che abbia gli stessi requisiti qualitativi e metrici della relativa carta tradizionale). Per garantire quindi la consistenza della rappresentazione si devono introdurre dei vincoli e delle relazioni di tipo non metrico. Topologia La topologia è la disciplina matematica che si occupa di connessione e adiacenza di punti e linee e che permette quindi di analizzare le relazioni spaziali tra dati geografici. Una struttura dati topologica determina esattamente come e dove sono connessi punti e linee su una carta numerica per mezzo di congiunzioni topologiche, dette nodi. La teoria dei grafi è lo strumento utilizzabile per rendere consistente una carta numerica descritta per mezzo di primitive geometriche. Un qualsiasi aggiornamento della carta dovrà rispettare i vincoli topologici imposti alle varie entità geografiche coinvolte. Primitive topologiche Le primitive topologiche descrivono gli aspetti topologici delle entità geografiche stabilendo delle relazioni che le connettono. Gli aspetti topologici di un oggetto possono essere descritti da una o più primitive topologiche. Le entità topologiche per una descrizione nel dominio bidimensionale sono: nodo spigolo anello faccia Primitive topologiche Nodo: è una primitiva topologica 0-dimensionale. Si può distinguere tra due tipi di nodi. • Nodo connesso. Si tratta di un nodo connesso ad uno o più spigoli. In questo caso si può ulteriormente distinguere tra nodo che è iniziale o finale di uno spigolo, detto nodo terminale, e nodo che è solo intersezione di lati, in questo caso si parla di nodo intermedio. • Nodo isolato: nodo che non è connesso con nessuno spigolo. Si può osservare che quello che può essere considerato nodo intermedio se riferito ad un determinato spigolo può anche essere terminale rispetto ad un altro spigolo. Primitive topologiche Spigolo: è una primitiva topologica monodimensionale che rappresenta una connessione orientata tra due nodi terminali; i due nodi possono essere coincidenti. Anello: è un insieme ordinato di spigoli connessi che formano un elemento monodimensionale non intersecantesi né implicitamente né esplicitamente. I punti estremanti di un anello convergono allo stesso nodo. Faccia: è una primitiva topologica descritta da un anello esterno e da zero a molti anelli interni. Aspetto semantico dei dati geografici Questo aspetto diventa fondamentale quando si parla di interoperabilità e condivisione dei dati anche sul Web. Ricerca dei dati più adatti al mio scopo Necessità di associare ad essi una semantica strutturata… Problema generale: accessibilità dei contenuti Ricerca di informazione Ricerca di documenti Link Processo cognitivamente molto ricco, ma può essere dispendioso in termini di tempo Motori di ricerca Richiede poca informazione iniziale, ma l’80% del contenuto del web è “nascosto” perché non indicizzato o non indicizzabile. Inoltre la ricerca per parole chiave comporta il fenomeno dei “falsi positivi” (pagine contenenti le parole cercate, ma con l’informazione errata) o dei “falsi negativi” (pagine contenenti sinonimi dei termini cercati) Integrazione di informazione Cooperazione L’informazione che ci interessa può essere contenuta in più documenti e siti diversi. Nulla ci permette ad esempio di descrivere concetti come: prima, dopo, coincidenza, percorso, … Non vengono forniti servizi ad altri servizi, ma solo contenitori di informazioni Una soluzione Ridefinire e ristrutturare i dati su Web in modo che il loro significato sia accessibile, non solo alle persone, ma anche a programmi che li utilizzano per manipolarli, integrarli, renderli disponibili per diverse applicazioni e non solo per mostrarli Semantic Web “Il Semantic Web è un’estensione dell’attuale Web, nella quale all’informazione viene dato un significato ben definito, permettendo così ai computer e alle persone di lavorare meglio in cooperazione.” [Tim Berners-Lee, James Hendler, Ora Lassila, “The Semantic Web”, Scientific American, Maggio 2001] Semantic Web World Wide Web Aumentare le potenzialità del WWW e eliminarne le limitazioni ONTOLOGIE Ontologia in filosofia Branca che studia la natura e l‘organizzazione della realtà “Lo studio dell'essere in quanto essere”, Aristotele (Metafisica) Pone le domande: • Cosa è l‘essere? • Cosa caratterizza l‘essere? Non ha per oggetto una realtà in particolare, bensì la realtà in generale, cioè gli aspetti fondamentali e comuni di tutta al realtà. Come la matematica studia l'essere come quantità; la fisica studia l'essere come movimento, solo l’ontologia studia l'essere in quanto tale, considerando le caratteristiche universali di ogni essere, ed è dunque il presupposto indispensabile di ogni ricerca. Ontologia (informatica) • “Un’esplicita specificazione di una concettualizzazione”, Gruber (1993) • Un‘ ontologia consiste in – uno specifico vocabolario usato per descrivere un dominio – un insieme di asserzioni sul significato inteso dal vocabolario • Un‘ ontologia è una descrizione formale esplicita di un determinato dominio di interesse DESCRIZIONE: Una forma di rappresentazione della conoscenza FORMALE: Simbolica e meccanizzabile ESPLICITA: Elenchi estesi di frammenti di conoscenza DOMINIO: ristretta ad un determinato sottoinsieme dello scibile, affrontato da un certo punto di vista Contenuto di un’ontologia Un insieme di classi = concetti Astrazioni del mondo reale a vari livelli di dettaglio non necessariamente disgiunti e non necessariamente esaustivi Un insieme di relazioni (fra concetti) Le più importanti sono ereditarietà, generalizzazione, particolarizzazione. Esempi: sinonimo, opposto fornito_da, … Un insieme di proprietà Attributi di ciascuna classe Un insieme di restrizioni Impongono il tipo di dato delle proprietà Istanze Rappresentano specifici oggetti del modo reale ereditano attributi e relazioni dalle classi Annotazioni Relazioni fra un’istanza di un oggetto e una classe dell’ ontologia. Rappresentabile mediante la tripla <oggetto, relazione, classe> Osservazioni • Comunicazione tra agenti con diverse “teorie del mondo” Caratteristica e limite delle ontologie: si riferiscono ad un particolare dominio quindi se vogliono comunicare dovranno avere un protocollo comune IT ALBERO Nautica • Condivisione della conoscenza La realizzazione del Semantic Web potrebbe diventare uno strumento per supportare la condivisione e l’evoluzione dell’intera conoscenza umana Botanica Aspetto di qualità dei dati geografici La qualità del dato geografico riguarda aspetti come: accuratezza completezza aggiornamento Questi ed altri aspetti sono espressi mediante i metadati. Dati sui dati: descrizione standardizzata del contenuto, qualità, codifiche e altre caratteristiche dei dati Servono a fornire: • Informazioni sui dati disponibili • Informazioni necessarie per il trattamento e l’interpretazione dei dati Metadati: esempi Sono strumenti che usiamo abitualmente: Etichette Ingredienti, data di scadenza, nome e sede del produttore o del venditore, modalità di conservazione e di utilizzo, tabella nutrizionale, marchi di qualità Libretto istruzioni Documentazione tecnica, istruzioni per l'uso, definizione della destinazione del prodotto, garanzia Bugiardino Composizione, posologia, effetti collaterali, avvertenze, indicazioni e controindicazioni Metadati geografici Domande a cui dovrebbero rispondere: 1. 2. 3. 4. 5. 6. 7. Cosa descrive il dataset? Chi lo ha prodotto? Quali sono i possibili utilizzi? Come sono stati creati i dati? Perché è stato creato il dataset? C’ è la possibilità di ottenerne una copia? Chi ha scritto i metadati? Metadati geografici 1. Cosa descrive il dataset? a. Qual è il titolo? b. Quale area geografica è rappresentata? c. Quali sono i dati della situazione descritta? d. Qual è il formato dell’informazione geografica presentata? e. Quali sono le parole chiave del dataset? f. Quali sono i possibili utilizzi? h. Con che frequenza l’informazione è aggiornata? File XML Metadati geografici: XML <title>Catalonia Topographic Base 1:5.000. Version 2</title> <abstract>Topographic cartography that covers catalan territory.</abstract> <purpose>Topographic base of Catalonia. Needed for the development of technic activities, management and territorial planification within DPTOP and other departments of Generalitat of Catalonia. Also is necessary to other public organisms and private entities. Obtaining of land elevations database of Catalonia.</purpose> <status> <MD_ProgressCode value="underdevelopment" /> </status> <distributorFormat> <b-name>DGN, DXF, E00</b-name> </distributorFormat> <descriptiveKeywords> <keyword>Spain</keyword> <keyword>Catalonia</keyword> <keyword>Topographic cartography</keyword> <keyword>Cartography</keyword> <keyword>Topographic database</keyword> </descriptiveKeywords> <pointOfContact> <organisationName>Institut Cartogràfic de Catalunya</organisationName> <positionName>Responsable de Distribució i Vendes</positionName> </pointOfContact> <MD_MaintenanceFrequencyCode value="irregular" /> Standard per i metadati: XML: struttura fisica XML (eXtensible Markup Language) • E’ una raccomandazione del W3C • È pensato per gestire qualsiasi tipo di contenuto che possa essere descritto in forma di testo • È orientato alla rappresentazione di documenti fruibili tramite Internet • E’ un metalinguaggio: permette tramite la sua sintassi di descrivere altri linguaggi • E’ open source e sta diventando lo standard per l’interscambio dei dati di ogni applicazione 6. GIS (Geographic Information System) (cenni) Definizioni Componenti Applicazioni e finalità Strutture di gestione di basi dati nei GIS Definizione E’ un sistema informativo che tratta dati geografici Un sistema informativo è un insieme organizzato di procedure risorse umane risorse materiali Sono utilizzati per la raccolta l'archiviazione l'elaborazione la comunicazione di informazioni necessarie ad una organizzazione per gestire le proprie attività operative e di governo. Informazioni georeferenziate Informazione georeferenziata: ogni documento o evento che si riferisce ad una determinata porzione della superficie terrestre è un esempio di informazione geografica I dati spaziali o geografici rappresentano fenomeni del mondo reale e sono caratterizzati: dalla posizione nello spazio rispetto ad un sistema di riferimento e di coordinate da attributi non spaziali (colore, temperatura, etc…) dalle reciproche relazioni spaziali (topologiche, direzionali, di distanza) Dati nei GIS ambientali Sfondi cartografici Osservazioni vettoriali e raster sul campo Ortofoto e immagini telerilevate Modelli digitali di superficie Carte tematiche primarie e del terreno Carte tematiche derivate Definizioni di GIS basate sul concetto di Database “un database in cui la maggior parte dei dati sono spazialmente indicizzati e sui quali un insieme di procedure opera per rispondere a query legate ai loro attributi spaziali” Smith T.R., S. Menon, J.L. Starr, and J.E. Estes, 1987.Requirements and principles for the implementation and construction of large-scale geographic information systems. International J. of Geographical Information Systems, 1: 13-31. “ogni insieme di procedure manuali o informatiche usato per memorizzare e manipolare dati georeferenziati” Aronoff S., 1989. Geographic Information Systems: A Management Perspective. WDL Publ., Ottawa, Canada. Componenti di un Sistema Informativo geografico STRUTTURE ORGANIZZATIVE METODI DI LAVORO COMPONENTI HARDWARE COMPONENTI SOFTWARE (motori del GIS) DATI Un GIS non è quindi solo l’insieme dei motori software che si occupano di acquisire e aggiornare, pretrattare, archiviare, analizzare e rappresentare in forma grafica con carte e diagrammi un certo fenomeno georeferenziabile. SISTEMA INFORMATIVO SPAZIALE = MODELLO DEL MONDO REALE Obiettivi e metodi di un GIS La definizione di un GIS prevede contestualmente la definizione dei suoi obiettivi e metodi: per obiettivi del GIS si intende l'insieme di risultati che si vogliono conseguire al momento definizione e creazione del GIS stesso della i metodi del GIS sono invece l'insieme di operatori, codificati in forma astratta, conseguimento di tali obiettivi che permettono il Schema dei GIS ambientali Modellizzazione dei dati nei GIS ambientali Funzionalità di base Funzionalità specifiche Applicazioni ambientali/territoriali dei GIS Stato ambiente/territorio: analisi e controllo Pianificazione delle attività antropiche Azioni per ambiente/territorio Ricerca in campo ambientale/territoriale Finalità delle applicazioni ambientali/territoriali Produzione di archivi geografici, carte tematiche ed inventari (locali o accessibili via Internet) • Automazione dell’elaborazione del Bilancio Territoriale Ambientale; • Automazione della formazione degli strumenti a supporto della ecopianificazione e di governo delle attività attuate sul territorio; • Selezione delle priorità e adeguamento delle politiche ambientali per la formazione di Piani di Azione in campo ambientale. Strutture di gestione di basi dati nei GIS: Sistemi ibridi I GIS che implementano un’architettura ibrida sono caratterizzati da: parte testuale strutturata utilizzando un modello di dati relazionale e gestita da un DB relazionale; parte geometrica gestita da un sistema proprietario appositamente realizzato per rendere possibile la memorizzazione della parte spaziale del dato, utilizzando particolari indicizzazioni la gestione usando algoritmi implementati in dipendenza del tipo di dati che il sistema GIS deve gestire Strutture di gestione di basi dati nei GIS: Sistemi ibridi Strutture di gestione di basi dati nei GIS: Sistemi integrati La componente spaziale (i file delle coordinate dei punti e della topologia degli elementi geometrici) coesiste con la componente testuale (i file degli attributi) ed è in relazione con questa, creando una base di dati geometrico-statistica. Il RDBMS deve avere estensioni spaziali. 7. Il problema dell’interoperabilità • • Infrastrutture di dati spaziali (SDI): definizione L’iniziativa europea Inspire Cosa è una infrastruttura? • E’ un insieme di elementi interconnessi che forniscono una rete per il supporto dell’intera struttura. Esempi: istituzionale, dei trasporti, urbanistica, economica, militare, … • Ha il compito di supportare fondamentali attività, dovrà facilitare il flusso di beni o persone o servizi • Sono necessari enti preposti per la pianificazione dell’infrastruttura e per l’implementazione • Comporta un investimento anticipato e a lungo termine, di costi, impegno e manutenzione Esempio: l‘ infrastruttura stradale garantire il migliore accesso alla rete autostradale Tecnologie: costruzione della rete stradale Politiche: pianificazione e gestione ad ogni livello (locale, statale, …) Standard: indicazioni stradali, segnaletica, informazioni sul percorso ottimizzare le capacità delle reti stradali esistenti garantire l'efficienza e la sicurezza d'esercizio delle strade Infrastruttura di dati spaziali: perchè? Ruolo fondamentale dell’informazione geografica: le sfide principali • Protezione dell’ ambiente • Miglioramento della sicurezza e dei trasporti • Lo sviluppo sociale L’informazione geografica deve essere accessibile, • Miglioramento dei servizi per i cittadini deve essere facile identificare chi la possiede, Cresce la necessità di: si deve poter stimare quanto essa risolve il problema da affrontare, • individuare dove i bisogni sono più pressanti • indirizzare in modo efficace gli interventi • monitorare i risultati e valutare gli impatti come può essere ottenuta, se può essere integrata con altre informazioni SDI: definizione A R M O N I Z Z A Z I O N E Migliore gestione dei dati geografici Tecnologie Politiche SDI Standards Risorse umane • • • • acquisizione elaborazione memorizzazione distribuzione Massimizzazione del loro utilizzo Esempio: l’ NSDI americana Executive order 12906, April 13, 1994 http://www.fgdc.gov/publications/documents/geninfo/execord.html Leadership affidata al Federal Geographic Data Committee (FGDC) Motivazioni iniziali: Riduzione del deficit federale Migliore gestione della spesa per l’informazione geografica In seguito: Promuovere l’uso e il riuso dei dati spaziali per scopi diversi da parte della pubblica amministrazione e dei cittadini Organizzare i servizi necessari per permettere il reperimento e l’accesso all’informazione geografica da parte della collettività Esempio: l’ NSDI americana Le componenti • Geospatial Data Clearinghouse • Metadata • Framework data Dati di base: sia perché molto utilizzati in contesti siadescrizione perché utili per la Network distribuito di produttori, Datidiversi sui dati: costruzione didel altri standardizzata contenuto, qualità, gestori, utilizzatori didati datigeografici geografici codifiche e più altreutilizzati caratteristiche dei dati I temi nel 1994: connessi elettronicamente • Altimetria • Idrografia Servono a fornire: • Unità amministrative • Informazioni sui dati disponibili 2003: geodata.gov • Informazioni necessarie • Ortofoto Il portale per un accesso per il• Trasporti trattamento e alle mappe ai dati e addei altri servizi l’interpretazione dati • Catasto • Rete geodetica Il fenomeno SDI Alcuni riferimenti: – 1986 Avvio di Australian Land Information Council (ALIC) – 1990 Avvio della FGDC (US) – 1993 Creazione di EUROGI – 1994 Clinton Executive Order – 1996 Prima conferenza sulle GSDI (Bonn) – 1996 11 SDI nazionali – 2000 53 SDI nazionali • • • • Europa 13 America 21 Asia e Australia 13 Africa 6 – 2003 120 SDI nazionali Contesto europeo L’Europa diviene sempre più economicamente e socialmente integrata Coscienza di affrontare a livello europeo molti processi: Protezione dell’ ambiente Sicurezza sociale Trasporti Tali processi necessitano di una SDI con un minimo set di dati comune a tutti i paesi della comunità Alcuni di questi hanno avviato il processo di realizzazione della propria SDI a vari livelli (nazionale, regionale o locale) Inspire INfrastructure for SPatial InfoRmation in Europe La commissione europea ha avviato una iniziativa per lo sviluppo di una Infrastruttura di Dati Spaziali Europea Sviluppo di aspetti legislativi per la creazione di una SDI Coordinamento fra il livello europeo e quello nazionale/locale Inspire INfrastructure for SPatial InfoRmation in Europe Prevede la creazione di servizi integrati di informazione spaziale basati su un network distribuito di database, connessi da standard e protocolli comuni che assicurino la compatibilità e l’ interoperabilità L’interoperabilità è la possibilità per due o più autonome entità ( ad es. sistemi, applicazioni, data sets, …) di comunicare e cooperare tra loro in modo significativo. Ciò non deve richiedere particolari sforzi… Sistemi non-interoperabili Web Browser X Web Browser X Web Browser X Web Browser X Web Browser Web Browser X X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser X Web Browser Web Browser X Web Browser X Web Browser X GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS GIS DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA TIGER Map Server GLOBE Visualization Spatial Web Broker STAR Next Surf MapObjects IMS OGDI EnviroMapper ELVIS NetGIS GeoMedia™ WebMap MapXtreme™ PARC Map Viewer Internet Map Server MapGuide™ Orthophoto Browser GIS Viewer CARIS Internet Server ModelServer Imager Mapquest Internet TerraServer Inspire INfrastructure for SPatial InfoRmation in Europe Possibili servizi sono: La visualizzazione delle informazioni L’overlay di informazioni provenienti da fonti diverse Analisi spaziali e temporali Questi servizi devono permettere agli utenti di individuare ed accedere ai dati spaziali di fonti diverse, dal livello locale al livello globale, in modo interoperabile, per scopi diversi Principi INSPIRE : I dati vanno raccolti una sola volta e gestiti dove ciò può essere fatto nel modo più efficace Deve essere possibile combinare informazioni territoriali provenienti da diverse fonti in Europa e condividerle tra più utenti e applicazioni Deve essere possibile che informazioni raccolte ad un livello siano condivise a diversi livelli, con informazioni dettagliate per le analisi, generali per scopi strategici L’informazione geografica necessaria per il buon governo deve esistere ed essere ampiamente accessibile Deve essere facile individuare quale informazione geografica è disponibile, adatta ai propri scopi e le condizioni secondo cui è possibile acquisirla ed usarla I dati geografici devono diventare facili da capire e interpretare in maniera user-friendly tramite tools di visualizzazione Elementi chiave Coordinamento Per gestire il grande numero di data sets derivante da differenti produttori a differenti momenti e per differenti scopi Core data sets Identificazione di alcuni dei data sets più importanti che sono di largo uso fra le diverse comunità di utenti Metadata Documentazione necessaria ad un utente per scoprire se una risorsa delle informazioni esiste, chi la possiede, quali sono i termini per accedere ad essa e se corrisponde agli scopi dell'utente INSPIRE: il modello dell’architettura User applications Clients Access to transformed data, pictures, maps, reports, multi-media content Service chaining: search, display, access, ecommerce, …. Metadata search and retrieval for data and services Catalogs Geo-processing catalog Services Metadata update and Middleware Direct data access Other data Content Repositories e.g., administrative, statistical, env. reporting Coverages Features Distributed Geographic reference data Servers Standard OGC Nome Funzionalità Web Map Service (WMS) Creazione di mappe da datasets raster e vettoriali. Le mappe generate possono essere visualizzate da un comune web browsers Web Feature Service (WFS) Accesso ai dati vettoriali spediti in formato GML (v. 2.1.) al client che può processare questi dati Web Coverage Service (WCS) Accesso ai dati raster in vari formati (tiff, gif, jpeg, bmp, bnm) che possono essere ulteriormente elaborati Web Catalog Service (WCAS) Gestione e query dei metadati che descrivono i dati e i geo servizi. Permettono la ricerca basata su criteri testuali e spaziali Web Gazetteer Service (WFS-G) Servizio che permette la georeferenziazione delle entità geografiche basate su identificatori testuali Web Terrain Service (WTS) Creazione di views di dati 3D (es. il DEM) visualizzabili da qualsiasi web browsers Web Coordinate Transformation Service (WCTS) Permette la trasformazione di coordinate geografiche da un sistema di riferimento di coordinate a un altro WMS Web Map Service La specifica WMS standardizza il modo in cui i clients richiedono le mappe. Un Web Map Service (WMS) produce mappe di dati georeferenziati. La specifica definisce tre operazioni WMS : 1. GetCapabilities fornisce metadati a livello del service, che sono descrizioni sul contenuto delle informazioni del servizio e sui parametri richiesti accettati; 2. GetMap fornisce una mappa i cui i parametri geospaziali e dimensionali sono ben definiti; 3. GetFeatureInfo (opzionale) fornisce informazioni circa particolari features mostrate sulla mappa. La condivisione dei dati territoriali Risorse Specifiche INSPIRE Richiesta di servizi informativi Dati Locali Servizi di Discovery Dati Nazionali Regionali Dati Europei Utenti Pubbliche amministrazioni ed enti governativi Utility & servizi pubblici Integrazione tecnica Utenza Comm. & profess. Politiche dati Enti di ricerca Accordi di collaborazione Associazioni no profit Distribuzione di servizi informativi ISO Cittadini Accesso e qualità dei dati Libro verde sull’informazione del settore pubblico: una risorsa fondamentale per l’Europa (1999) Incremento di accesso viene identificato come cruciale Dati forniti ma quasi mai accompagnati dalla documentazione necessaria Dati non forniti, non perché riservati, ma per la scarsa qualità, incompletezza e disorganizzazione WebMapping Testbed (WMT) • Studio di fattibilità (Ottobre 1999) sulla connessione di servers e clients eterogenei • Un test per la collaborazione fra varie compagnie e agenzie • Ricercare i dati in data servers di varie nazioni, da vari clients Web Client standards, Interfacce Server Data Server Data Server Data OGC Web Mapping Testbed (WMT) WMT distribuirà I dati attraverso map servers usando differenti fornitori Scenario: evento atmosferico catastrofico Immagini Fornitore F Zone allagate Fornitore E Dati per l’evacuazione Fornitore D Dati atmosferici Fornitore A Topografia Fornitore B Dati di censimento Fornitore C Prima del WMT TerraServer - http://terraserver.microsoft.com MapQuest - http://www.mapquest.com EPA - http://www.epa.gov/enviro/enviromapper.html Dati Coverage aree Mappe vettoriali Formati Costi Interoperable Web Mapping Server 1 Dati Coverage aree Mappe vettoriali Formati Costi Server 2 Dati Coverage aree Mappe vettoriali Formati Costi Catalog Service Server 3 Source: Digital Earth, NASA Interoperable Web Mapping Viewer Client: Mappe combinate Server 1: 1 Topografia Topografia? Idrografia? Confini? Server 2: 2 Idrografia Catalog Service Server 3: 3 Confini Source: Digital Earth, NASA Riferimenti Basi di dati, Atzeni, Ceri, Paraboschi, Torlone Appunti del corso di GIS, M. Brovelli