eiduk - datubaze.files.wordpress.com web viewdatu bāzes sistēmas oracle „spatial...

17
Datu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats GeoRaster ir iebūvētā Oracle Spatial pakete, kura ļauj glabāt, indeksēt, vaicāt, analizēt vai piegādāt rastra attēlus un režģa (angl. grid) datus un ar tiem saistītus metadatus. GeoRaster nodrošina Oracle Spatial datu tipus un objektu relāciju shēmu. Šie datu tipi var būt izmantoti vairāku dimensiju režģa slāņu un rastra attēlu glabāšanai. Dati var būt izmantoti pozicionēšanai uz Zemes virsmas vai uz lokālas koordināšu sistēmas. GeoRaster var būt izmantots ar jebkuras tehnoloģijas datiem, kura vāc vai ģenerē attēlus (piemēram, zondēšana, kartografija). Izmantot šo rīku var plašā izmantošanas spektrā: atrašanās vietas servisos, geo-datu arhīvos, uzraudzības un novertēšanas vidēs, derīgo izrakteņu izpētēs, aizsardzības un avārijas dienestos, telekomunikāciju, transporta un pilsētu plānošanā. GeoRaster izmanto datu bāzes komponentus, Java Virtual Machine un XML DB. GeoRaster datu modelis Rastru dati var iekļaut sevī dažādu informāciju: šūnas vai pikseļi; telpiskais apjoms (angl. Spatial domain ); telpas un laika informācija; šūnu atribūti; metadati; apstrādes papildu informācija; GeoRaster glabā datus daudzdimensionālā rastra šūnu matricā. Katra šūna - ir viens matricas elements un katrai šūnai ir sava vērtība. Ja GeoRaster objekts glabā attēlu, šūnu var arī saukt

Upload: trinhtuyen

Post on 01-Feb-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

Datu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks.

GeoRaster apskats

GeoRaster ir iebūvētā Oracle Spatial pakete, kura ļauj glabāt, indeksēt, vaicāt, analizēt vai piegādāt rastra attēlus un režģa (angl. grid) datus un ar tiem saistītus metadatus. GeoRaster nodrošina Oracle Spatial datu tipus un objektu relāciju shēmu. Šie datu tipi var būt izmantoti vairāku dimensiju režģa slāņu un rastra attēlu glabāšanai. Dati var būt izmantoti pozicionēšanai uz Zemes virsmas vai uz lokālas koordināšu sistēmas.

GeoRaster var būt izmantots ar jebkuras tehnoloģijas datiem, kura vāc vai ģenerē attēlus (piemēram, zondēšana, kartografija). Izmantot šo rīku var plašā izmantošanas spektrā: atrašanās vietas servisos, geo-datu arhīvos, uzraudzības un novertēšanas vidēs, derīgo izrakteņu izpētēs, aizsardzības un avārijas dienestos, telekomunikāciju, transporta un pilsētu plānošanā.

GeoRaster izmanto datu bāzes komponentus, Java Virtual Machine un XML DB.

GeoRaster datu modelisRastru dati var iekļaut sevī dažādu informāciju:

● šūnas vai pikseļi;● telpiskais apjoms (angl. Spatial domain);● telpas un laika informācija;● šūnu atribūti;● metadati;● apstrādes papildu informācija;

GeoRaster glabā datus daudzdimensionālā rastra šūnu matricā. Katra šūna - ir viens matricas elements un katrai šūnai ir sava vērtība. Ja GeoRaster objekts glabā attēlu, šūnu var arī saukt par pikseli. Matricai ir vairāki mērīšanas rezultāti, “dziļumi” un katras dimensijas izmērs. Faktiski "dziļums" ir katrā šūnā glabājamu datu lielums. Rastru matricu var saslēgt priekš optimālas datu glabāšanas un izguves.

Datu modelim ir vairāku slāņu struktūra. Piemēram, vairāku kanālu zondēšanas datu glabāšanai, slāņi tiek izmantoti, lai modelēt attēlu kanālus. Šūnu divdimensiju matrica sastāv no kolonnas un rindas. Vairāku slāņu struktūras izmantošana prasa sarežģītu glabāšanas shēmas, tāpēc tiek izmantota papildus tabula - Raster Data Table (RDT).

Page 2: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

1. att. Slāņi, diapazoni un rastra datu tabula

