Sistemi Informativi Territoriali



Documenti analoghi
Corso di Basi di Dati Spaziali. Modelli logici. Definizioni e notazioni - 1. Il modello relazionale. Definizioni e notazioni - 3

LE FUNZIONI A DUE VARIABILI

(anno accademico )

Il Modello Relazionale

Progettaz. e sviluppo Data Base

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Organizzazione degli archivi

Progettazione di Basi di Dati

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

BASE DI DATI: sicurezza. Informatica febbraio ASA

Introduzione alla teoria dei database relazionali. Come progettare un database

Il Modello Relazionale

MODELLO RELAZIONALE. Introduzione

Introduzione ai database relazionali

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Sistema Informativo Geografico:

Strutturazione logica dei dati: i file

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Sistemi Informativi Territoriali

Gestione delle tabelle

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Lezione 8. La macchina universale

Strumenti di modellazione. Gabriella Trucco

CURVE DI LIVELLO. Per avere informazioni sull andamento di una funzione f : D IR n IR può essere utile considerare i suoi insiemi di livello.

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Lezione 1. Introduzione e Modellazione Concettuale

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Sistemi Informativi Geografici

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

I database relazionali (Access)

Dati relazionali e XML

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Operazioni sui database

GESTIONE della BASE di DATI

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

BASI DI DATI - : I modelli di database

Traccia di soluzione dell esercizio del 25/1/2005

naturali che si trovano ad una distanza minore di Vogliami gestire i dati relativi ai parchi naturali e siamo interessati a sapere quali sono i parchi

Lezione V. Aula Multimediale - sabato 29/03/2008

Database. Si ringrazia Marco Bertini per le slides

Dimensione di uno Spazio vettoriale

Sistemi di Elaborazione dell Informazione

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Introduzione all Algebra Relazionale

SQL/OLAP. Estensioni OLAP in SQL

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource

DATABASE. A cura di Massimiliano Buschi

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

1. PRIME PROPRIETÀ 2

Calcolatori: Algebra Booleana e Reti Logiche

Sistemi di Elaborazione dell Informazione. Cosa sono i dati spaziali? Acquisizione dei Dati Spaziali. Modelli per Dati Spaziali. Livelli di Astrazione

DATABASE RELAZIONALI

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Capitolo 13. Interrogare una base di dati

Chi non risolve esercizi non impara la matematica.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

CONVESSITÀ NELLA GEOMETRIA DEL TAXI DI MINKOWSKI

Una metodologia di progettazione di applicazioni web centrate sui dati

Lezioni di Matematica 1 - I modulo

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Introduzione ai GIS. Potenzialità e limiti & software in commercio

Programmazione a Oggetti Modulo B

Introduzione al MATLAB c Parte 2

Vincoli di integrità

Facoltà di Farmacia - Corso di Informatica

I Sistemi Informativi

2 FUNZIONI REALI DI VARIABILE REALE

ALGEBRA DELLE PROPOSIZIONI

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Progetto di basi di dati Laboratorio di diagnosi mediche

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

DISEGNO TECNICO INDUSTRIALE

La Metodologia adottata nel Corso

ELEMENTI DI GEOMETRIA ANALITICA: LA RETTA.

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Esempi di funzione. Scheda Tre

Sistemi Informativi Geografici e Basi di Dati Spaziali. Corso di Basi di Dati Spaziali. Sistemi Informativi Geografici (GIS) Sistema Informativo

Rappresentazione di oggetti 3D

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Archivio CD. Fondamenti di Programmazione

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione all Information Retrieval

Progettazione di un Database

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Sistemi Operativi. 5 Gestione della memoria

I file di dati. Unità didattica D1 1

IL SISTEMA INFORMATIVO

Elena Baralis 2013 Politecnico di Torino 1

Corso sul linguaggio SQL

La rubrica degli indirizzi di posta elettronica associati al dominio scuole.piemonte.it

Transcript:

ANNO ACCADEMICO 2004-2005 SISTEMI INFORMATIVI GEOGRAFICI SISTEMI INFORMATIVI TERRITORIALI (SIT) GEOGRAPHICAL INFORMATION SYSTEMS (GIS) Sistemi Informativi Territoriali 3. I sistemi per la gestione delle basi di dati geografiche: un modello di riferimento per la progettazione logica. ALBERTO BELUSSI NOVEMBRE 2004 1

