410 likes | 702 Views
CAPITOLE AVANSATE DE BAZE DE DATE. BAZE DE DATE SPA Ţ IO-TEMPORALE - Baze de date spaţiale -. Obiecte spatiale. Înainte de implementarea unei aplicaţii propriu-zise, pasul obligatoriu este cel de modelare a datelor implicate.
E N D
CAPITOLE AVANSATE DE BAZE DE DATE BAZE DE DATE SPAŢIO-TEMPORALE - Baze de date spaţiale -
Obiecte spatiale • Înainte de implementarea unei aplicaţii propriu-zise, pasul obligatoriu este cel de modelare a datelor implicate. • Modelarea datelor care urmează a fi stocate într-o bază de date are în vedere în primul rând caracteristicile sistemului de gestiune al datelor, iar studiul proprietăţilor viitoarelor date gestionate este următorul pas. • Aplicatii: GIS (Geographic Information System), CAD (Computer-Aided Design), CAM (Computer-Aided Manufacturing), VLSI-design (Very-Large-Scale Integration); plus robotica, electronica, arhitectura, biologia, medicina, ecologias.a.
Notiuni si semantici spatiale • Partiţia: Fie S o mulţime nevidă. Atunci P = {P1, P2, …, Pp} este o partiţie a lui S dacă şi numai dacă sunt îndeplinite condiţiile: • i:=1..p, Pi • i, j:=1..p, i j, Pi Pj = • Pi = S, i:=1..p • În particular, o partiţie este implicată în descompunerea spaţiului de lucru [Sa90] – pentru gestiunea unor proprietati ale spatiului (harti tematice) sau in modelele raster. • Elementele unei partitii – poligonale sau non-poligonale. Cea mai mare parte a modelelor spaţiale care efectuează o partiţionare a spaţiului de lucru apelează la prima variantă deoarece formele poligonale sunt uşor de reprezentat şi de gestionat. • O partiţie a spaţiului este numită regulată dacă poligonul unui element al partiţiei este regulat. Altfel, e denumită ne-regulată. • Dacă o partiţionare permite descompunerea recursivă a elementelor sale, atunci e considerată a fi nelimitată, altfel este limitată.
Figura. Tipuri de partitii: regulat non-limitat, regulat limitat, non-regulat non-limitat.
Obiecte spatiale intalnite frecvent (intr-un spatiu 2D): • punctul, linia şi regiunea. Acestea constituie reprezentarea obiectelor simple, individuale. • Alături de acestea, există tipuri de date care particularizează cele trei tipuri de bază, precum segmentul, jumătatea de segment (utilizat în reprezentarea duală a unui segment, considerând o jumătate de segment corespunzând unui capăt al segmentului) [FG+00], cercul, regiunea cu goluri [FG+00,GB+00] ş.a. • În plus, anumite aplicaţii necesită modelarea şi gestiunea de colecţii de obiecte spaţiale corelate spaţial: partiţie (de exemplu: harta judeţelor), reţea sau graf (de exemplu: reţea de transport, râuri, electricitate, comunicatii).
Centroid: centrul de greutate al unei figuri geometrice. De exemplu: centroidul unui segment de dreaptă într-un spaţiu 2D, S = ((x1, y1), (x2, y1)), este dat de punctul de coordonate PC = ((x1 + x2) / 2, (y1 + y2) / 2). Vezi figura.
Structura spaţiului • Harti tematice (layer-e): asocierea de anumite caracteristici unor regiuni din spatiul de lucru; o harta tematica – partitie a spatiului de lucru, iar fiecarui element al partitiei ii este asociata o valoare din “tematica” hartii (ex: relief, temperatura, culturi agricole etc.). Vezi model raster. • Structura spaţiului folosit este unul din aspectele care diferenţiază modelele spaţiale. • Există două tehnici de modelare a datelor spaţiale într-un sistem de calcul: raster (grid) şi vectorial [WWW1]. • În cadrul unui model vectorial, o informaţie spaţială indică unde există sau unde se produce ceva, iar în cadrul unui model raster indică ce există sau se produce pretutindeni (în fiecare locaţie a realităţii reprezentate).
Structura spatiului • Modelele raster (grid) reprezintă spaţiul de lucru acoperit de o mulţime de celule şi tratează informaţia precum temperatura, presiunea, altitudinea ca funcţii spaţiale ce transformă o celulă într-un domeniu de atribut. Regiunile asociate acestora formează o partiţie a spaţiului de lucru. • Acest tip de modelare oferă o viziune continuă a spaţiului [CZ00]. • Deşi nu există restricţii teoretice privind modul de partiţionare, aceasta este efectuată în general sub formă de grid, cu celule rectangulare. • Parametrii care definesc un model raster: dimensiunea gridului, rezoluţia gridului, informaţie de legătură geografică. • Primii doi factori sunt în legatură directă: pentru un acelaşi spaţiu de lucru, cu cât gridul conţine mai multe linii şi coloane, cu atât rezoluţia este mai mare. • Informaţia de legătură geografică reprezintă informaţia de asociere a unei celule cu o locaţie din realitatea modelată. Fiecare celulă este identificată prin linia şi coloana din grid unde este poziţionată (nu conform situării spaţiale geografice). • Unei celule îi pot fi asociate valorile anumitor atribute (unul sau mai multe) ale punctului central al acesteia. Astfel, reprezentarea raster a obiectelor spaţiale poate surprinde: • valori numerice continue (informaţie cantitativă, de exemplu: temperatura) • categorii continue (informaţie calitativă, de exemplu: tipuri de climă).
Structura spatiului • Modelarea spaţială de tip raster: folosită în general în reprezentarea hărţilor tematice (de exemplu: o hartă a nivelelor de temperatură, a tipurilor de vegetaţie etc.). • În cazul în care există mai multe asemenea hărţi definite pe o regiune spaţială pentru diferitele caracteristici surprinse, se permite suprapunerea acestora în scopul obţinerii de informaţie complexă, comparativă, sau de analiză. • Alături de hărţi tematice, pot fi reprezentate într-un spaţiu modelat ca grid şi obiecte spaţiale discrete. • Acestea sunt reprezentate prin tabloul celulelor / pixelilor a căror acoperire se intersectează cu forma obiectului. Astfel, datele spaţiale nu au caracter de continuitate, ci sunt divizate în unităţi discrete de informaţie.
Structura spaţiului • Figura. Model raster
Structura spaţiului • Figura. Model raster. Suprapunere
Structura spaţiului • Figura. Model raster. Battleships
Structura spaţiului • Model raster • Avantaje: foloseşte structuri de date simple, proceduri de analiză spaţială simple • Dezavantaje: nevoia unui spaţiu de stocare relativ mare (fapt care depinde şi de granularitatea gridului şi informaţia asociată celulelor), lipsa acurateţii de reproducere vizuală a datelor în cazul unei granularităţi mai puţin fine
Structura spaţiului • În cadrul modelelor vectoriale, orice punct este reprezentat prin coordonate relative la un punct de referinţă din spaţiul de lucru. • Strâns legată de modelul vectorial este topologia, preocupată de ordine, continuitate, poziţie relativă. • Datele spaţiale modelate vectorial reprezintă caracteristici discrete, iar un model vectorial surprinde doar informaţie utilă (a obiectelor reprezentate), nu şi referitoare la întreg spaţiul de lucru. Astfel, se spune că oferă o viziune discretă a spaţiului [CZ00]. • Avantaje: sunt uşor de reprezentat şi gestionat tipurile de date spaţiale menţionate anterior (depinde, totusi, de complexitatea lor), spaţiul de stocare mai redus decât în cazul modelului raster, relaţiile metrice sunt uşor / precis de determinat, afişarea datelor este mult mai apropiată de realitate, iar rezoluţia nu este un parametru al sistemului, ci este dată implicit de acurateţea datelor primite în sistem • Dezavantaje: necesitatea structurilor de date mai complexe, a echipamentelor şi aplicaţiilor mai costisitoare (de exemplu – distanta este mai usor de calculat, intersectia poligoanelor este mai greu de obtinut).
Structura spaţiului • Figura. Model vectorial
Discretizarea domeniului spaţial • Domeniul spaţial al majorităţii aplicaţiilor spaţiale este văzut doar teoretic ca fiind spaţiul euclidian. Întrucât un sistem de calcul este limitat în reprezentarea mulţimii infinite de numere reale, pentru modelarea datelor spaţiale se foloseşte: • un domeniu discret, dictat de domeniile tipurilor de date avute la dispoziţie în sistem (numit aici „domeniu continuu discretizat”), sau • un domeniu discret redefinit în cadrul proiectării. • Situatie spre a fi discutata: intersectia a doua segmente, in cazul in care punctul de intersectie are coordoonate care nu apartin de domeniul ales. Se disting două orientări în tratarea unei asemenea anomalii, în funcţie de modelul spaţial şi de acurateţea cerută de către aplicaţie: • se acceptă ca rezultatul să fie o aproximare a celui real, în aplicaţiile care îşi permit asemenea erori de calcul; această situaţie apare îndeosebi în discretizarea spaţiului de lucru prin utilizarea domeniilor tipurilor de date (numere reale) ale sistemului de calcul; nu se corecteaza segmentele; • se aplică tehnici de corectare a rezultatului prin translatarea punctului real de intersecţie spre un punct al domeniului spaţial [GS93]; se corecteaza segmentele. • (Vezi problemele de intersectie in cadrul realm-ilor.)
Baze de date spaţiale • Definiţie. Datele ce reprezintă poziţia şi / sau forma unor obiecte, indiferent de sistemul de referinţă, se numesc date spaţiale. • Definiţie.O bază de date spaţială este o bază de date optimizată pentru stocarea, gestiunea şi interogarea datelor spaţiale. Aceasta pune la dispoziţie tipuri de date spaţiale în modelul său de date şi în limbajul de interogare, suport pentru tipuri de date spaţiale în implementare, indexare spaţială şi algoritmi eficienţi pentru join spaţial [Gu94]. • Teoretic, orice variabilă care poate fi localizată spaţial sau căreia i se pot asocia coordonate spaţiale (indiferent de sistemul de referinţă) poate fi inclusă într-o bază de date spaţială. Aceste date sunt identificate sub diferite denumiri: date geometrice, geografice sau spaţiale. • Observaţie.Deosebirea dintre baze de date de imagini şi baze de date spaţiale.
Modelarea datelor spaţiale • Realm-i • Un model spaţial care foloseşte un domeniu discret în reprezentarea spaţiului şi a obiectelor spaţiale [GS93, GS95, Sc95]; foloseşte un domeniu finit de valori numerice care poate fi definit de către utilizator şi care constituie baza definirii unei mulţimi de tipuri de date spaţiale. • Definiţie. Realmul este o mulţime finită de puncte şi segmente de dreaptă definite pe un domeniu finit, de tip grid, astfel încât: • fiecare punct este un punct al gridului; • fiecare capăt de segment este un punct al gridului; • nici un punct din realm nu aparţine unui interior de segment; • oricare două segmente distincte nu se intersectează şi nu se suprapun. • Obiecte spatiale usor de modelat: puncte, linii, regiuni, plus retele sau partitii. Acestea pot fi reprezentate folosind doar puncte si segmente ale realm-ului. Un obiect spatial nu este creat pe realm (direct), ci pe realm sunt create elemente de constructie (puncte, linii) asociate acestuia.
Modelarea datelor spaţiale • Realm-i • ROSE algebra • Tipuri de date • Operatori spatiali (=, <>, disjoint, on-border-of, intersection, area, closest, etc.) • Actualizarile sunt efectuate pe obiectul spatial si pe elementele realm-ului asociate acestuia (propagarea actualizarilor). • Bd contine obiecte spatiale (id + alte caracteristici) + referinta(e) la obiectul(ele) din realm care-l reprezinta • Fiecare punct & segment al realm-ului contine lista id-urilor obiectelor care-l contin in geometria lor • Avantaje: posibilitatea de definire a unor tipuri distincte de date spaţiale pe acelaşi domeniu, garanţia proprietăţilor de închidere (în operaţiile spaţiale), şi forţarea consistenţei geometrice a obiectelor în relaţii spaţiale (de exemplu: adiacenţa a două obiecte de tip regiune). • Dezavantaje: integrarea relativ dificilă a realmilor într-un SGBD, costul propagării actualizării realmului la nivelul atributelor obiectelor şi al refacerii obiectelor spaţiale din elementele realmului.
Figura. Domeniu spaţial discret de tip grid şi obiecte spaţiale de tip punct (P), linie (L), şi regiune (R).
Complexe simpliciale[Sc95] • Consideră spaţiul de lucru ca fiind continuu (teoretic) sau discret, compus dintr-o colecţie de forme geometrice neregulate. • Prin alăturare de asemenea forme de bază se permite modelarea spaţiului şi a obiectelor spaţiale; un obiect de bază este numit k-simplex [Sc95]. • Definitie. Fie k+1 puncte din Rn, v0, v1, ..., vk, astfel încât vectorii v1 - v0, ..., vk - v0 sunt liniar independenţi. Mulţimea {v0, v1, ..., vk} este numită independentă geometric şi mulţimea de puncte k = {x Rn | } Rn este numită simplex de dimensiune k (k-simplex), cu vârfurile v0, v1, ..., vk.
Complexe simpliciale • Un k-simplex reprezintă închiderea convexă a celor k+1 puncte în spaţiul cel putin k-dimensional. Orice k‑simplex este format din k+1 simplex-uri de dimensiune k-1, unde acestea sunt numite feţe ale obiectului k-simplex. • k-complex:multime finita de simplexe, pentru care cea mai mare dimensiune este k. • K-complex restrictie: intersectia a doua simplexe este multimea vida sau o fata comuna a acestora (simplexe de aceeasi dimensiune). • Obiectele spaţiale sunt situate în acest spaţiu şi orice asemenea obiect este construit prin agregare de obiecte de tip simplex din cadrul partiţiei. • Avantaje: păstrarea consistenţei topologice între obiectele spaţiale şi implementarea fără dificultăţi a structurilor de date şi a algoritmilor de gestiune a complexelor simpliciale. • Dezavantaje: costul ridicat de triangulare a spaţiului de lucru şi de calcul a unor operaţii numerice, precum distanţele.
Algebra geo-relationala • Un model de date spaţiale definit pe spaţiul Euclidian continuu discretizat [Gu88], propus ca implementare într-un SGBD relaţional. • Modelul cuprinde tipuri de date spaţiale, împreună cu operatori ai algebrei geo‑relaţionale (operatori pentru datele spaţiale). • Tipuri de date spatiale: • Point (corespunzător unui punct al spaţiului), • Line (ca secvenţă de segmente), • Pgon şi Area (corespunzătoare regiunilor din plan, reprezentate ca poligoane simple). Tipul de date Area este similar tipului Pgon, cu restricţia că obiectele de acest tip sunt elementele unei partiţii.
Algebra geo-relationala • Un obiect cu caracteristici spaţiale este reprezentat printr-un tuplu al unei relaţii, iar o relaţie conţine o colecţie omogenă de obiecte geometrice (mulţime de puncte, mulţime de linii etc.); un asemenea tuplu contine atribute geometrice si non-geometrice. • Obiectele spaţiale modelate reprezintă direct obiectele din realitate, fără a folosi descompunere în obiecte primitive (k-simplex) sau a împrumuta elemente ale domeniului (realm). • Avantaje: structuri de date simple, usor utilizabile. • Dezavantaje: obiectele spaţiale sunt distribuite în cadrul a mai multor relaţii, în funcţie de tipul formei geometrice care le caracterizează.
K-Spaghetti • K-Spaghetti [LT92] este un model de date utilizat pentru reprezentarea obiectelor spaţiale într-un spaţiu vectorial k-dimensional. Această tehnică de modelare este frecvent întâlnită în cadrul aplicaţiilor precum CAD sau GIS, unde, în general, dimensiunea spaţiului este 2 sau 3. • Scopul: de a furniza un mod general de a reprezenta relaţional obiectele geometrice printr-un tuplu sau un set de tuple. • Fiecare obiect spatial este triangulat, iar fiecare triunghi este reprezentat printr-un tuplu al relatiei care stocheaza obiectele spatiale. • Capabil sa reprezinte obiecte de tip punct, segment de dreapta, poligon (posibil, prin triunghiuri degenerate).
Model spaţial cu constrângeri liniare • Iniţiat în [KK+90], modelul de baze de date cu constrângeri a fost uşor implicat în reprezentarea datelor spaţiale [BB+97, GR+98a]. • BD contine un set finit de constrangeri. • Aplicarea constrângerilor în domeniul datelor spaţiale constă în reprezentarea obiectelor geometrice ca mulţimi infinite de puncte date de formule de logica predicatelor de ordinul întâi. • Aceste formule sunt în conjunctii de constrângeri liniare, unde constrângerile liniare sunt de forma unde {=, }, ai Z, p 1.
Ex: happy hour hour > 9 AND hour <= 13 OR hour = 22 se reprezinta => -hour <= -10 AND hour <= 13 hour = 22
Obiectele geometrice care pot fi reprezentate cu ajutorul constrângerilor liniare: punct, segment, semi-deaptă, dreaptă, poligon sau orice regiune (finită sau infinită) a spaţiului. • Ca şi tip de modelare a spaţiului, corespunde celui vectorial. • Avantaje: permite reprezentarea obiectelor intr-un spatiu n-dimensional, unde n 1, chiar daca fizic este greu de imaginat; poate reprezenta sub-spatii infinite intr-o maniera finita (limitata). • Limitari ale modelului: in general se reprezinta doar poligoane convexe (cu ajutorul a doua sau mai multe constrangeri liniare); pentru un poligon concav – se descompune in poligoane convexe si se obtine prin reuniunea acestora.
Figura. Punct (P), segment (S), poligon non-convex (Pg), regiune infinita (Ri)
Model de date pentru manipularea partiţiilor • Un model de date adaptat reprezentării hărţilor tematice / partitiilor este descris în [SV89]. • Se reprezintă numai date de tip regiune. • Regiunea elementară este o mulţime de puncte 2D, ce poate fi poligon sau submulţime infinită din R2, mărginită de drepte, • Reuniunea a două regiuni elementare (conectate sau non-conectate) este tot o regiune elementară. • O regiune elementară sau un set de regiuni elementare determină o regiune.
O hartă tematică este reprezentată printr-o mulţime de tuple, unde un tuplu reprezintă o regiune. O relaţie ce conţine datele unei hărţi include în structură atribute de tip non-spaţial şi cel puţin un atribut de tip spaţial. • Un defect al acestui model este lipsa constrângerilor de disjuncţie la nivelul elementelor unei hărţi – necesar in cadrul unui asemenea model. În plus, deoarece fiecare hartă este memorată într-o relaţie individuală, modelul de date este dependent de aplicaţie.
Model de date pentru manipularea partiţiilor • Cerinte: • Tip de data regiune (limitata, eventual ne-limitata) • Impunerea de constrangeri a.i. sa se respecte definitia partitiei • De preferat – obtinerea unor structuri care sa nu depinda de problema propusa
Baze de date spaţiale • Bibliografie (minim) • [Sa90] H. Samet, The Design and Analysis of Spaţial Data Structures, Addison‑Wesley, Reading, MA, 1990. • [FG+00] L. Forlizzi, R. H. Güting, E. Nardelli, M. Schneider, A Data Model and Data Structures for Moving Objects Databases, SIGMOD Conference, p. 319‑330, 2000. • [GB+00] R. H. Guting, M. H. Bohlen, M. Erwig, C. S. Jensen, N. A. Lorentzos, M. Schneider, M. Vazirgiannis, A Foundation for Representing and Quering Moving Objects, ACM Transactions on Database Systems (TODS), Vol.25(1), p.1-42, 2000. • [WWW1] Data Types and Models, Disponibil la http://www.gis.com/implementing_gis/data/data_types.html. • [CZ00] C. X. Chen, C. Zaniolo, SQLST: A Spatio-Temporal Data Model and Query Language, In Proceedings of the 19th International Conference on Conceptual Modeling (ER'00), p. 96-111, 2000. • [GS93] R. H. Guting, M. Schneider, Realms, A Foundation for Spatial Data Types in Database Systems, In Proceedings of the 3rd International Symposium on Large Spatial Database Systems, p. 14-35, 1993. • [Gu94] R. H. Guting, An Introduction to Spatial Database Systems, VLDB Journal, Vol. 3(4), p. 357-399, 1994. • [GS95] R. H. Guting, M. Schneider, Realm-Based Spatial Data Types: The ROSE Algebra, VLDB Journal, Vol. 4(2), p. 243-286, 1995. • [Sc95] M. Schneider, Spatial Data Types for Database Systems, Ph. D. Thesis, Haga, 1995. • [Gu88] R.H. Guting, Geo-relational Algebra: A Model and Query Language for Geometric Database Systems, In Proc of Extending Database Technology, p. 506-527, 1988. • [LT92] R. Laurini, D. Thompson, Fundamentals of Spatial Information Systems, Academic Press, 1992. • [KK+90] P. C. Kanellakis, G. M. Kuper, P. Z. Revesz, Constraint Query Languages, Symposium on Principles of Database Systems, p. 299-313, 1990. • [BB+97] A. Belussi, E. Bertino, B. Catania, Manipulating Spatial Data in Constraint Databases, Proceedings of the 5th International Symposium on Large Spatial Databases, p. 115-141, 1997. • [GR+98a] S. Grumbach, P. Rigaux, L. Segoufin, The DEDALE System for Complex Spatial Queries, In ACM-SIGMOD Intl. Conf. on the Management of Data (SIGMOD), p. 213-224, 1998. • [SV89] M. Scholl, A. Voisard, Thematic Map Modeling, In. Proceedings of the 1st Symposium SSD, p. 167-190, 1989.