1. attēlā var redzēt kā glabājās attēls ar vairākiem slāņiem un vienu rastra datu tabulu. Katram slānim ir vairāki bloki, kurš satur vairākas šūnas. Katram blokam ir ieraksts rastra datu tabulā. Ir svarīgi, ka GeoRaster slāņus numurē sākot no 1, bet diapazonus no 0.

Lielākā daļa metadatu glabājās XML formātā. GeoRaster objekta telpiskais apjoms ir metadatu daļa, kura glabājās atsevišķi, kā objekta atribūts. Šī pieeja ļauj GeoRaster objektiem izmantot SDO_GEOMETRY iespējas (R-tree indeksācija).

Vairāku dimensiju šūnu matrica ir sadalīta uz nelieliem blokiem, lai varētu efektīvi glabāt un apstrādāt datus. Katrs bloks glabājās atsevišķi kā BLOB. Katram blokam tiek izveidots geometrisks objekts (SDO_GEOMETRY), kurš ir precīzs bloka apjoms (angl. extent). Katra tabulas rinda glabā tikai vienu bloku un bloka informāciju.

Dimensiju izmēri (kolonnas, rindas, diapozoni) var būt nevienādi sadalīti pa blokiem. Tāpēc GeoRaster papildina malas ar tukšiem vērtībām līdz pilnam izmēram. Šīs paņēmiens saucās papildinājums (angl. padding). Papildinājumiem ir tāds pats dziļums, kā pārējām šūnām, bet viņu vērtības ir vienādas ar nulli. Papildinājumi dara visus BLOB blokus vienādus pēc izmēra. Sākot no 11.2 versijas, bloku izmēri ir automātiski optimizēti, lai papildinājums būtu minimāls.

Saskaņā ar fizisko modeli, glabāšana tiek veikta ar 2 objektu tipu palīdzības:

● SDO_GEORASTER, kurš satur apjoma geometriju un attiecīgus metadatus. Faktiski, šīs objekts satur informāciju par visu objektu. Tabulu, kura satur vienu vai vairākas kolonnas ar tādu tipu, sauc par GeoRaster table.

● SDO_RASTER satur informāciju par GeoRaster objekta bloku un bloka šūnu datu glabāšanai izmanto BLOB. Objektu tabula, kura sastāv no SDO_RASTER objektiem saucās Raster Data Table (RDT).Katrs SDO_GEORASTER objekts satur atribūtus (rasterDataTable,

Page 3: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

rasterID), kuri unikāli identificē RDT un RDT rindas, kuras tiek izmantotas šūnu datu glabāšanai.

2.att. GeoRaster datu fiziskās glabātuves shēma

No 2. attēla var redzēt, ka katra tabulas rinda satur informāciju par konkrētu pilsētu (piemēram, Jūrmala), ieskaitot SDO_GEORASTER objektu. SDO_GEORASTER objektam ir apjoms, kurš pārklāj visu attēla platību, metadatus, rastra ID un RDT nosaukumu. Katra rinda RDT satur informāciju par attēla bloku, ieskaitot Minimum Bounding Rectangle (MBR), t.i. šī bloka apjoms, kā arī šūnu dati (glabājās kā BLOB).

Page 4: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

3.att. GeoRaster datubāze

No 3. attēla var redzēt kā apmerām izskatās datubāze, kurā tiek izmantoti GeoRaster iespējas.

Geo-atsauceGeoRaster objekta metadatu komponents – GeoRaster koordināšu sistēma, satur

informāciju par geografisko atsauci (angl. Georeferencing). Geo-atsauce savieno koordinātes no GeoRaster šūnu datiem ar reālām Zemes koordinātēm vai lokālām. Geo-atsauce uzstāda reālās (angl. Ground) koordinātes šūnu koordinātēm un otrādi.

GeoRaster iespējā geopiesaistīšana (angl. Geocorrection), rektifikācija (angl. Rectification) un ortoretrifikācija (angl. Orthorectification) atšķirās no geo-atsauces. Bieži šajos trijos procesos izpildās resemplēšana (angl. Resampling) pēc rastru datu šūnām un GeoRaster rezultātu datiem var būt cits koordināšu sistēmas modelis. Geo-atsauce var būt izveidota ar matemātiskās formulas palīdzību, pietiekamo „ground control point (GCP)” koordināšu skaitu vai stingru datu modeli no distances zondēšanas datu apstrādes sistēmas. Geo-atsauce nemaina datus šūnās, kā arī citus metadatus, ja tas netiek prasīts priekš konversijas no attēla koordināšu sistēmas uz reālu koordināšu sistēmu.