Siisttemii per lla Gesttiione dii Basii dii Dattii Geografiiche Premessa Consideriamo il modello relazionale come modello di riferimento per i sistemi che gestiscono basi di dati tradizionali. La componente geometrica del dato geografico non può essere rappresentata nel modello relazionale utilizzando un insieme di attributi di tipo numerico che contengano coordinate, in quanto: a) i metodi tradizionali per l'accesso ai dati (indici) non sono adeguati per le interrogazioni spaziali, b) l'utente non e' in grado di interagire con un'interfaccia che spezza i valori geometrici in coordinate semplici, c) non esiste supporto alle interrogazioni spaziali. Un sistema per la gestione di basi di dati basato sul paradigma Object- Oriented non può essere adottato per due motivi: a) le prestazioni di questi sistemi sono ancora insufficienti per questo tipo di applicazioni, b) l'integrazione con basi di dati relazionali è difficoltosa. Soluzione attuale Sistemi dedicati al dato geografico (Geo-DBMS) o con moduli aggiuntivi specifici per la gestione del dato geografico. Adottano un modello dei dati geo-relazionale. 2

Siisttemii Per lla Gesttiione dii Basii dii Dattii Geografiiche Geo-DBMS Definizione di Geo-DBMS secondo Güting (1994): 1. un sistema per la gestione di dati geografici (Geo-DBMS) e innanzitutto un sistema per la gestione di dati (DBMS); 2. esso offre tipi predefiniti (Spatial Data Types - SDT) per rappresentare il dato geografico nello schema e per trattare il dato geografico nel linguaggio di interrogazione; 3. esso offre un implementazione dei dati geografici che include almeno l'accesso ai dati geometrici attraverso un indice spaziale e un algoritmo efficiente per l operazione di join spaziale. 3

Siisttemii Per lla Gesttiione dii Basii dii Dattii Geografiiche Il modello dei dati di un Geo-DBMS La maggior parte degli attuali Geo-DBMS adotta un modello dei dati georelazionale. Tale modello è un'estensione del modello relazionale che presenta domini e operatori specifici per rappresentare e manipolare il dato geografico. NOTA: Un modello simile potrebbe essere ottenuto in un sistema objectrelational istanziando domini e metodi specifici per il dato geografico. Tuttavia, rispetto ad un Geo-DBMS, in un sistema object-relational personalizzato per il dato geografico mancherebbero i metodi d'accesso dedicati alle interrogazioni spaziali, gli operatori più complessi e tutta la parte di gestione della grafica dovrebbe essere realizzata dal programmatore dell'applicazione. Quali estensioni sono necessarie al modello relazionale per trattare il dato geografico? Introduzione di uno o piu Spatial Data Types (SDT) Estensione del linguaggio di interrogazione (algebra relazionale) 4

Un modellllo llogiico dii riiferiimentto per Geo-DBMS Spatial Data Types (SDT) Caratteristiche principali! geometria lineare: i componenti di base sono punti, segmenti di retta, spezzate, spezzate chiuse; le equazioni sono quindi lineari, vale a dire del tipo: ax + by + c = 0! valori "mono-dimensionali": si definisce un SDT specifico per ogni dimensione: - 0 (punto/point), - 1 (spezzata/polyline), - 2 (poligono/polygon). 5

Un modellllo llogiico dii riiferiimentto per Geo-DBMS Spatial Data Types (SDT) Definizioni di base (Worboys, "GIS: a computing perspective") Spazio di riferimento: Piano Euclideo (R 2 ) Punto: P = (x,y) Y P a y b Q x X a è il vettore che individua il punto P in R 2. Distanza tra due punti P e Q individuati dai vettori a = (x a,y a ) e b = (x b,y b ): PQ = a - b = (x b -x a ) 2 + (y b -y a ) 2 Operazioni sui vettori: a + b = c c = (x a +x b, y a +y b ) a b = d d = (x a x b, y a y b ) λa = e e = (λx a, λy a ) 6

