Università degli Studi di Udine Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Sistemi di Elaborazione dell Informazione DatiSpazialied Estensione del Modello Relazionale D. Gubiani PROBLEMA: Vogliamo gestire i dati relativi ai parchi naturali e siamo interessati a sapere quali sono i parchi naturali che si trovano ad una distanza minore di 50Km dal punto in cui ci troviamo. - come rappresentiamo i parchi naturali? - come troviamo i parchi ad una distanza inferiore di 50Km dal punto in cui ci troviamo? 22 ottobre 2013 D. Gubiani e Modello Relazionale 1 D. Gubiani e Modello Relazionale 2 Cosa sono i dati spaziali? Acquisizione dei Modelli per Acquisizione dei Modelli per Acquisizione dei Un dato spaziale è un qualunque dato che descrive fenomeni ai quali sia associata una dimensione spaziale Un oggetto spaziale è comunemente caratterizzati da tre componenti fondamentali: - componente spaziale: specifica posizione, forma, orientazione e dimensione dell oggetto nello spazio 2D o 3D - componente non spaziale (o descrittiva): descrive l oggetto spaziale studiato - componente temporale: fornisce informazioni temporali sull oggetto spaziale Il mondo reale è complesso La rappresentazione dei dati spaziali fornisce una visione semplificata del mondo reale Il passaggio dal mondo reale alla sua rappresentazione coinvolge diversi processi: - rilevamento (sul campo o dalla cartografia esistente) - astrazione dell informazione D. Gubiani e Modello Relazionale 3 D. Gubiani e Modello Relazionale 4 Modelli per Acquisizione dei Modelli per Livelli di Astrazione Acquisizione dei Modelli per Requisiti diversi dalle applicazioni tradizionali: - dati spaziali con posizione, estensione,... - diverse possibili interpretazioni della realtà - diverse rappresentazioni degli oggetti - informazioni incomplete - relazioni spaziali fra oggetti I modelli dei dati spaziali estendono i modelli dei dati dei sistemi tradizionali D. Gubiani e Modello Relazionale 5 D. Gubiani e Modello Relazionale 6
Livello Concettuale Acquisizione dei Modelli per Livello Concettuale Acquisizione dei Modelli per Diverse percezioni del mondo reale: - visione a campi: mondo reale visto come una superficie sulla quale le entità geografiche variano in modo continuo (funzioni dallo spazio di riferimento ad un dato dominio) - visione ad oggetti: mondo reale visto come una superficie occupata da entitè/oggetti (insieme di oggetti univocamente identificabili) Diverse percezioni del mondo reale: - visione a campi: mondo reale visto come una superficie sulla quale le entità geografiche variano in modo continuo (funzioni dallo spazio di riferimento ad un dato dominio) - visione ad oggetti: mondo reale visto come una superficie occupata da entità/oggetti (insieme di oggetti univocamente identificabili) D. Gubiani e Modello Relazionale 7 D. Gubiani e Modello Relazionale 8 Punto Acquisizione dei Modelli per Spezzata Acquisizione dei Modelli per Un punto P è individuato da due coordinate x e y a è il vettore che individua il punto P in R 2 Segmento di retta per i punti P e Q individuati dai vettori a e b: s =! a +(1 )! b 2 [0, 1] chiamiamo estremi del segmento i punti s.e 1 = Q( =0)e s.e 2 = P( =1) Spezzata è u n i n s i e m e d i s e g m e n t i d i retta sp = {s 1,..,s n} tale che ogni estremo di segmento è condiviso da esattamente due segmenti, eccetto al massimo due estremi, detti estremi della spezzata D. Gubiani e Modello Relazionale 9 D. Gubiani e Modello Relazionale 10 Poligono Acquisizione dei Modelli per Livello di Rappresentazione Acquisizione dei Modelli per Poligono semplice: dataunaspezzata chiusa sp, èlaporzionedir 2 delimitata da sp - sp fa parte del poligono Poligono bucato: dataunaspezzata chiusa sp euninsiemedispezzatechiuse H = {sp 1,..,sp n}, èlaporzionedir 2 delimitata da sp alla quale siano tolte le porzioni di piano delimitate da sp i 2 H, a condizione che: - sp etuttelesp i 2 H siano parte del poligono - tutte le sp i 2 H siano contenute nel poligono semplice delimitato da sp - tutte le sp i 2 H non intersechino sp - per ogni sp i, sp j 2 H, sp i non intersechi sp j Ad ogni entitè introdotta a livello concettuale sono associate diverse alternative di visualizzazione - semplici operazioni di selezione - generalizzazioni cartografiche - sofisticati schemi di classificazione ed sp i non contenga sp j Una regione è un insieme di poligoni D. Gubiani e Modello Relazionale 11 D. Gubiani e Modello Relazionale 12
Acquisizione dei Modelli per Livello Fisico Diversi formati: - formato raster: lo spazio continuo viene approssimato da uno spazio discreto (operazione di tassellatura) - formato vettoriale: lo spazio continuo viene approssimato costruendo strutture dati appropriate Una relazione binaria definisce una proprietà che lega due valori di un determinato insieme i valori sono geometrici la proprietà riguarda la loro posizione relativa nello spazio Tre classi di relazioni spaziali binarie: - relazioni topologiche - relazioni basate sulla distanza - relazioni basate sulla direzione D. Gubiani e Modello Relazionale 13 D. Gubiani e Modello Relazionale 14-1 Le relazioni topologiche specificano il legame esistente fra coppie di entità spaziali Esempio: il Tevere attraversa Roma Proprietà: - sono invarianti per traslazione, rotazione e variazione di scala - sono indipendenti da distanza ed estensione - sono di natura qualitativa e fanno riferimento a concetti di alto livello Specificano la distanza fra due oggetti Esempio: la piscina è a 1 km dall ospedale è necessaria la definizione nello spazio di riferimento di una funzione che calcola la distanza - distanza euclidea fra due punti P =(x 1, y 1 )eq =(x 2, y 2 ): D(P, Q) = p (x 1 x 2 ) 2 (y 1 y 2 ) 2 Se si considerano due valori A e B con estensione significativa, occorre ridefinire il concetto di distanza Ad esempio: dist(a, B) =min(d(p, Q) :P 2 A, Q 2 B) D. Gubiani e Modello Relazionale 15 D. Gubiani e Modello Relazionale 16-2 - 1 Fissata una coppia di distanze (d 1, d 2 ), è possibile definire una relazione metrica tra due valori geometrici R(d 1, d 2 )(A, B), (d 1 < dist(a, B) < d 2 ) Specificano la posizione in cui un oggetto si trova rispetto ad un altro Esempio: Udine è a nord-est di Venezia Sono definite sulla base di un sistema di riferimento direzionale che partiziona lo spazio in almeno quattro quadranti - l origine del sistema viene posto su uno dei due valori geometrici considerati - intersecando i quadranti con l altro valore geometrico si deriva la relazione tra i due valori D. Gubiani e Modello Relazionale 17 D. Gubiani e Modello Relazionale 18
- 2 Uso di un DBMS Relazionale Standard Limitazioni: - violazione del principio di indipendenza dei dati (occorre conoscere la struttura dei dati spaziali) - basse prestazioni - poco amichevole (non è user-friendly) - di coltà/impossibilità di esprimere computazioni geometriche D. Gubiani e Modello Relazionale 19 D. Gubiani e Modello Relazionale 20 Modello Relazionale esteso con gli Oggetti Il modello relazionale esteso con gli oggetti sfrutta l estendibilità dei DBMS - aggiunta di nuovi tipi di dato e di nuove operazioni ad un DBMS relazionale) E la soluzione adottata in genere dai sistemi di gestione di basi di dati quali Oracle e PostgreSQL Per trattare dati spaziali vengono introdotti uno o più tipi di dato spaziale (SDT) - POINT - LINE - POLYGON D. Gubiani e Modello Relazionale 21 D. Gubiani e Modello Relazionale 22 point line -1 POINT è un insieme finito P di punti di R 2 - boundary di P è l insieme vuoto - interior di P è P stesso Dato P: POINT sono definite le seguenti operazioni: - 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 eilbaricentrodiq - 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 LINE è un insieme di spezzate L di R 2 tale che nessuna coppia di spezzate abbia come intersezione una spezzata - la frontiera di L è l insieme di punti di R 2 costituito dagli estremi delle spezzate tolti gli estremi che appartengono a più di una spezzata - l interno di L è l insieme di punti di R 2 costituito dalle spezzate private degli estremi che costituiscono la frontiera di L Data L: LINE sono definite le seguenti operazioni: - L.Boundary: POINT frontiera di L - L.NumSpezzate: INTEGER numero di spezzate di L - L.Lunghezza: REAL lunghezza di L ottenuta sommando la lunghezza di tutte le spezzate che la compongono - L.Semplice: BOOLEAN vero se l unione delle spezzate di L è una spezzata semplice D. Gubiani e Modello Relazionale 23 D. Gubiani e Modello Relazionale 24
line -1 poligon -1... - L.Chiusa: BOOLEAN vero se l unione delle spezzate di L è una spezzata chiusa - L.Unione(K: LINE): LINE genera un valore di tipo LINE che rappresenta l unione di L e K - L.IntersezioneL(K: LINE): LINE genera un valore di tipo LINE che rappresenta l intersezione di L e K. Sel 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 di L e K. Sel 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 0 D. Gubiani e Modello Relazionale 25 POLYGON è un insieme G di poligoni bucati di R 2,taleche ogni coppia di poligoni costituisce un insieme di punti non connesso - la frontiera di G è costituito dalle spezzate che delimitano i poligoni di G - l interno di G è costituito dai poligoni privati delle spezzate che li delimitano Dato G: POLYGON sono definite le seguenti operazioni (per semplicitè consideriamo insiemi singoletti): - 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 vero se G esemplice - 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 D. Gubiani e Modello Relazionale 26 poligon -2... - G.Area: REAL misura dell area del poligono G - 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 presenta oltre a punti isolati anche linee e/o poligoni restituisce solo i punti isolati - Si suppone definito anche l operatore di uguaglianza: G = G 0 D. Gubiani e Modello Relazionale 27 La rappresentazione dei valori geometrici in un GEO-DBMS presenta alcuni problemi: - l occupazione di memoria di un valore geometrico - l imprecisione nelle coordinate (rappresentazione approssimata dei numeri reali) - i valori geometrici sono fortemente correlati Il metodo maggiormente utilizzato è l insieme di liste di coordinate - ogni tipo di dato spaziale è definito in modo analogo D. Gubiani e Modello Relazionale 28 Liste di Coordinate 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 >)) D. Gubiani e Modello Relazionale 29 COMUNE codice nome geometria stringa stringa polygon 06030129 Udine < 2379648.03, 5104970.40 >, < 2379673.07, 5104914.07 >,..., < 2379648.03, 5104970.40 > 06030118 Tavagnacco < 2380013.74, 5105302.14 >, < 2380114.78, 5105306.00 >,..., < 2380013.74, 5105302.14 >......... D. Gubiani e Modello Relazionale 30