Priekš geo-atsaucēm GeoRaster izmanto divus datu modeļus: funkcionālu pielaikošanas modeli (angl. Functional fitting model) un glabājamo funkcionālo modeli. Ja GeoRaster objekts tiek piesaistīts ar funkcionālo pielaikošanas modeli, tad metadatos SRS būs „TRUE”.

Page 5: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

PiramīdasPiramīdas ir GeoRaster apakšobjekti, kuri reprezentē rastra attēlu vai rastra datus dažādos

izmēros un ar dažādu rezolūciju. Izmērs ir saistīts ar laiku, kuru lietotāja lietojums tērē uz izguvi un rastra datu attēlošanu. Tas ir svarīgi tīmekļa lietojumiem un ir loģiski, ka mazākā izmēra attēlam būs ātrākais attēlošanas laiks. Kāmēr nav vajadzīga pilna detalizācija var izmantot sliktākas kvalitātes attēlu, kas ir mazāks pēc izmēra. Piemēram, kad lietotājs ir samazinājis attēlu.

Piramīdu līmeņi ir vairāk vai mazāk detalizētais attēls. Atbilstoši ir vajadzīgi vairāk vai mazāk vietas uz diska vai tīkla trafika. Nulltais piramīdas līmenis pārstāvj oriģinālus rastra datus. Šajā līmenī nav kvalitātes samazināšanas un rezolūcijas samazināšanas. Visi pārējie līmeņi (1, 2, .., n) pārstāvj to pašu attēlu, kas ir 0. līmenī, bet ar zemāku kvalitāti un mazāku izmēru.

Ir divi piramīdu tipi:

DECREASE – norāda, ka ar piramīdas līmeņa palielināšanu pirmīdas izmērs samazinās;

NONE – norāda, ka nav asociētas piramīdas ar GeoRaster objektu.

4.att. Piramīdu līmeņi

Page 6: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

Matricas izmērs ar katru nākamo piramīdas līmeni samazinās divās reizēs horizontāli un vertikāli. Piramīdas ģenerācijas laikā, katra šūna jaunajā līmenī saņem vērtību (resemplēšanas process). GeoRaster atbalsta vairākus vērtību ģenerācijas metodes:

Nearest neighbor–tuvākais kaimiņš; Bilinear interpolation –bilineārā interpolācija ar 4 kaimiņu šūnu izmantošanu; Cubic convolution –kubiskais izlocījums ar 16 kaimiņu šūnu izmantošanu; Average4 — vidējās vērtības meklēšana ar 4 kaimiņu šūnu izmantošanu; Average16 — vidējās vērtības meklēšana ar 16 kaimiņu šūnu izmantošanu;

SaspiešanaGeoRaster piedāvā divus iebūvētus saspiešanas režīmus priekš izmantojamas diska vietas

samazināšanas: JPEG (JPEG-B un JPEG-F) un DEFLATE. Katrā no šiem režīmiem saspiešana un atspiešana notiek pēc blokiem. Jebkura GeoRaster operācija, kura var būt izmantota ar nesaspiestiem datiem var būt arī izmantota priekš saspiestiem datiem. Kompressija un dekompressija notiek caurskatāmi priekš lietotāja.

API darbam ar GeoRasterGeoRaster ir divi API darbam ar objektiem: PL/SQL un Java, kurš ir pieejam sākot ar

11.2 versiju.

GeoRaster PL/SQL API piedāvāSDO_GEOR, SDO_GEOR_UTLunSDO_GEOR_ADMIN paketes, kuras satur funkcijas un procedūras darbam ar GeoRaster datiem un metadatiem. Vairākums no šīm iespējam ir no kategorijām:

Izveidošana, ielāde, eksports; Geo-atsauce un validācija; Vaicājums un metadatu izmainīšana; Vaicājums un rastra datu izmainīšana; GeoRaster objektu apstrāde; Administratīvu operāciju izpildīšana GeoRaster objektiem.

Šo pakešu pilnā dokumentācija ir pieejama Oracle datubāzes dokumentācijā.

GeoRaster Java API sastāv no interfeisiem un klasēm. Java API piedāvā pilnu saistību starp datiem, SDO_GEORASTER metadatiem un Java objektiem. Protams, Java valodas objektu metodes ir arī pieejamās. Šīs API iekļauj sevī divas paketes:

oracle.spatial.georaster–API kodols. Nodrošina pilnīgu SDO_GEORASTER objekta un viņa metadatu kartēšanu Java objektos. Šī pakete nav atkarīga no Java Advanced Imaging (JAI).