Segmento di retta per i punti P e Q individuati dai vettori a e b: s = {λa + (1 λ)b λ [0,1]} chiamiamo estremi del segmento i punti: s.e 1 = Q (λ=1) e s.e 0 = P (λ=0) Spezzata (Polyline): è un insieme di segmenti di retta sp = {s 1,...,s n } tali che ogni estremo di segmento è condiviso da esattamente due segmenti, eccetto al massimo due estremi detti estremi della spezzata. Data la spezzata sp = {s 1,...,s n }, se vale la seguente condizione: ( s i,s j sp)(i j (s i s j = s i.e 0 = s j.e 0 s i.e 0 = s j.e 1 s i.e 1 = s j.e 0 s i.e 1 = s j.e 1 )) (la spezzata non si autointerseca), allora la spezzata si dice spezzata semplice. Se una spezzata non ha estremi si dice spezzata chiusa. spezzata spezzata semplice spezzata chiusa Ogni spezzata sp è orientata in quanto è definito quale è il suo primo estremo (sp.e 0 ) e quale il secondo (sp.e 1 ) 7

Poligono semplice (Simple Polygon): data una spezzata chiusa sp, è la porzione di R 2 delimitata da sp. sp fa parte del poligono (il poligono è un insieme di punti chiuso). poligono semplice Poligono bucato (Polygon): data una spezzata sp e un insieme di spezzate chiuse H={sp 1,..., sp n }, è la porzione di R 2 delimitata da sp alla quale siano tolte le porzioni di piano delimitate da ciascuna sp i H. La spezzata sp e tutte le spezzate di H sono parte del poligono (il poligono è un insieme di punti chiuso), inoltre valgono le seguenti condizioni: - tutte le spezzate di H sono contenute nel poligono semplice delimitato da sp. - tutte le spezzate di H non intersecano sp. (sp interseca sp' se esiste almeno un segmento s di sp e un segmento s' di sp' tali che s s' ) - (sp i,sp j H)(i j ((sp i non interseca sp j ) (sp i non è contenuta nel poligono delimitato da sp j )) poligono bucato poligoni non ammessi 8

Un modellllo llogiico dii riiferiimentto per Geo-DBMS Spatial Data Types (SDT) POINT Def: E' un insieme finito P di punti di R 2. Boundary of P: è l'insieme vuoto. Interior of P: è P stesso. Proprietà: Dato P: POINT: - P.X: REAL; coordinata x del baricentro di P. - P.Y: REAL coordinata y del baricentro di P. - P.Distanza(Q: POINT): REAL distanza euclidea tra il baricentro di P e il baricentro di Q. - P.NumPunti: INTEGER numero di punti presenti in P. - P.Punto(I: INTEGER): POINT i-esimo punto presente in P. - P.Unione(Q: POINT): POINT genera l'unione dei due insiemi di punti. Si suppone definito anche l'operatore di uguaglianza: P = Q. 9

Un modellllo llogiico dii riiferiimentto per Geo-DBMS Spatial Data Types (SDT) LINE Def: E' un insieme di spezzate L di R 2 tali che nessuna coppia di spezzate abbia come intersezione una spezzata. Boundary of L: è l'insieme di punti R 2 costituito dagli estremi delle spezzate tolti gli estremi che appartengono a più di una spezzata. Interior of L: è l'insieme di punti R 2 costituito dalle spezzate senza gli estremi che costituiscono il Boundary of L. Proprietà: Data L: LINE: - L.Boundary: POINT; boundary di L. - L.NumSpezzate: INTEGER numero di spezzate di L. - L.Lunghezza: REAL lunghezza di L ottenuta sommando la lunghezza di tutti le spezzate che la compongono. - L.Semplice: BOOLEAN true se l'unione delle spezzate di L è una spezzata semplice. - L.Chiusa: BOOLEAN true se l'unione delle spezzate di L è una spezzata chiusa. 10

- L.Unione(K: LINE): LINE genera un valore di tipo LINE che rappresenta l'unione delle due linee L e K. - L.IntersezioneL(K: LINE): LINE genera un valore di tipo LINE che rappresenta l'intersezione delle due linee L e K. Se l'intersezione è costituita solo da punti allora produce l'insieme vuoto. - L.IntersezioneP(K: LINE): POINT genera un valore di tipo POINT che rappresenta l'intersezione delle due linee L e K. Se l'intersezione è costituita solo da spezzate allora produce l'insieme vuoto. Se nell'intersezione sono presenti spezzate e punti isolati, restituisce solo questi ultimi. Si suppone definito anche l'operatore di uguaglianza: L = L'. 11

POLYGON Un modellllo llogiico dii riiferiimentto per Geo-DBMS Spatial Data Types (SDT) Def: E' un insieme G di poligoni bucati di R 2, tali che ogni coppia di poligoni costituisce un insieme di punti non connesso. Boundary of G: è costituito dalle spezzate che delimitano i poligoni di G. Interior of G: è il poligono senza le spezzate che lo delimitano. Proprietà: Data G: POLYGON: - G.Frontiera: LINE; valore geometrico di tipo LINE che costituisce la frontiera esterna del poligono. - G.Boundary: LINE valore geometrico di tipo LINE che costituisce la frontiera del poligono. - G.Semplice: BOOLEAN true se G è semplice. - G.NumBuchi: INTEGER numero di buchi presenti nel poligono G. - G.Perimetro: REAL lunghezza del perimetro di G ottenuto sommando la lunghezza di tutte le spezzate che lo delimitano. - G.Area: REAL misura dell'area del poligono G. 12

- G.Unione(H: POLYGON): POLYGON genera un valore di tipo POLYGON che rappresenta l'unione dei due poligoni G e H. - G.IntersezioneG(H: POLYGON): POLYGON genera un valore di tipo POLYGON che rappresenta l'intersezione dei due poligoni G e H. Se l'intersezione è costituita solo da punti e/o linee allora produce l'insieme vuoto. - G.IntersezioneL(H: POLYGON): LINE genera un valore di tipo LINE che rappresenta l'intersezione dei due poligoni G e H. Se l'intersezione è costituita solo da punti e/o da poligoni allora produce l'insieme vuoto. Se l'intersezione presenta oltre a spezzate anche poligoni e/o punti restituisce solo le spezzate. - G.IntersezioneP(H: POLYGON): POINT genera un valore di tipo POINT che rappresenta l'intersezione dei due poligoni G e H. Se l'intersezione è costituita solo da linee e/o poligoni allora produce l'insieme vuoto. Se l'intersezione presente oltre a punti isolati anche linee e/o poligoni restituisce solo i punti isolati. Si suppone definito anche l'operatore di uguaglianza: G = G'. G 1.IntersezioneG(G 2 ) G 1 G 2 G 1.IntersezioneL(G 2 ) G 1.IntersezioneP(G 2 ) 13

Un modellllo llogiico dii riiferiimentto per Geo-DBMS Le relazioni (tabelle) del modello geo-relazionale Domini di base: Tradizionali - INTEGER: numeri interi, - REAL: numeri reali approssimati (rappresentazione Mantissa/Esponente), - STRING: stringhe di caratteri. - BOOLEAN: valori booleani (vero, falso) Geometrici (vedi definizioni precedenti) - POINT, - LINE, - POLYGON. Relazioni (tabelle): Schema: R(X 1 : D 1,..., X n : D n ) dove D 1,..., D n rappresentano domini di base tradizionali o geometrici. Istanza: r di R(X 1 : D 1,..., X n : D n ) r (D 1... D n ) Esempio COMUNE( Nome: STRING, NumAbitanti: INTEGER, Estensione: POLYGON) 14

Un modellllo fiisiico dii riiferiimentto per Geo-DBMS La rappresentazione dei valori geometrici in un Geo-DBMS (A) Come rappresentare i VALORI GEOMETRICI dei domini SDT del modello geo-relazionale (B) Come INTEGRARE i VALORI GEOMETRICI e il dato ALFANUMERICO (A) Rappresentazione dei valori geometrici Problemi: 1. L'occupazione in memoria di un valore geometrico può variare molto: da una coppia di coordinate per il punto a centinaia di coordinate per le spezzate e i poligoni 2. Imprecisione nelle coordinate: rappresentazione approssimata dei numeri reali; 3. I valori geometrici sono fortemente correlati in quanto inseriti nel medesimo spazio di riferimento: spesso i valori geometrici condividono degli elementi, spesso esistono vincoli spaziali che i valori devono rispettare. 15

Un modellllo fiisiico dii riiferiimentto per Geo-DBMS La rappresentazione dei valori geometrici in un Geo-DBMS Metodo 1: insiemi di liste di coordinate Esempio G 3 G 2 G 1 Livello fisico G1 = (ln, (<0,0>,<1,2>,<1,7>,<13.11>,<15,10>,<20,4>, <24,6>)) G2 = (ln, (<-2,10>,<1,7>,<13,11>,<14,13>,<20,13>)) G3 = (pg, (<5,14>,<10,13.5>,<11,12>,<13,11>,<1,7>,<0,10>,<0,12.5>)) Vantaggi: 1) Indipendenza tra i valori geometrici facilità di inserimento di nuovi valori geometrici. Verifica vincoli spaziali a posteriori. 2) Buone prestazioni dell'operazione di visualizzazione grafica della geometria di un sottoinsieme limitato di valori. Svantaggi: 1) Tutte le selezioni spaziali richiedono l'applicazione di algoritmi di geometria computazionale. 2) Tutte le operazioni di manipolazione (ad esempio il calcolo di intersezioni) richiede algoritmi di geometria computazionale. 3) Ridondanza nella rappresentazione della geometria. 16

