uzdevums - web viewlaboratorijas darba izpildei tika sagatavota karte, kas ir redzama 1....
TRANSCRIPT
RĪGAS TEHNISKĀ UNIVERSITĀTEDatorzinātnes un informācijas tehnoloģijas fakultāte
Lietišķo datorsistēmu institūts
GRAFISKĀS DATUBĀZES
1. praktiskais darbsmācību priekšmetā
“Lielo datubāzu administrēšana”
Izstrādāja: Karina AtajevaApl. nr.: 091RDB203
1
2012./13. māc. gadsSaturs
Uzdevums..........................................................................................................................................................3
1) Ģeometrisko datu slāņu ar ģeometriskajiem un atributīvajiem datiem veidošana.........................................4
2) Ģeometriju meta-datu noradīšana................................................................................................................12
3) Ģeometrisko un atributīvo datu ievade, izmantojot SQL komandu INSERT..............................................16
4) Atributīvo un ģeometrisko datu ievade, izmantojot programmu SQL*Loader............................................27
5) Fiksēto (parasto), hibrīda un R-koka indeksu pielietošana..........................................................................35
6) Indeksu ātrdarbības salīdzinājums...............................................................................................................37
7) Primāra filtra vaicājumi...............................................................................................................................52
8) Topoloģiju analīzes vaicājumi.....................................................................................................................55
9) Ģeometriju skaitlisko raksturojumu iegūšanas vaicājumi...........................................................................61
10) Atributīvo datu izgūšanas vaicājumi.........................................................................................................63
11) Ģeometriju ģeometrisko datu iegūšanas vaicājumi...................................................................................67
12) Ģeometriskās datu bāzes ģeometriju vizualizēšana...................................................................................70
Vizualizēšana ar Oracle Map Viewer..........................................................................................................70
Vizualizēšana ar Oracle Map Builder..........................................................................................................74
Vizualizēšana ar Oracle GeoRaptor.............................................................................................................76
13) Ģeometriskās datu bāzes izgūšanas vaicājumu rezultātu vizualizēšana.....................................................78
Secinājumi.......................................................................................................................................................84
2
Uzdevums
Pirmajā praktiskajā darbā jāveido ģeometrisko datu (spatial data) datu bāze, izmantojot komerciālus datu bāzes sistēmas paplašinājumus (piemēram, Oracle Spatial). Jāizmanto ģeometriju relāciju-objektu datu bāzes modelis (SDO_GEOMETRY).Students patstāvīgi nosūta ([email protected]) praktiskā darba atskaiti.
1) Jāizveido vismaz 4 ģeometrisko datu slāņi ar ģeometriskajiem un atributīvajiem datiem. Katru slāni veido pamattabula ar ģeometriskiem datiem un papildus tabulas ar atributīviem datiem.2) Pirms datu ievades jānorāda ģeometriju metadati – koordināšu minimālās un maksimālās vērtības, kā arī precizitāte.3) Gan atributīvo, gan ģeometrisko datu ielāde jāveic izmantojot SQL komandu INSERT;4) Gan atributīvo, gan ģeometrisko datu ielāde jāveic izmantojot specializētu datu ievades programmu (Oracle DB gadījumā ar SQL*Loader).5) Jāpielieto parastie, hibrīda un R-koku indeksi.6) Jāveic indeksu ātrdarbības salīdzinājums.Ģeometriju datu bāzes pārbaudei jādefinē un jārealizē dažādas sarežģītības pakāpes datu izgūšanas vaicājumi:7) primārā filtra vaicājumi (2);8) topoloģiju analīzes vaicājumi (4);9) ģeometriju skaitlisko raksturojumu iegūšanas vaicājumi (4);10) atributīvo datu izgūšanas vaicājumi (3);11) ģeometriju ģeometrisko datu iegūšanas vaicājumi (4)).12) Jāveic ģeometriskās datu bāzes ģeometriju vizualizēšana izmantojot kādu no komerciālām grafisko datu vizualizācijas paketēm (Oracle Map Viewer, Spatial Console vai cita). Jāizpēta tās iespējas.13) Jāveic ģeometriskās datu bāzes izgūšanas vaicājumu rezultātu vizualizēšana;14) Jāveic ģeometrisko datu vizualizēšana izmantojot programmēšanas valodu Java un tās bibliotēkas.
Vērtēšana1) + 2) + 3) + 5) +7) +8) +9) = 5 balles + 4) + 6) + 10) + 11) +12) = 8 balles + 13) +14) = 9 balles
3
1) Ģeometrisko datu slāņu ar ģeometriskajiem un atributīvajiem datiem veidošana
Laboratorijas darba izpildei tika sagatavota karte, kas ir redzama 1. attēlā. Karte ir darba autora oriģināldarbs, un tās izveidošanai tika izmantots CorelDRAW 12 rīks. Attēla augšā ir redzamas X ass koordinātes, bet pa kreisi – Y ass koordinātes. Kartes izveidošana bija nepieciešama, lai noteiktu zīmējamo objektu koordinātes.
1. att. Darba izmantojamā karte
4
Kartē ir izdalīti 5 slāņi: zila krāsa - ūdenstilpņu slānis brūna krāsa - ielu slānis pelēka krāsa - ēku slānis zaļa krāsa - koku slānis dzeltena krāsa - citu objektu slānis
Kartē ir redzami arī objektu nosaukumi, bet iekavās ir noradīti objektu identifikatori (ID), kuri tiks definēti tabulās ievadot atbilstošo ģeometriju datus.
Izmantojot rīku Oracle Data Modeler, cita izveidota entītiju-relāciju (ER) diagramma, kas ir redzama . attēlā. ER diagramma atspoguļo datubāzes tabulas un saites starp tiem. . attēlā ir redzams, ka katru slāni veido pamattabula ar ģeometriskiem datiem un papildus tabulas ar atributīviem datiem.
2. att. ER diagramma
Pamattabulas ar ģeometriskiem datiem ir: UDENSTILPNES IELAS EKAS KOKI CITI_OBJEKTI
Papildus tabulas ar atributīviem datiem ir:5
UDENSTILPNE IELA EKA KOKS CITS_OBJEKTS
Tabulu ar ģeometriskiem datiem veidošanas ir nepieciešams SDO_GEOMETRY datu tips, ko atbalsta shēma MDSYS:
MDSYS – shēma, kas norāda glabāšanas krātuvi, sintaksi un atbalstāmo ģeometrisko datu tipu semantiku;
SDO_GEOMETRY – ģeometrisko datu tips.
Pārbaudīt, vai SDO_GEOMETRY tips ir pieejams, ir iespējams ar vaicājumu, kas ir redzams . attēlā. Pēc vaicājuma rezultātiem var secināt, ka SDO_GEOMETRY tips ir pieejams.
3. att. SDO_GEOMETRY pieejamības pārbaude
6
Tabulas UDENSTILPNES izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: UDENS_ID – ūdenstilpnes identifikators, kas ir primāra atslēga; UDENS_GEOM – ūdenstilpnes ģeometriskie dati; UDENS_NOSAUKUMS – ūdenstilpnes nosaukums.
4. att. Tabulas UDENSTILPNES izveidošana
Tabulas IELAS izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: IELAS_ID – ielas identifikators, kas ir primāra atslēga; IELAS_GEOM – ielas ģeometriskie dati; IELAS_NOSAUKUMS – ielas nosaukums.
5. att. Tabulas IELAS izveidošana
Tabulas EKAS izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: EKAS_ID – ēkas identifikators, kas ir primāra atslēga; EKAS_GEOM – ēkas ģeometriskie dati; EKAS_NOSAUKUMS – ēkas nosaukums.
7
6. att. Tabulas EKAS izveidošana
Tabulas KOKI izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: KOKA_ID – koka identifikators, kas ir primāra atslēga; KOKA_GEOM – koka ģeometriskie dati; KOKA_NOSAUKUMS – koka nosaukums (koka suga).
7. att. Tabulas KOKI izveidošana
Tabulas CITI_OBJEKTI izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: OBJEKTA_ID – objekta identifikators, kas ir primāra atslēga; OBJEKTA_GEOM – objekta ģeometriskie dati; OBJEKTA_NOSAUKUMS – objekta nosaukums.
8
8. att. Tabulas CITI_OBJEKTI izveidošana
Tabulas ar ģeometriskiem datiem ir izveidotas. Otrkārt, jāizveido atributīvo datu tabulas.
Tabulas UDENSTILPNE izveidošana ir redzama . attēlā. Tabulai ir 4 atribūti: UDENS_ID – ūdenstilpnes identifikators – ārēja atslēga, kas saista atributīvo tabulu
UDENSTILPNE ar ģeometrisko datu tabulu UDENSTILPNES; UDENS_TIPS – ūdenstilpnes tips, kas var būt ezers, dīķis vai upe; UDENS_DZILUMS – ūdenstilpnes maksimālais dziļums; UDENS_IZCELSME – veids kā tika radīta ūdenstilpne, izcelsme var būt dabīga vai
mākslīga.
9. att. Tabulas UDENSTILPNE veidošana
Tabulas IELA izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: IELAS_ID – ielas identifikators – ārēja atslēga, kas saista atributīvo tabulu IELA ar
ģeometrisko datu tabulu IELAS; IELAS_STAVOKLIS – stāvoklis, kurš piemīt ielas trotuāram, var būt labs,
apmierinošs vai slikts; IELAS_STATUSS – visas ielas ir sadalītas trīs grupās: galvenās, otras kārtas un taka.
9
10. att. Tabulas IELA veidošana
Tabulas EKA izveidošana ir redzama . attēlā. Tabulai ir 4 atribūti: EKAS_ID – ēkas identifikators – ārēja atslēga, kas saista atributīvo tabulu EKA ar
ģeometrisko datu tabulu EKAS; EKAS_IELA – iela, uz kuras atrodas ēka – ārēja atslēga, kas saista atributīvo tabulu
EKA ar ģeometriju datu tabulu IELAS; EKAS_NUMURS – ēkas numurs uz ielas; EKAS_DIB_GADS – gads, kurā ēka bija uzcelta.
11. att. Tabulas EKA veidošana
Tabulas KOKS izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: KOKA_ID – koka identifikators – ārēja atslēga, kas saista atributīvo tabulu KOKS ar
ģeometrisko datu tabulu KOKI; KOKA_AUGSTUMS – konkrēta koka augstums; KOKA_DIAMETRS – konkrēta koka diametrs.
10
12. att. Tabulas KOKS izveidošana
Tabulas CITS_OBJEKTS izveidošana ir redzama . attēlā. Tabulai ir 3 atribūti: OBJEKTA_ID – objekta identifikators – ārēja atslēga, kas saista atributīvo tabulu
CITS_OBJEKTS ar ģeometrisko datu tabulu CITI_OBJEKTI; OBJEKTA_DIB_GADS – gads, kurā objekts tika dibināts; OBJEKTA_SFERA – sfēra, priekš kuras objekts tika uzcelts, piemēram, sports,
kultūra, aizsardzība u.t.t..
13. att. Tabulas CITS_OBJEKTS veidošana
11
2) Ģeometriju meta-datu noradīšana
Ģeometriju meta-datos jāievada dimensiju vērtību diapazoni (mazākās un lielākās vērtības) un precizitāti (toleranci, pielaidi). Tie jāglabā kā raksts tabulā ar nosaukumu USER_SDO_GEOM_METADATA, kas tiek izveidota lietotāju shēmā. Tabula tiek definēta šādi:
CREATE TABLE USER_SDO_GEOM_METADATA (TABLE_NAME VARCHAR2(30),COLUMN_NAME VARCHAR2(30),DIMINFO MDSYS.SDO_DIM_ARRAY);
Kur: TABLE_NAME – tabulas nosaukums; COLUMN_NAME – kolonnas nosaukums ar tipu SDO_GEOMETRY; DIM_INFO – informācija par dimensiju vērtību diapazoniem un precizitāti.
Rinda DIMINFO ir mainīga garuma objekta tipa masīvs, kurā ir viens ieraksts katrai dimensijai. Šo rindu definē šādi :
CREATE TYPE SDO_DIM_ARRAY AS VARRAY(4) OF SDO_DIM_ELEMENT;
SDO_DIM_ELEMENT definē šādi :
CREATE TYPE SDO_DIM_ELEMENT AS OBJECT ( SDO_DIMNAME VARCHAR2(64), SDO_LB NUMBER NOT NULL, SDO_UB NUMBER NOT NULL, SDO_TOLERANCE NUMBER NOT NULL);
SDO_DIM_ARRAY instancei ir izmērs N un tai ir N dimensijas. SDO_GEOM_METADATA.DIMINFO satur divas SDO_DIM_ELEMENT instances priekš divdimensiju ģeometrijām, trīs priekš trīsdimensiju ģeometrijām, u.t.t. Katrai SDO_DIM_ELEMENT instancei masīvā jābūt ne nulles vērtībai šādos atribūtos:
SDO_LB – dimensijas mazākā vērtība; SDO_UB – dimensijas lielākā vērtība; SDO_TOLERANCE – precizitāte.
Dotajā gadījuma tabulā nebija definēta patstāvīgi, jo tā jau eksistē datubāzē pēc noklusējuma.
Meta-datu ievade visām ģeometrijām ir redzama ., ., ., ., un . attēlos.
12
Apskatīsim . attēlu kā piemēru: ‘CITI_OBJEKTI’ – tabulas vārds (TABLE_NAME); ‘OBJEKTA_GEOM’ – kolonnas nosaukums tabulā CITI_OBJEKTI ar tipu
SDO_GEOMETRY (COLUMN_NAME); Masīvs MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X', 0, 430,
1), MDSYS.SDO_DIM_ELEMENT('Y', 0, 510, 1)) sastāv no diviem elementiem, kas nozīmē kā ģeometrijai ir divas dimensijas – X un Y:
o MDSYS.SDO_DIM_ELEMENT('X', 0, 430, 1), kur: ‘X’ – dimensijas vārds (DIMNAME); 0 – dimensijas mazākā vērtība (SDO_LB); 430 – dimensijas lielākā vērtība (SDO_UB); 1 – precizitāte (SDO_TOLERANCE);
o MDSYS.SDO_DIM_ELEMENT('Y', 0, 510, 1), kur: ‘Y’ – dimensijas vārds (DIMNAME); 0 – dimensijas mazākā vērtība (SDO_LB); 510 – dimensijas lielākā vērtība (SDO_UB); 1 – precizitāte (SDO_TOLERANCE);
NULL – koordināšu sistēma.
14. att. Meta-datu ievade ģeometrijai OBJETA_GEOM
13
15. att. Meta-datu ievade ģeometrijas EKAS_GEOM
16. att. Meta-datu ievade ģeometrijai IELAS_GEOM
17. att. Meta-datu ievade ģeometrijas KOKA_GEOM
14
18. att. Meta-datu ievade ģeometrijas UDENS_GEOM
. attēla ir redzama ģeometriju meta-datu ievades pārbaude. Pēc vaicājuma rezultātiem var secināt, ka dati tika ievadīti pareizi.
19. att. Ģeometriju meta-datu ievades pārbaude
15
3) Ģeometrisko un atributīvo datu ievade, izmantojot SQL komandu INSERT
Pirmkārt, dati tika ievadīti ģeometrisko datu tabulās. Visu datu ievade tika sākotnēji veikta ar INSERT komandu, lai varētu uzreiz apskatīt vizualizāciju ar Map View opcijas palīdzību (par to ir precīzāk pastāstīts darba 12. nodaļā).
Datu ievade tabulā UDENSTILPNES ar INSERT komandu ir redzama . attēlā.
20. att. Datu ievade tabulā UDENSTILPNES ar INSERT komandu
Apskatīsim ūdenstilpnes ar identifikatoru 1 (UDENS_ID=1) datu ievadi: 1 – ūdenstilpnes identifikators; MDSYS.SDO_GEOMETRY(2003, NULL, NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 2),MDSYS.SDO_ORDINATE_ARRAY(150,100, 170,80, 190,100, 210,120, 190,140, 170,160, 150,140, 130,120, 150,100)), kur:
o 2003 – SDO_GTYPE vērtība, ko apraksta kā DLTT, kur: D – dimensiju skaits (dotajā gadījumā 2); L – norāde LRS (Linear Referencing System) tipa ģeometrijām (dotajā
gadījuma ir parasta ģeometrija, tāpēc vērtība ir 0); TT – ģeometrijas tips (dotajā gadījuma 03, kas nozīme viens poligons
bez caurumiem).o NULL – izmantojama koordināšu sistēmu (SDO_SRID), parasti izmanto
NULL;
16
o NULL – SDO_POINT vērtība, dotajā gadījuma atsevišķi punkti netiek noradīti;
o MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 2), kur: 1 – pirmās izmantojamās koordinātes pozīcija SDO_ORDINATES
masīvā (SDO_STARTING_OFFSET), dotajā gadījumā 1, jo tā ir sākuma pozīcija;
1003 – elementa tips (SDO_ETYPE), dotajā gadījumā ir ārējais poligona kontūrs;
2 – elementa sastāvdaļu tips (SDO_INTERPRETATION), dotajā gadījumā loki.
o MDSYS.SDO_ORDINATE_ARRAY(150,100, 170,80, 190,100, 210,120, 190,140, 170,160, 150,140, 130,120, 150,100) – koordinātu masīvs. Dēļ tā, ka elementa tips ir 1003, koordinātes tiek noradītas pretēji pulksteņrādītāja virzienam (skatīt . attēlu).
‘Āboliņdīķis’ – ūdenstilpnes nosaukums.
21. att. Āboliņdīķa koordinātes
Ūdenstilpnes ar identifikatoru 2 (UDENS_ID=2) ievade ir līdzīga, atšķiras tikai daži parametri (pārējie parametri ir tādi paši kā ūdenstilpnes ar identifikatoru 1 gadījumā):
2 – ūdenstilpnes identifikators; MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1), kur atšķiras trešā vērtība:
o 1 – elementa sastāvdaļu tips ir taisnas līnijas;o MDSYS.SDO_ORDINATE_ARRAY(120,0, 150,0, 60,235, 45,510, 20,510,
20,225, 120,0) – koordinātu masīvs, ievade tāpat kā pirmajā gadījumā tiek veikta pretī pulksteņrādītāja virzienam (skatīt . attēlu).
‘Lielupe’ – ūdenstilpnes nosaukums.
17
22. att. Lielupes koordinātes
18
Datu ievade tabulā IELAS ar INSERT komandu ir redzama . attēlā.
23. att. Datu ievade tabulā IELAS ar INSERT komandu
Gadījumos, kad ielas ir taisnstūri, ir nepieciešami tikai divi punkti, lai tos aprakstītu – kreisais apakšējais un labais augšējais, par ko liecina elementu sastāvdaļu tips 3 (MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3)). Pārējie parametri jau tika apskatīti iepriekšējās ievadēs.
19
Datu ievade tabulā EKAS ar INSERT komandu ir redzama . attēlā.
24. att. Datu ievade tabulā EKAS ar INSERT komandu
Visas ēku ģeometrijas ir taisnstūri vai daudzstūri, kas sastāv no taisnām līnijām. Tādu ģeometriju definēšana jau tika apskatīta iepriekšējos ievades gadījumos.
20
Datu ievade tabulā KOKI ar INSERT komandu ir redzama . attēlā.
25. att. Datu ievade tabulā KOKI ar INSERT komandu
21
Visas koku ģeometrijas ir riņķi, tādu ģeometriju definēšanai tiek izmantots elementu sastāvdaļu tips 4, (MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 4)) un koordināšu masīvā MDSYS.SDO_ORDINATE_ARRAY ir nepieciešams definēt tikai 3 punktus. Punktu definēšana notiek pretī pulksteņrādītāja virzienam.
Kā piemēru apskatīsim koka ar identifikatoru 1 (KOKA_ID=1) masīvs MDSYS.SDO_ORDINATE_ARRAY ievadi MDSYS.SDO_ORDINATE_ARRAY(385,405, 365,425, 345,405), kas ir vizualizēta . attēlā.
26. att. Ozola koordinātes
Datu ievade tabulā CITI_OBJEKTI ar INSERT komandu ir redzama . attēlā.
27. att. Datu ievade tabulā CITI_OBJEKTI ar INSERT komandu
Estrādei ir masīvs MDSYS.SDO_ELEM_INFO_ARRAY(1,1005,4, 1,2,1, 3,2,2, 7,2,1, 9,2,2), kur:
1,1005,4:o 1 – nobīdes nav;o 1005 – elementa tips ir poligons, kas sastāv gan no taisnām līnijām, gan no
lokiem;22
o 4 – tripletu skaits. 1,2,1 – taisnu līniju segments, koordinātes sākas ar pirmo pozīciju; 3,2,2 – loks, koordinātes sākas ar 3 pozīciju; 7,2,1 – taisnu līniju segments, koordinātes sākas ar 7 pozīciju; 9,2,2 – loks, koordinātes sākas ar 9 pozīciju.
Koordinātes tiek definētas pretī pulksteņrādītāja virzienam (skatīt . un . attēlus).
28. att. Estrādes koordinātes
Stadiona ģeometrijai ir ārējais un iekšējais kontūrs un masīvs (MDSYS.SDO_ELEM_INFO_ARRAY(1,1005,4, 1,2,2, 5,2,1, 7,2,2, 11,2,1, 15,2005,4, 15,2,1, 17,2,2, 21,2,1, 23,2,2), kur 15,2005,4 nozīmē iekšēja kontūra sākumu. Iekšējais kontūrs tiek definēts pulksteņrādītāja virzienā (skatīt . un . attēlus).
29. Stadiona koordinātes
23
Žogs ir divdimensiju līniju segmenti, par ko liecina elementa tipa SDO_GTYPE vērtība 2002 (MDSYS.SDO_GEOMETRY(2002, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1))), bet 1,2,1 nozīme, ka žogs ir taisnu līniju segments, koordinātes sākas ar pirmo pozīciju. Koordinātes tiek definēts pulksteņrādītāja virzienā (skatīt . un . attēlus).
30. att. Žoga koordinātes
Dati visās ģeometriju tabulās tika ievadīti, otrkārt jāievada dati atributīvās tabulās.
Datu ievade tabulā UDENSTILPNE ir redzama . attēlā.
31. att. Datu ievade tabulā UDENSTILPNE ar INSERT komandu
Datu ievade tabulā IELA ir redzama . attēlā.
24
32. att. Datu ievade tabulā IELA ar INSERT komandu
Datu ievade tabulā EKA ir redzama . attēlā.
33. att. Datu ievade tabulā EKA ar INSERT komandu
25
Datu ievade tabulā KOKS ir redzama . attēlā.
34. att. Datu ievade tabulā KOKS ar INSERT komandu
Datu ievade tabulā CITS_OBJEKTS ir redzama . attēlā.
35. att. Datu ievade tabulā CITS_OBJEKTS ar INSERT komandu
26
4) Atributīvo un ģeometrisko datu ievade, izmantojot programmu SQL*Loader
Visi dati tika iepriekš ielādēti ar INSERT komandu, tāpēc būs jāizdzēš dati no dažām tabulām, lai nodemonstrētu datu ievadi ar programmu SQL*Loader.
SQL*Loader ir piemērots liela apjoma datu ielādei ar vienādu struktūru. Ģeometriskie dati ar pilnīgi vienādu struktūru ir tikai tabulā KOKI, tāpēc to arī izmantosim datu ievades ar programmu SQL*Loader demonstrēšanai. Visās atributīvās tabulās datiem ir vienāda struktūra, tāpēc tos arī ielādēsim ar programmu SQL*Loader. Datu dzēšana no atributīvam tabulām un no tabulas KOKI ir redzama . un . attēlos.
36. att. Atributīvo tabulu datu dzēšana
37. att. Datu dzēšana no tabulas KOKI
27
Datu dzēšana tiek veikta, uzrakstot atbilstošo komandu komandrindā (cmd.exe). Fails ar paplašinājumu *.ctl ir kontroles fails, kurā tiek definēta datu ievades loģika. Kontroles fails satur datu failu nosaukumu ar paplašinājumu *.dat, kurā tiek glabāti dati.
Datu ielāde tabulā KOKI ar programmas SQL*Loader palīdzību ir redzama . attēlā (parole tika aizkrāsota drošības iemeslu dēļ:
sqlldr – palaižamais fails; system – datubāzes lietotājvārds; orcl – datubāzes nosaukums; koki_sqlldr_ctl.ctl – kontroles fails.
Programmas SQL*Loader izpildes failam (sqlldr.exe), kontroles failam un datu failam ir jāatrodas vienā un tajā pašā direktorijā. Tajā pašā direktorijā pēc datu ielādes tiek izveidots arī fails *.log, kur tiek ierakstīta informācija par datu ievadi tabulā.
Kontroles un datu failu saturs tabulai KOKI ir redzams . attēlā.
38. att. Datu ielāde tabulā KOKI ar programmu SQL*Loader
39. att. Kontroles un datu faili
Datu ielāde tabulās UDENSTILPNE, IELA, EKA, KOKS, CITS_OBJEKTS ar programmas SQL*Loader palīdzību ir redzama . attēlā.
28
40. att. Datu ievade tabulās UDENSTILPNE, IELA, EKA, KOKS, CITS_OBJEKTS ar programmas SQL*Loader palīdzību
29
Kontroles un datu failu saturs tabulai UDENSTILPNE ir redzams . attēlā.Kontroles un datu failu saturs tabulai IELA ir redzams . attēlā.Kontroles un datu failu saturs tabulai EKA ir redzams . attēlā.Kontroles un datu failu saturs tabulai KOKS ir redzams . attēlā.Kontroles un datu failu saturs tabulai CITS_OBJEKTS ir redzams . attēlā.
41. att. Kontroles un datu failu saturs tabulai UDENSTILPNE
42. att. Kontroles un datu failu saturs tabulai IELA
43. att. Kontroles un datu failu saturs tabulai EKA
30
44. att. Kontroles un datu failu saturs tabulai KOKS
45. att. Kontroles un datu failu saturs tabulai CITS_OBJEKTS
Pēc datu ielādes visās tabulās darba autore apskatījās visus *.log failus, lai pārliecinātos par veiksmīgu datu ielādi. *.log faili apstiprināja veiksmīgu datu ievadi.
Pirms veikt turpmākas darbības ar datubāzi ir jāpārliecinās, ka visi dati gan ar INSERT komandu, gan ar programmu SQL* Loader tika ievadīti veiksmīgi. Lai to izdarītu, apskatīsim visu tabulu datus. Tabulu dati ir redzami ., ., ., ., ., ., ., ., ., . attēlos.
46. att. Tabulas UDENSTILPNES dati
31
47. att. Tabulas IELAS dati
48. att. Tabulas EKAS dati
49. att. Tabulas KOKI dati
50. att. Tabulas CITI_OBJEKTI dati
32
51. att. Tabulas UDENSTILPNE dati
52. att. Tabulas IELA dati
53. att. Tabulas EKA dati
33
54. Tabulas KOKS dati
55. att. Tabulas CITS_OBJEKTS dati
34
5) Fiksēto (parasto), hibrīda un R-koka indeksu pielietošana
Pēc datu ir ievadīšanas tabulās ir nepieciešamas izveidot telpisko indeksu katrai tabulai, lai nodrošinātu ātrāku informācijas meklēšanu un efektīvu piekļūšanu datiem. To realizē pārklājot ģeometrijas ar dakstiņiem (tile).
Oracle Spatial relāciju objektu datu bāzei nodrošina trīs telpiskās indeksēšanas metodes: fiksētā; hibrīdā; R–koka.
Fiksēta izmēra dakstiņu telpiska indeksēšana ir atzīta par labāko indeksēšanas metodi relāciju modelim. Šī metode izmanto vienāda izmēra dakstiņus, lai apklātu ģeometriju. Fiksēta izmēra dakstiņi tiek kontrolēti ar to izšķirtspēju. Metodes efektivitāte ir atkarīga no dakstiņu līmeņa, un ģeometriju izmēru variācijām šajā slānī. Ja jūs paņemsiet mazāka izmēra fiksētos dakstiņus, lai apklātu mazo ģeometriju, un pēc tam mēģināsiet izmantot tos pašus dakstiņus, lai apklātu lielāko ģeometriju, tad būs nepieciešams daudz vairāk dakstiņu. Tomēr, ja būs izvēlēti lielāka izmēra dakstiņi, tad indeksu selektivitāte būs sliktāka, jo liela izmēra dakstiņi nevar tuvināt mazas ģeometrijas. Fiksēta izmēra dakstiņu skaita kontrolei ir parametrs SDO_LEVEL.
Fiksētie indeksi tika izveidoti tabulu IELAS un EKAS ģeometrijām IELAS_GEOM un EKAS_GEOM (skatīt . attēlu).
56. Fiksēto indeksu izveidošana tabulu IELAS un EKAS ģeometrijām IELAS_GEOM un EKAS_GEOM
Hibrīdveida indeksēšana ir labāka indeksēšanas metode objektu – relāciju modelim. Hibrīda indeksēšana izmanto fiksēta un mainīga izmēra dakstiņu kombinācijas. Katrai ģeometrijai jāizvēlas fiksēta izmēra dakstiņu kopa, kas pilnīgi apklāj ģeometriju, un mainīga izmēra dakstiņu kopu, kas arī pilnīgi apklāj ģeometriju. Jo mazāks ir fiksēto dakstiņu izmērs, un jo lielāks ir mainīga izmēra
35
dakstiņu skaits, jo precīzāka būs aproksimācija. Mainīga izmēra dakstiņu skaita kontrolei ir parametrs SDO_NUMTILES.
Hibrīda indeksi tika izveidoti tabulu UDENSTILPNES un CITI_OBJEKTI ģeometrijām UDENS_GEOM un OBJEKTA_GEOM (skatīt . attēlu).
57. att. Hibrīda indeksu izveidošana tabulu UDENSTILPNES un CITI_OBJEKTI ģeometrijām UDENS_GEOM un OBJEKTA_GEOM
R-koka indeksēšana ļauj indeksēt telpiskos datus līdz pat četrām dimensijām (quadtree indexing). Fiksētie un hibrīdie indeksi atbalsta tikai 2 dimensijas. R-koka indeksu veidošanai nav jāievada parametri SDO_LEVEL un SDO_NUMTILES. Šeit indekss aproksimē katru ģeometriju ar mazāko tā iespējamo robežu MIR (Minimālais Ierobežojuma Rādiuss) jeb MBR (Minimum Bounding Rectangle).
R-koka indekss tika izveidots tabulas KOKI ģeometrijai KOKA_GEOM (skatīt . attēlu).
58. att. R-koka indeksa izveidošana tabulas KOKI ģeometrijai KOKA_GEOM
36
6) Indeksu ātrdarbības salīdzinājums
Ātrdarbības salīdzinājums tika veikts 3 veidu telpiskiem indeksiem, kas tika aprakstītas iepriekšējā nodaļā. Lai pēc iespējas objektīvāk novērtētu efektivitāti, iepriekš izveidoti indeksi visām tabulām tika dzēsti (skatīt . attēlu) un to vietā visām tabulām tika izveidoti fiksētie indeksi (skatīt . attēlu). Pēc tam tiku veikta ģeometriju datu vizualizācija, izmantojot Oracle Map Builder kas izmanto indeksus, lai izgūtu informāciju no datu bāzes un to vizualizētu, kā arī uzrāda katrā patērēto laiku. Pirms veikt vizualizācija, ir jāatjauno dati (skatīt . attēlu). Datu atjaunošana ir jāveic katru reizi pēc indeksa maiņas. Šāda vizualizācija ar fiksētiem indeksiem tika veikta 3 reizes:
1. vizualizācija ar fiksētiem indeksiem – . attēls; 2. vizualizācija ar fiksētiem indeksiem – . attēls; 3. vizualizācija ar fiksētiem indeksiem – . attēls;
Kad visas iepriekšaprakstītas darbības ar fiksētiem indeksiem ir izpildītas, tādas pašas darbības tika atkārtotas ar hibrīda un R-koka indeksiem:
fiksēto indeksu dzēšana – . attēls; hibrīda indeksu izveidošana – . attēls; 1. vizualizācija ar hibrīda indeksiem – . attēls; 2. vizualizācija ar hibrīda indeksiem – . attēls; 3. vizualizācija ar hibrīda indeksiem – . attēls; hibrīda indeksu dzēšana – . attēls; R-koka indeksu izveidošana – . attēls; 1. vizualizācija ar R-koka indeksiem – . attēls; 2. vizualizācija ar R-koka indeksiem – . attēls; 3. vizualizācija ar R-koka indeksiem – . attēls; R-koka indeksu dzēšana – . attēls;
Visi rezultāti tika apkopoti . tabulā. Pēc 1. tabulas ir dots arī indeksu ātrdarbības salīdzinājums.
37
59. att. Iepriekšizveidoto indeksu dzēšana
60. Fiksēto indeksu veidošana visām tabulām
38
61. Datu atjaunošana rīkā Oracle Map Builder
39
62. att. 1. rezultāts ar fiksētiem indeksiem
40
63. att. 2. rezultāts ar fiksētiem indeksiem
41
64. att. 3. rezultāts ar fiksētiem indeksiem
42
65. att. Fiksēto indeksu dzēšana
66. att. Hibrīda indeksu veidošana
43
67. att. 1. rezultāts ar hibrīda indeksiem
44
68. att. 2. rezultāts ar hibrīda indeksiem
45
69. att. 3. rezultāts ar hibrīda indeksiem
46
70. att. Hibrīda indeksu dzēšana
71. att. R-koka indeksu veidošana
47
72. att. 1. rezultāts ar R-koka indeksiem
48
73. att. 2. rezultāts ar R-koka indeksiem
49
74. att. 3. rezultāts ar R-koka indeksiem
50
75. att. R-koka indeksu dzēšana
1. tabula Indeksu ātrdarbības salīdzīnājuma apkopojumsFiksētie indeksi Hibrīda indeksi R-koka indeksi
1. rezultāts 2. rezultāts 3. rezultāts 1. rezultāts 2. rezultāts 3. rezultāts 1. rezultāts 2. rezultāts 3. rezultāts
CITI_OBJEKTI 3009 16 16 4 3 369 7 141 17
EKAS 2962 7 15 7 1 44 7 62 14
IELAS 2768 16 17 2 2 65 6 180 14
KOKI 2939 14 8 8 1 48 7 77 15
UDENSTILPNES 2742 16 15 6 3 187 7 69 11
VID_N 2884 13,8 14,2 5,4 2 142,6 6,8 105,8 14,2
VID_REZ 970,6666667 50 42,26666667
Pēc iegūtiem rezultātiem var konstatēt, ka R-koka indeksi ir visātrākie, otrajā vietā ir hibrīda indeksi, bet pēdējā vietā hibrīda indeksi. Kaut gan indeksu ātrdarbības salīdzinājums nav pietiekoši objektīvs, jo datu apjoms ir pārāk mazs. Pie tik maza datu apjoma visu indeksu efektivitāte ir gandrīz vienāda un atšķīrās tikai par dažām milisekundēm. Laiks ievērojami mainās arī no tā, kādus uzdevumus paralēli izpilda dators.
51
7) Primāra filtra vaicājumi
Primārais filtrs nodrošina vajadzīgo ierakstu ātro iezīmēšanu un nodot tos sekundāram filtram. Primārais filtrs salīdzina ģeometriju aproksimācijas (tuvinājumus), lai samazinātu skaitļošanas sarežģītību un izdevumus, tādēļ primāram filtram jābūt tik efektīvam, cik vien tas ir iespējams. Tā kā primārais filtrs salīdzina ģeometriju aproksimācijas (tuvinājumus), tas atgriež rezultējošās kopas superkopu. Spatial nav nepieciešams vienmēr izmantot abus – primāro un sekundāro filtrus. Dažos gadījumos pietiek ar primāro filtru.
. attēla ir redzams: primāra filtra vaicājums, kas izskaitļo, cik koki atrodas blakus estrādei (tajā pašā
kvartālā); šī vaicājuma izpildes rezultāts.
Grafiskais rezultāta atspoguļojums ir redzams . attēlā – ar sarkano krāsu ir apzīmēti estrādes kvartāla kontūrs un kvartāla teritorijā esošie koki. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu – blakus estrādei (tajā pašā kvartālā) atrodas 6 koki.
76. att. Vaicājums, kas izskaitļo koku skaitu blakus estrādei (tajā pašā kvartālā)
52
77. att. Vaicājuma, kas izskaitļo koku skaitu blakus estrādei (tajā pašā kvartālā) grafiskais atspoguļojums
. attēla ir redzams: primāra filtra vaicājums, kas izgūst to ēku identifikatorus un nosaukumus, kas ir aizsargāti ar
žogu (tika izmantotas žoga stūru koordinātes); šī vaicājuma izpildes rezultāts.
Grafiskais rezultātu atspoguļojums ir redzams . attēlā – ar sarkano krāsu ir apzīmētas ēkas, kas ir aizsargātas ar žogu, un žogs. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu.
53
78. att. Vaicājums, kas izgūst to ēku identifikatorus un nosaukumus, kas ir aizsargāti ar žogu
79. att. Vaicājuma, kas izgūst to ēku identifikatorus un nosaukumus, kas ir aizsargāti ar žogu, grafiskais atspoguļojums
54
8) Topoloģiju analīzes vaicājumi
Topoloģiju analīzes vaicājumi norāda attiecības starp ģeometrijām gan viena slāņa robežās, gan starp vairākiem slāņiem, piemēram, pieskaršanas, ietverums, pārklājums u.t.t., kā arī attālumus starp ģeometrijām un ģeometrijas konkrētā attālumā.
. attēla ir redzams: topoloģiju analīzes vaicājums, kas izgūst ielas, ar kurām krustojas Rīgas iela; šī vaicājuma izpildes rezultāts.
Vaicājuma tika izmantots filtra SDO_RELATE specializēts operators ANYINTERACT, kas nosaka, vai ģeometrijām ir jebkāda mijiedarbība. Tika arī izslēgts rezultāts, kad Rīgas iela krustojas pati ar sevi (I2.IELAS_ID != 2).
Grafiskais rezultātu atspoguļojums ir redzams . attēlā – ar sarkano krāsu ir apzīmēta ielas, ar kuru krustojas Rīgas iela, bet Rīgas iela – ar roza krāsu. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu.
80. att. Vaicājums, kas izgūst ielas, ar kurām krustojas Rīgas iela
55
81. att. Vaicājums, kas izgūst ielas, ar kurām krustojas Rīgas iela, grafiskais atspoguļojums
. attēla ir redzams: topoloģiju analīzes vaicājums, kas izgūst visu ielu krustojumus; šī vaicājuma izpildes rezultāts.
Vaicājumu tips JOIN (QUERYTYPE=JOIN) nodrošina vaicājuma izpildi katrai ielai ar katru. Izvadītais saraksts ir sakārtots pēc ielu nosaukumiem alfabēta secībā.
Grafiskais rezultātu atspoguļojums ir redzams . attēlā – ar sarkano krāsu ir apzīmēta ielas, ar kuru krustojas Rīgas iela, kā arī pati Rīgas iela. Ielas ir apzīmētas ar sarkano krāsu, bet ielu krustojumi – ar melniem riņķiem. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu.
56
82. att. Vaicājums, kas izgūst visu ielu krustojumus
57
83. att. Vaicājuma, kas izgūst visu ielu krustojumus, grafiskais atspoguļojums
. attēla ir redzams: topoloģiju analīzes vaicājums, kas izskaitļo attālumu no viesnīcas galvenā korpusa līdz
visām ūdenstilpnēm (šī informācija varētu būt noderīga viesnīcas reklāmai); šī vaicājuma izpildes rezultāts.
Filtrs SDO_NN nosaka tuvākās kaimiņ-ģeometrijas norādītajai ģeometrijai. Parametrs SDO_NUM_RES norāda gaidāmo rezultātu skaitu (dotajā gadījumā 2, jo kartē ir divas ūdenstilpnes), bet pēdējais parametrs definē mērvienību (1).
Grafiskais rezultātu atspoguļojums ir redzams . attēlā – ar sarkano krāsu ir apzīmēta ūdenstilpnes, attālumus norāda melnas bultiņas. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu – tika atrasti attālumi līdz divām ģeometrijām un attālums līdz Āboliņdīķa ir mazāks nekā līdz Lielupei.
58
84. att. Vaicājums, kas izskaitļo attālumu no viesnīcas galvenā korpusa līdz visām ūdenstilpnēm
85. att. Vaicājuma, kas izskaitļo attālumu no viesnīcas galvenā korpusa līdz visām ūdenstilpnēm, grafiskais atspoguļojums
. attēla ir redzams: topoloģiju analīzes vaicājums, kas izgūst ēkas, kas atrodas tuvāk nekā 50 mērvienības
estrādei (to ēku iedzīvotājiem varētu traucēt skaļa mūzika); šī vaicājuma izpildes rezultāts.
59
Filtrs SO_WITHIN_DISTANCE nosaka, vai divas ģeometrijas ir noteiktā attālumā viena no otras, bet parametrs DISTANCE nosaka šo attālumu.
Grafiskais rezultātu atspoguļojums ir redzams . attēlā – ēkas, kas atrodas tuvāk, nekā 50 mērvienības estrādei ir apzīmētas ar sarkano krāsu, attālums ir apzīmēts ar bultiņu. Dzīvojamā māja atrodas tieši 50 metru attāluma, ko var viegli pierādīt, jo estrādes punkts, kurš ir tuvākais dzīvojamai mājai ir 255,370, bet dzīvojamas mājas tuvākais punkts estrādei ir 205,370. Līdz ar to, 255-205=50 mērvienības.
86. att. Vaicājums, kas izgūst ēkas, kas atrodas tuvāk nekā 50 mērvienības estrādei
87. att. Vaicājuma, kas izgūst ēkas, kas atrodas tuvāk nekā 50 mērvienības estrādei, grafiskais atspoguļojums
60
9) Ģeometriju skaitlisko raksturojumu iegūšanas vaicājumi
Ģeometriju skaitliskos raksturojumus – laukumu, perimetru un garumu ir iespējams izgūt no ģeometriskās datubāzes ar speciālo iebūvēto funkciju palīdzību.
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst puķu dobes laukumu; šī vaicājuma izpildes rezultāts.
88. att. Vaicājums, atgriež puķu dobes platību
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst Āboliņdīķa perimetru; šī vaicājuma izpildes rezultāts.
89. att. vaicājums, kas izgūst Āboliņdīķa perimetru
61
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas aprēķina koku blīvumu
uzzīmētajā kartē (šī informācija varētu būt interesanta kādam dabas aizsardzības dienestam); šī vaicājuma izpildes rezultāts.
Vaicājums aprēķina katra koka laukumu, aprēķina visu koku laukumu (ar funkcijas SUM palīdzību) un izdala to ar kopējo kartes platību 430(pēc X ass) * 510(pēc Y ass).
90. att. Vaicājums, kas aprēķina koku blīvumu uzzīmētajā kartē
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst žoga garumu
(informācija būs aktuāla, ja žogs būs jāatjauno vai jānomaina); šī vaicājuma izpildes rezultāts.
91. att. Vaicājums, kas izgūst žoga garumu
62
10) Atributīvo datu izgūšanas vaicājumi
Ģeometrisko datu tabulas ir arī saistītas ar atributīvo datu tabulām, līdz ar to ir iespējams izgūst atributīvo informāciju balstoties uz ģeometrijām un otrādi – izgūt ģeometrijas balstoties uz atributīvo informāciju.
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst atributīvo informāciju
par galvenajām ielām, kuras iet pāri Lielupei un kuru stāvoklis ir apmierinošs. šī vaicājuma izpildes rezultāts.
Grafiskais rezultāta atspoguļojums ir redzams . attēlā – ar sarkano krāsu ir apzīmēta iela, kas atbilst vaicājumam. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu.
92. att. Vaicājums, kas izgūst atributīvo informāciju par galvenajām ielām, kuras iet pāri Lielupei un kuru stāvoklis ir apmierinošs
63
93. att. Vaicājuma, kas izgūst atributīvo informāciju par galvenajām ielām, kuras iet pāri Lielupei un kuru stāvoklis ir apmierinošs, grafiskais atspoguļojums
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst atributīvo informāciju
(augstumu un diametru) par koku, kas aug puķu dobē. šī vaicājuma izpildes rezultāts.
Tika izmantota filtra SDO_RELATE specializēts parametrs MASK=CONTAINS, kas nozīme, ka viena ģeometrija ietver citu.
Grafiskais rezultāta atspoguļojums ir redzams . attēlā – koks, kas aug puķudobē, ir apzīmēts ar sarkano krāsu. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu.
94. att. Vaicājums, kas izgūst atributīvo informāciju (augstumu un diametru) par koku, kas aug puķu dobē
64
95. att. Vaicājuma, kas izgūst atributīvo informāciju (augstumu un diametru) par koku, kas aug puķu dobē, grafiskais atspoguļojums
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst atributīvos datus par
ēkām, kas atrodas stadiona kvartālā. šī vaicājuma izpildes rezultāts.
Grafiskais rezultāta atspoguļojums ir redzams . attēlā – ar sarkano līniju ir apzīmēts stadiona kvartāls, ar sarkano krāsu ir apzīmētas ēkas, kas atrodas stadiona kvartāla teritorijā. Grafiskais rezultāta atspoguļojums sakrīt ar vaicājuma izpildes rezultātu.
65
96. att. Vaicājums, kas izgūst atributīvos datus par ēkām, kas atrodas stadiona kvartālā
97. att. Vaicājuma, kas izgūst atributīvos datus par ēkām, kas atrodas stadiona kvartālā, grafiskais atspoguļojums
66
11) Ģeometriju ģeometrisko datu iegūšanas vaicājumi
Ģeometriju ģeometriskus datus – koordinātes, koordinātes interpretēšanas masīvu, ģeometrijas tipu, dimensiju skaitu – arī ir iespējams izgūt ar vaicājumu palīdzību.
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst konkrēta objekta
koordinātes (dotajā gadījumā ēkas ar EKAS_ID=1 koordinātes); šī vaicājuma izpildes rezultāts.
98. att. Vaicājums, kas izgūst konkrēta objekta koordinātes
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst ģeometrijas tipu (dotajā
gadījuma visu koku tipus). šī vaicājuma izpildes rezultāts.
Visiem kokiem ģeometrijas tips ir 3, jo visi koki ir riņķi.
67
99. att. Vaicājums, kas izgūst ģeometrijas tipu
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izgūst dimensiju skaitu (dotajā
gadījumā objektiem no tabulas CITI_OBJEKTI). šī vaicājuma izpildes rezultāts.
Visiem objektiem dimensiju skaits ir 2, ko arī var novērot kartē.
100. att. Vaicājums, kas izgūst dimensiju skaitu68
. attēla ir redzams: ģeometriju skaitlisko raksturojumu iegūšanas vaicājums, kas izvada informāciju par
koordināšu interpretēšanu (dotajā gadījumā tabulas EKAS ģeometrijām). šī vaicājuma izpildes rezultāts.
101. att. Vaicājums, kas izvada informāciju par koordināšu interpretēšanu
69
12) Ģeometriskās datu bāzes ģeometriju vizualizēšana
Ģeometriskās datu bāzes ģeometriju vizualizēšana tika veikta ar trim dažādiem rīkiem: Oracle Map Viewer Oracle Map Builder GeoRaptor
Vizualizēšana ar Oracle Map Viewer
Līdz ar to, ka Oracle Map Viewer ir paplašinājums priekš SQL Developer un ir pieejams turpat (vismaz SQL Developer versijā 3.2.2., kuru lieto darba autore), katra ģeometrija tika uzreiz vizualizēta pēc to ievades, lai pārliecinātos, ka tā vizualizējas pareizi.
Oracle Map Viewer paplašinājuma palaišana ir redzama . attēlā. Izvēloties atbilstošo izvēlnes punktu, tiks atvērts logs, kas ir redzams . attēlā (apvilkts sarkanajā rāmītī).
102. att. Paplašinājuma Map View palaišana
70
103. att. Map View logs
Lai kaut ko vizualizētu, ir nepieciešams pievienot jaunu vaicājumu. Vizualizēsim katru tabulu atsevišķā vaicājumā, vaicājumi ir redzami ., ., ., ., . attēlos.
104. att. Vaicājums tabulas UDENSTILPNES vizualizēšanai71
105. att. Vaicājums tabulas IELAS vizualizēšanai
106. att. Vaicājums tabulas EKAS vizualizēšanai
72
107. att. Vaicājums tabulas KOKI vizualizēšanai
108. att. Vaicājums tabulas CITI_OBJEKTI vizualizēšanai73
Visu iepriekšminēto vaicājumu rezultāts ir ģeometriju datubāzes vizualizēšana, kas ir redzama . attēlā. Ar šādu vaicājumu klāstu datubāzi var apskatīt pa slāņiem, ieķeksējot tikai vajadzīgo vaicājumu(-us).
109. att. Ģeometriju datubāzes vizualizēšana ar Oracle Map Viewer
Vizualizēšana ar Oracle Map Builder
Oracle Map Builder ir atsevišķi instalējama programma, kas var tikt lejupielādēta no resursa http://www.oracle.com/technetwork/middleware/mapviewer/downloads/index-100641.html, turpat ir atrodams arī lietotāja ceļvedis. Pirmo reizi atvērot programmu ir jāizveido savienojums ar datubāzi, ko var izdarīt caur izvēlnes punktiem File -> New. Datubāzes tabulas ir redzamas zem izvēlnes Spatial Tables (. attēls).
110. att. Ģeometriju tabulas
74
Lai vizualizētu ģeometrijas, var klikšķināt uz tabulas nosaukuma un nospiežot labo peles pogu uz izvēlēties punktu Preview, bet tādā veidā nebūs iespējams vizualizēt visu tabulu ģeometrijas uzreiz, kā arī vizualizēt katru slāni savā krāsā, līdz ar to tika izveidotas tēmas (izvēlne Themes ir redzama . attēlā). Pirms veidot tēmas, tika arī izveidoti pieci krāsu stili (viens katrai tabulai) un robežu stils. Visas tēmas tika apvienotas bāzes karte KARTE (Base Maps -> Karte). Kartes vizualizēšanas rezultāts ar Oracle Map Builder ir redzams . attēlā.
111. att. Ģeometriju datubāzes vizualizēšana ar rīku Oracle Map Builder
75
Vizualizēšana ar Oracle GeoRaptor
Oracle GeoRaptor ir paplašinājums priekš SQL Developer un ir pieejams turpat (vismaz SQL Developer versijā 3.2.2., kuru lietoja darba autore). Georaptor pamācības var tikt atrastas avotā http://sourceforge.net/apps/mediawiki/georaptor/index.php?title=Main_Page.
Oracle GeoRaptor paplašinājuma palaišana ir redzama . attēlā. Šis paplašinājums, atšķirībā no Oracle Map Viewer un Oracle Map Builder, atspoguļo tikai indeksētus ģeometriskus datus.
112. att. Oracle GeoRaptor paplašinājuma palaišanaTabulas ģeometrijas pievienošana GeoRaptor kartei ir redzama . attēla.
76
113. att. Ģeometrijas pievienošana GeoRaptor kartei
Ģeometriju datubāzes vizualizēšanas rezultāts ar paplašinājumu GeoRaptor ir redzams . attēlā.
114. att. Ģeometriju datubāzes vizualizēšana ar paplašinājumu GeoRaptor
77
13) Ģeometriskās datu bāzes izgūšanas vaicājumu rezultātu vizualizēšana
Visu vaicājumu rezultāti tika vizualizēti atbilstošas nodaļās, bet ģeometrisko datubāzes vaicājumu rezultātu vizualizēšanu var veikt arī ar SQL Developer paplašinājumu Oracle Map Viewer, ievadot SELECT daļā kolonnas vārdu, kurai ir ģeometriskais datu tips SDO_GEOMETRY. Kaut gan ne visiem vaicājumiem rezultāti būs labi pārskatāmi ģeometriju nosaukumu trūkuma dēļ.
Daži vaicājumu vizualizācijas piemēri paplašinājumā Oracle Map Viewer ir redzami ., ., ., . attēlos. Par pamatu tika paņemti vaicājumi no 7.–8. darba nodaļām (primāra un sekundāra filtra vaicājumi).
. attēla redzamais vaicājums ir vaicājuma no 7. darba nodaļas modifikācija (skatīt . attēlu un tā aprakstu). . attēlā ir redzams vaicājuma vizuālais rezultāts.
. attēla redzamais vaicājums ir vaicājuma no 7. darba nodaļas modifikācija (skatīt . attēlu un tā aprakstu). . attēlā ir redzams vaicājuma vizuālais rezultāts.
. attēla redzamais vaicājums ir vaicājuma no 8. darba nodaļas modifikācija (skatīt . attēlu un tā aprakstu). . attēlā ir redzams vaicājuma vizuālais rezultāts.
. attēla redzamais vaicājums ir vaicājuma no 8. darba nodaļas modifikācija (skatīt . attēlu un tā aprakstu). . attēlā ir redzams vaicājuma vizuālais rezultāts.
78
115. att. Vaicājums, kas vizualizē sarkanā krāsā kokus, kas atrodas estrādes kvartālā
116. att. Vaicājuma, kas vizualizē sarkanā krāsā kokus, kas atrodas estrādes kvartālā, rezultāts
79
117. att. Vaicājums, kas vizualizē ēkas, kas ir aizsargātas ar žogu, sarkanā krāsā
118. att. Vaicājuma, kas vizualizē ēkas, kas ir aizsargātas ar žogu, sarkanā krāsā rezultāts
80
119. att. Vaicājums, kas vizualizē sarkanā krāsā ielas, ar kurām krustojas Rīgas iela
81
120. att. Vaicājuma, kas vizualizē sarkanā krāsā ielas, ar kurām krustojas Rīgas iela, rezultāts
121. att. Vaicājums, kas vizualizē sarkanā krāsā ēkas 50 metru attāluma vai tuvāk estrādei
82
122. att. Vaicājuma, kas vizualizē sarkanā krāsā ēkas 50 metru attāluma vai tuvāk estrādei, rezultāts
83
Secinājumi
Darba izstrādes gaitā tika izveidoti 5 ģeometrisko datu slāņi ar ģeometriskajiem un atributīvajiem datiem. Katru slāni veido pamattabula ar ģeometriskiem datiem un papildus tabulas ar atributīviem datiem. Tabulās tika ievadīti dati, metadati visām tabulām tik ievadīti tām paredzētajā tabulā, kas ir izveidota datubāzē pēc noklusējuma.
Kartes zīmēšana un ģeometrisko datu ievade pa koordinātēm datubāzē aizņēma ļoti daudz laika. Darba autore arī atkārtoti ievadīja dažus ģeometriskus datus, jo no sākuma kļūdījās ar datu koordināšu secība (pulksteņrādītāja virzienā un pretējā virzienā), tomēr gala versijā visi ģeometriskie dati ir ievadīti pēc noteikumiem, par ko liecina veiksmīga indeksu pielietošana, kā arī veiksmīga ģeometriju datubāzes vizualizēšana trīs tām paredzētajos Oracle paplašinājumos.
Darba ietvaros tika veikts indeksu ātrdarbības salīdzinājums, kur uzvarēja R-koku indeksi, otro vietu ieguva hibrīda indeksi, pēdējo vietu – fiksētie indeksi. Kaut gan indeksu ātrdarbības salīdzinājums nav pietiekoši objektīvs, jo datu apjoms ir pārāk mazs. Pie tik maza datu apjoma visu indeksu efektivitāte ir gandrīz vienāda un atšķīrās tikai par dažām milisekundēm. Laiks ievērojami mainās arī no tā, kādus uzdevumus paralēli izpilda dators.
Ģeometriju datubāzes pārbaudei tika definēti un realizēti dažāda veida un dažādas sarežģītības pakāpes vaicājumi. Tika izpētīti vairāki filtri un to parametri. Vaicājumu rezultāti tika vizualizēti. Pati ģeometriju datubāze tika veiksmīgi vizualizēta trijos tām paredzētajos rīkos.
Darba izstrādes gaitā tika izmantoti vairāki rīki – Oracle SQL Developer, Oracle Map Builder, Oracle GeoRaptor, Oracle Map Viewer, Oracle Data Modeler.
Kopumā darbs bija aizraujošs un interesants, bet tā izpilde aizņēma ļoti daudz laika.
84