oracle.spatial.georaster.sql – nodrošina atbalstu dažiem GeoRaster PL/SQL apakšprogrammām, kuras nav iekļautas kodol paketē.

Page 7: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

oracle.spatial.georaster.image – atbalsta Java objekta ģenerāciju no pilna GeoRaster objekta. Šajā paketē ir arī realizēta attēlu apstrāde. Šī pakete izmanto un ir atkarīga no JAI.

GeoRaster rīki: pārlūkošana, ielāde, eksportsGeoRaster Viewer attēlo GeoRaster objektus un metadatus Java lietojumos.

GeoRaster Exporter ļauj lietotājam eksportēt GeoRaster objektus attēla failos. Šo rīku var lietot kā alternatīvu SDO_GEOR.exportTo procedūrai. Tomēr, šis rīks neatbalsta GIF formātu.

GeoRaster Loader nodrošina ar ierobežotu formātu atbalstu ārējo failu ielādē, eksportā un pārlūkošanā. GeoRaster ielādētājs strādā ar formātiem TIFF, GeoTIFF, JPEG, BMP, GIF, PNG unJP2. Saistīšanas informācijai ir jābūt ielādētai no ESRI world failiem, GeoTIFF faila un no Digital Globe RPC teksta faila. GeoRaster ielādētājam ir svarīgas nianses:

GeoRaster ielādētāju var izmantot ka alternatīvu ielādei ar SDO_GEOR.importFrom procedūrai. Tomēr uz ne-Windows sistēmām ielādētājs neatbalsta BMP un GIF formātus;

Ielādētājs neatbalsta attēlus ar 2 bitu krāsu dziļumu, kā arī vairākspektrālu (angl. Multiband) attēlus ar BIL un BSQ maiņas veidiem. Importētie objekti būs BIP;

Šī rīka rezultāti nevar būt atcelti tāpēc ka pēc ielādēšanas transakcija būs nofiksēta automātiski;

JPEG formāta failiem ielādes laikā ir nepieciešams vairāk atmiņas, tāpēc to ir jāpalielina ar –Xmx parametra palīdzību.

Pēc ielādes dati glabājās iekšējā GeoRaster formātā un nav atkarīgi no konkrēta faila formāta.

Page 8: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

GeoRaster izmantošana

Lai uzsāktu darbu ar GeoRaster objektiem ir jāizveido GeoRaster tabula un vienu vai vairākus rastra datu tabulas.

Par GeoRaster tabulu skaitās jebkura tabula, kura satur SDO_GEORASTER kolonnu. Attēlā 5. ir parādīts tabulas „pilsetas_atteli” izveidošanas piemērs, kurš satur kolonnu „attels”, kura ir domāta GeoRaster objektu glabāšanai.

CREATE TABLE pilsetas_atteli (attela_id NUMBER PRIMARY KEY, attela_aprakstsVARCHAR2(50), attels SDO_GEORASTER);

5.att. GeoRaster tabulas izveidošana.

Kad GeoRaster tabula ir gatava, vajag izveidot rastra datu tabulu (RDT), kura būs izmantota ar objektiem no GeoRaster tabulas. Ir divi veidi kā to izdarīt: „BasicFile Lobs” un „SecureFile LOBs”, kura ir ieviesta versijā 11.1. „SecureFile” izmantošana palielina ražīgumu darbā ar GeoRaster objektiem.

CREATE TABLE pilsetas_atteli_rdt OF SDO_RASTER (PRIMARY KEY (rasterID, pyramidLevel, bandBlockNumber,rowBlockNumber, columnBlockNumber)) TABLESPACE im_tbs_2LOB(rasterBlock) STORE AS SECUREFILE lobseg (NOCACHE);

6.att. Rastra datu tabulas izveidošana.

Lai nodrošinātu datu veselumu starp GeoRaster iekšējām tabulām un datu struktūrām, GeoRaster automātiski izveido unikālo DML trigeri katrai GeoRaster kolonnai, kad lietotājs izveido GeoRaster tabulu. Tomēr iz izņēmums: ja GeoRaster kolonna ir pievienota tabulai ar ALTER TABLE apgalvojumu, ir jāsauc SDO_GEOR_UTL.createDMLTrigger procedūra manuāli.

Pirms saglabāt GeoRaster attēlu tabulā, ir jāizveido GeoRaster objektu un ievietot to tabulā. Lai to izveidotu jaunu objektu ir jaizdara sekojošās operācijas:

Jāinicializē tukšo GeoRaster objektu arSDO_GEOR.init funkciju; Jāizveido tukšo GeoRaster objektu arfunkcijasSDO_GEOR.createBlank palīdzību.

Ja objekts ir null, tad ar to nevar strādāt, tāpēc to vajag korekti izveidot ar šo operāciju. Šīs funkcijas saista objektu ar rastra datu tabulu un rastra ID vērtību, lai DML triggers varētu nodrošināties, ka rastra datu tabula un rastra ID pāris ir unikāls.

Pirms GeoRaster objekta lietošanas vai pēc manuālām rastra datu vai metadatu izmaiņām ir svarīgi nodrošināties, ka objekts ir valids. Validācija nosaka, ka GeoRaster objekts ir

Page 9: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

piereģistrēts, tiek pārbauditi metadati un rastra šūnu dati, lai nodrošināties, ka visi dati ir veseli. Prieks validācijas ir pieejamas apakšprogrammas:

SDO_GEOR.validateGeoRaster pārbauda GeoRaster objektu un tas šūnu datus un metadatus. Atgriežot „TRUE” nosaka, ka objekts ir valīds. „FALSE” ja nav un „NULL” ja objekts ir null. Ir jālieto šī funkcija katru reizi kad tiek izveidots GeoRaster objekts;

SDO_GEOR.schemaValidate validē metadatus pret GeoRaster XML shēmu.

Kad ir izveidots GeoRaster objekts, tas telpas apjoms (angl. Spatial extent) var būt null. Ja tiek izveidota liela GeoRaster datubāze ar globālo tvērumu (angl. Scope), kur telpiskais apjoms ir vienā koordināšu sistēmā, bet GeoRaster objekti ir citās koordināšu sistēmās, ir jēga izveidot telpisko indeksu (R-tree). Lai būtu drošam, ka katra GeoRaster objekta telpiskā apjoma geometrija ir pareiza, ir jāuzstāda telpisko apjomu. Šo indeksa izmantošanai uz geometrijām, visam geometrijām ir jābāzējās uz vienas koordināšu sistēmas. Izveidot telpisko apjomu var ar SDO_GEOR.generateSpatialExtent funkcijas palīdzību. Attēlā 7. ir parādīts piemērs kā var atjaunināt telpisko apjomu tabulā „pilsetas_atteli”.

UPDATE pilsetas_attelip SET p.attels.spatialExtent = sdo_geor.generateSpatialExtent(attels) WHERE p.attela_id = 100;COMMIT;

7.att. Telpiskā apjoma atjaunināšana.

GeoRaster dati var būt indeksēti dažādos veidos. Vissvarīgākāis no indeksiem ir telpiskais indekss uz GeoRaster objekta telpiskā apjoma geometrijas (spatialExtent attribūts).

Lai nokopētu GeoRaster objektu ir jāizpilda vairāki soļi:

1. Ir jainicializē tukšu GeoRaster objektu;2. Izmantojot SDO_GEOR.copyvai SDO_GEOR.changeFormatCopy procedūras, lai

nokopētu GeoRaster objektu uz 1. Punktā izveidotu tukšu objektu;3. Ja vajag, izmantojot UPDATE apgalvojumu var atjaunināt vajadzīgu rindu;4. Kad vajadzīgas izmaiņas ir paveiktas, ir jāizmanto COMMIT apgalvojumu, lai

saglabātu visu.

GeoRaster objektu pārlukošanai ir jāizmanto „Viewer” rīku, kurš ļauj izvēlēties, vaicāt, demonstrēt, attālināt, tuvināt un citas attēlu operācijas. Piramīdas līmenis, šūnu koordinātes un modeļa koordinātes (ja ir geo-atsauce) ir parādīti peles rādītāja lokācijā.

Pirms nokomitot datubāzes transakciju, kura izveido, atjauninā vai dzēš GeoRaster šūnu datus vai metadatus ir svarīgi atjaunināt GeoRaster objektu. Ja tas nebūs izdarīts, GeoRaster objekts var kļūt nederīgs vai metadati kļūs nesaskanīgi. Attēlā 8. ir parādīts piemērs kā to ir jādara.

Page 10: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

DECLARE

gr1 sdo_georaster; gr2 sdo_georaster;BEGIN SELECT georaster INTO gr2 from pilsetas_atteli WHERE attela_id=11 FOR UPDATE; SELECT georaster INTO gr1 from pilsetas_atteli WHERE attela_id =1;sdo_geor.changeFormatCopy(gr1, 'blocksize=(2048,2048)', gr2); UPDATE pilsetas_atteli SET attels=gr2 WHERE attela_id=11; COMMIT;END;