Un modellllo fiisiico dii riiferiimentto per Geo-DBMS La rappresentazione dei valori geometrici in un Geo-DBMS Metodo 2: struttura basata sulla topologia POLIGONI TOPOLOGIA POLIGONI LINEE PUNTI LINEE PUNTI GEOMETRIA 17

La rappresentazione dei valori geometrici in un Geo-DBMS Metodo 2: struttura basata sulla topologia Esempio a G 6 3 a 7 a G 4 2 a 5 a 1 a 3 G 1 a 2 G1 = <L, {a 1,a 2,a 3 }> G2 = <L,{a 1,a 4,a 5 }> G3 = <P,{a 1,a 6,a 7 }> a 1 = (P 2, (), P 3 ) a 2 = (P 1, (<1,2>), P 2 ) a 3 = (P 3, (<15,10>, <20,4>), P 4 ) a 4 = (P 3, ( <14,13>),P 5 ) a 5 = (P 6, (),P 2 ) a 6 = (P 2, (<0,10>, <0,12.5>), P 7 ) a 7 = (P 7, (<10,13.5>, <11,12>), P 3 ) Livello fisico P 1 = <0,0> P 2 = <1,7> P 3 = <13,11> P 4 = <24,6> P 5 = <20,13> P 6 = <-2,10> P 7 = <5,14> 18

La rappresentazione dei valori geometrici in un Geo-DBMS Metodo 2: struttura basata sulla topologia Vantaggi: 1. Eliminazione della ridondanza nella rappresentazione della geometria. 2. Riduzione di alcune operazioni geometriche a selezione di un insieme di identificatori o puntatori a valori geometrici elementari precalcolati. 3. Riduzione della ricerca via predicati topologici ad un confronto tra identificatori o puntatori a valori geometrici elementari precalcolati. 4. Verifica vincoli spaziali immediata e supportata dalla struttura topologica. Svantaggi: 1. Ripristino della topologia corretta a valle di ogni inserimento di un nuovo valore geometrico. 2. La pura visualizzazione di un valore geometrico richiede il ritrovamento della geometria attraverso una catena di puntatori (indirettezze). 19

Un modellllo fiisiico dii riiferiimentto per Geo-DBMS Quali strutture dati sono adottate nei Geo-DBMS presenti sul mercato? Passato: I sistemi più diffusi adottavano strutture basate sulla topologia (Arc/Info ESRI, OpenSicad SIEMENS) o consentivano la generazione di strutture simili (Mge INTERGRAPH). Attuale tendenza: I sistemi attuali (Spatial Data Engine e ArcView ESRI oppure GeoMedia INTERGRAPH) hanno abbandonato in parte le strutture basate sulla topologia preferendo la soluzione meno strutturata delle liste di coordinate accoppiate a metodi d'accesso spaziali (indici) più potenti. PROBLEMA Come suddividere e memorizzare gli insiemi di valori geometrici presenti in una base di dati geografica? Osservazioni: - Non è possibile costruire un'unica struttura dati di tipo topologico e/o un unico indice spaziale per tutti i dati contenuti nel sistema. - Non è sempre utile costruire una struttura topologica/indice per ogni attributo di tipo POINT, LINE o POLYGON contenuto in una relazione (tabella). SOLUZIONE Suddivisione della base di dati in strati (layer). Per i dati del medesimo strato viene mantenuta una struttura topologica e/o indice spaziale. non esiste topologia/indice tra strati diversi. (Es. Arc/Info della ESRI, Mge INTERGRAPH) 20