8.att. GeoRaster objekta atjaunināšana.

GeoRaster izmantošanas piemērsŠajā nodaļā tiks parādīts reāls GeoRaster izmantošanas piemērs.

Kad GeoRasterViewer ir uzsācis savu darbību, lietotājs redzēs lietotāju saskarni, kura ir attēlota 9. attēlā.

Page 11: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

9.att. GeoRasterViewer lietotāja saskarne.

Internetā var atrast vairākas vietnes, kur var atrast attēlus no satelītiem. Šajā darbā tiek izmantoti attēli no bezmaksas True Marble tīmekļa lapaspuses. Priekš piemēra tika paņemta „TrueMarble.500m.21600x21600.E1” pakete, kas satur Skandināvijas, Baltijas (tas nozīmē to, ka satur Latvijas fotogrāfijas), Centrālās Eiropas un Krievijas rietumu daļas satelītu fotogrāfijas. Šīs fails ir GeoTIFF formātā, kas satur pašu attēlu, tā metadatus un geo-atsauci.

Pirmkārt ir jāizveido SDO_GEORASTERtabula, kas tiek rādīts 10. attēlā.

create table satellite_data (photo_id number primary key,  georastersdo_georaster);

10.att. Tabulas satellite_date izveidošana.

Kad tabula ir izveidota, ir jāizveido rastra datu tabula. Kā to izdarīt ir parādīts 11. attēlā.

create table satellite_data_rdt_01 of sdo_raster(primary key (rasterId,pyramidLevel,bandBlockNumber,rowBlockNumber,columnBlockNumber))lob(rasterblock) store as SECUREFILE satellite_data(DEDUPLICATE CACHE READS NOLOGGING);

11.att. Rastra tabulas satellite_data_rdt_01 izveidošana.

Pirms ielādēt datus no lejupladētā faila, ir jāievieto rinda sattelite_data tabulā. Šī darbība ļaus inicializēt SDO_GEORASTER objektu.

INSERT INTO satellite_data values (1, sdo_geor.init('satellite_data_rdt_01', 1));

12.att. SDO_GEORASTER objekta inicializēšana.

Kad objekts ir inicializēts var sākt ielādi. Lai ielādētu datus, ir jāatver GeoRaster Loader lietojums. Izvēlnē ir jāizvēlās Tools -> Import into DB opcija. Atvērsies jauns dialoga logs, kurā ir jāievada datubāzes informācija.

Page 12: eiduk - datubaze.files.wordpress.com Web viewDatu bāzes sistēmas Oracle „Spatial GeoRaster” tehnoloģija. Pāvels Sisojevs, Jānis Eiduks. GeoRaster apskats. GeoRaster ir iebūvētā

13.att. Import to DB dialoga logs.

Tā kā ielādes ātrums ir diezgan neliels, ir jēga atbrīvot datora resursus aizverot ciet liekas programmas un vājos datoros (vai virtuālās mašīnās) ir jēga atslēgt Windows vizuālos efektus. Ar PL/SQL palīdzību ielādes ātrums ir lielāks. Ir svarīgi, lai RDT tabulām būtu unikālie nosaukumi visā datubāzē. Ja šīs nosacījums nebūs izpildīts – notiks kļūda.

Kad dati ir ielādēti, tos var aplūkot izmantojot MapViewer lietojumu, bet vispirms ir jāizveido telpas indekss. Pirms indeksa izveidošanas, ir jāizveido tabula, kura saturēs telpas datus. Tādas tabulas izveidošana ir parādīta 14. attēlā.

insert into user_sdo_geom_metadata values ( 'SATELLITE_DATA', 'GEORASTER.SPATIALEXTENT',sdo_dim_array(mdsys.sdo_dim_element('Longitude', -180, 180, 0.005),mdsys.sdo_dim_element('Latitude', -90, 90, 0.005)), 4326);

14.att. Telpas datu tabulas izveidošana.

updatesatellite_datasdsetsd.georaster.spatialExtent = sdo_geor.generateSpatialExtent(sd.georaster);create index sat_table_sx on SATELLITE_DATA (georaster.spatialextent) indextype is mdsys.spatial_index;

15.att. Indeksa izveidošana.

Viss, dati ir ielādēti un pilnībā gatavi darbam.