Un modellllo llogiico//fiisiico dii riiferiimentto per GEO-DBMS Riepilogo dei costrutti presenti nel modello logico/fisico di riferimento Domini di base Schema: INTEGER, REAL, STRING, POINT, LINE e POLYGON. Relazione (tabella) Schema: è un costruttore di tipo per tuple (record), dove gli attributi (campi) hanno come dominio un dominio di base. Istanza: è un insieme di tuple (record), dove i valori sono presi dai domini degli attributi (campi). Strato Schema: è una struttura dati con indice per la rappresentazione di insiemi di valori geometrici di uno o più tipi (POINT, LINE, POLYGON). Istanza: è un insieme di valori geometrici con indice spaziale. Vincoli tra Strati e Attributi con dominio geometrico in uno schema: ogni strato presente in uno schema contiene solo i valori geometrici di uno o più attributi geometrici appartenenti a relazioni dello schema. i valori di un attributo geometrico sono contenuti in uno e un sol strato. Da ciò deriva che: in uno schema che presenti relazioni (tabelle) con attributi geometrici deve essere presente almeno uno strato. in uno schema che presenti relazioni (tabelle) con attributi geometrici, va indicata la corrispondenza attributo geometrico/strato. 21

Un modellllo llogiico//fiisiico dii riiferiimentto per GEO-DBMS Esempio di schema logico/fisico di una base di dati geografica Relazioni BOSCO (Tipo: STRING, Pg: POLYGON) PRATO (Pascolo: BOOLEAN, Pg: POLYGON) Strati S_MONTAGNA ({POLYGON}) Mapping Attributi geometrici/strati BOSCO.Pg S_MONTAGNA PASCOLO.Pg S_MONTAGNA Esempio di istanza di una base di dati geografica BOSCO Tipo Pg ceduo 8 conifere 23 misto 44 PRATO Pascolo Pg true 9 false 2 false 44 true 14 S_MONTAGNA 23 44 14 2 8 9 22

Un modellllo llogiico//fiisiico dii riiferiimentto per GEO-DBMS (B) Implementazione del legame (link) tra valori negli attributi geometrici e valori negli strati. Tecniche utilizzate nei GEO-DBMS i valori geometrici vengono memorizzati negli strati e negli attributi geometrici si riporta un puntatore al valore geometrico presente nello strato; il puntatore è solitamente un identificatore numerico (Geo-ID o GID); negli strati è possibile che un valore geometrico abbia più di un identificatore: in tal modo è possibile costruire valori geometrici per aggregazione (composizione) di valori geometrici più elementari. Esempio STRATO 1 E 1 Attributo 1 Pg A 1000 B 1001 14 23 2 44 8 9 Tabella di aggregazione Attributo 1 Pg GIDaggr GID 123 9 1001 9 23 2 1001 2 4 44 1000 44 121 23 1000 23 101 8 1000 8 22 14 1001 14 E 2 23

Un modellllo llogiico//fiisiico dii riiferiimentto per GEO-DBMS Specifica delle aggregazioni nello schema logico. Per tenere conto della presenza di un vincolo di composizione tra attributi geometrici, estendiamo la sintassi del mapping attributi geometrici/strati. Aggiungiamo in particolare la possibilità di indicare che un attributo geometrico contiene valori che si ottengono dall'aggregazione di altri valori geometrici presenti su uno strato introducendo la parola chiave: Esempio Aggregate(<Nome Strato>). Relazioni E 1 (Attributo 1 : STRING, Pg: POLYGON) E 2 (Attributo 1 : INTEGER, Pg: POLYGON) Strati STRATO 1 ({POLYGON}) Mapping Attributo geometrico/strato E 1.Pg Aggregate(STRATO 1 ) E 2.Pg STRATO 1 24

Un modellllo llogiico//fiisiico dii riiferiimentto per GEO-DBMS Implementazione del legame (link) tra valori negli attributi geometrici e valori negli strati (soluzione alternativa). Nel caso di valori geometrici di tipo LINE, alcuni sistemi realizzano il legame con gli strati sulla base di una ascissa curvilinea definita sulle linee che appartengono allo strato. E' un modo alternativo di realizzare l'aggregazione di elementi geometrici. Esempio Relazioni STRADA (Codice: STRING, Percorso: LINE) TRATTO (N_Corsie: INTEGER, Tracciato: LINE) Strati S_STRADE ({LINE}) Mapping Attributo geometrico/strato STRADA.Percorso Aggregate(S_STRADE) TRATTO.Tracciato S_STRADE STRADA Codice Percorso SS11 23 SP23 10 TRATTO N_Corsie Ln 1 23(41-100) 2 23(0-18) 3 23(18-41) 1 10(23-100) 2 10(0-23) 23 S_STRADE 10 25