You are on page 1of 43

UNIVERZITET U NOVOM SADU

FAKULTET TEHNIČKIH NAUKA

GEOPROSTORNE BAZE PODATAKA

GBP–geoprostorne baze podataka – Rasterski tip podatka


Pregled i koncepti
§  GeoRaster predstavlja deo Oracle Spatial-a koji omogućuje skladištenje, indeksiranje,
pretraživanje, analizu i isporuku rasterskih podataka.
§  GeoRaster arhitektura
•  prostorni tipovi podataka i
•  objektno-relaciona šema.

§  Ovi tipovi podataka i šema objekata se koriste


•  za skladištenje višedimenzionalnih mrežnih lejera i rastera koji mogu biti referencirane u odnosu na pozicije
na površini Zemlje ili u lokalnom koordinatnom sistemu.

§  GeoRaster može biti korišćen za rad sa podacima iz bilo koje tehnologije koja se koristi za
snimanje ili generisanje slika, kao što su daljinska detekcija, fotogrametrija, i tematsko
kartiranje.

Laboratorija za geoinformatiku
Upravljanje rasterskim podacima u ORACLE Spatial [1/4]
§  Atributi rasterskih podataka:
•  ćelije ili piksele,
•  prostorni domen (površina koju pokriva),
•  referentne informacije o prostoru, vremenu i opsezima,
•  atribute ćelija,
•  metapodatke,
•  podatke procesiranja i dodatne podatke o kartama.

Laboratorija za geoinformatiku
Upravljanje rasterskim podacima u ORACLE Spatial [2/4]

§  GeoRaster koristi generički model rasteskih podataka koji je baziran na komponentama, podeljen u
logičke lejere.
§  Osnova podataka rastera je višedimenzionalna matrica ćelija rastera.
•  Svaka ćelija je jedan element matrice i njena vrednost se naziva vrednost ćelije.
•  Matrica ima određeni broj dimenzija, dubinu ćelije i veličinu svake dimenzije.
•  Dubina ćelije predstavlja interval vrednosti svake ćelije.
•  Dubina ćelije definiše opseg svih vrednosti ćelije i primenjuje se na svaku pojedinačnu ćeliju.

§  Osnovni skup podataka rastera može biti organizovan u blokove, kako bi se obezbedilo optimalno
smeštanje i čitanje rasterskih podataka.

Laboratorija za geoinformatiku
Upravljanje rasterskim podacima u ORACLE Spatial [3/4]
§  GeoRaster podaci sadrže metapodatke i atribute
§  Svaki lejer GeoRaster podataka može imati sopstvene metapodatke i atribute.
§  Svi podaci koji nisu osnovni podaci rasterske matrice predstavljaju metapodatke.
§  Metapodaci sadrže sledeće vrste informacija:
•  informacije o objektima,
•  informacije o rasteru,
•  informacije o koordinatnom sistemu,
•  informacije o datumu i vremenu,
•  informacije o opsezima,
•  lejerske informacije za svaki lejer posebno.
§  GeoRaster objekti su opisani GeoRaster XML šemom metapodataka, koja se koristi za
organizaciju metapodataka.

Laboratorija za geoinformatiku
Upravljanje rasterskim podacima u ORACLE Spatial [4/4]
§  Koordinatni sistem ćelija (još se naziva i prostor
rastera)
§  se koristi za opisivanje piksela u matrici rastera,i njegove
dimenzije su red, kolona i opseg.
§  Logički lejeri odgovaraju dimenziji opsega u prostoru
rastera

§  Koordinatni sistem modela (još se naziva i prostor


modela)
§  se koristi za opisivanje tačaka na Zemlji ili nekog drugog
koordinatnog sistema koji je povezan sa Oracle SRID
vrednošću.
§  Prostorne dimenzije koordinatnog sistema modela su x i y, što
odgovara koloni i redu u prostoru rastera, respektivno.

Laboratorija za geoinformatiku
Fizičko smeštanje GeoRaster podataka [1/2]
§  Prilikom smeštanja velikih GeoRaster objekata,
višedimenzionalna matrica ćelija se smešta u manje
podskupove (blokove), kako bi se obezbedilo optimalno
zapisivanje i čitanje podataka. Svaki blok se smešta u tabelu
kao BLOB.

§  SDO_GEORASTER objekat sadrži geometriju prostornog


obuhvata i relevantne metapodatke. Tabela koja sadrži jednu
ili više kolona ovog tipa se naziva GeoRaster tabela.

§  SDO_RASTER objekat sadrži informacije o bloku GeoRaster


objekta, i koristi BLOB objekat za smeštanje bloka podataka
ćelija rastera. Objekat tabela ovog tipa se naziva raster data
table (RDT).

§  Svaki SDO_GEORASTER objekat ima par atributa


(rasterDataTable, rasterID) koji jednoznačno identifikuje RDT
i slogove unutar RDT koji su iskorišćeni za smeštanje ćelija
rastera GeoRaster objekta.

Laboratorija za geoinformatiku
Fizičko smeštanje GeoRaster podataka [2/2]
§  Svaki GeoRaster objekat u GeoRaster tabeli ima odgovarajuću raster
data tabelu, koja ima slog za svaki blok rastera.

§  BLOB koji sadrži podatke rastera za svaki blok se smešta odvojeno od


raster data tabele. Moguće je podesiti parametre smeštanja za BLOB.

§  Svaki GeoRaster objekat je povezan sa raster data tabelom. Međutim,


raster data tabela može sadržati blokove više GeoRaster objekata, i
GeoRaster tabela može biti povezan sa jednom ili više raster data
tabela.

§  GeoRaster sistemski podaci održavaju relacije između GeoRaster


tabela i raster data tabela.

§  Indeksi (standardni i prostorni) mogu biti kreirani nad GeoRaster


tabelom i raster data tabelama.

§  Dodatne tabele, kao one koje sadrže podatke o kontrolnim terenskim


tačkama i vrednost atribut tabele (VAT), mogu biti povezane sa
GeoRaster objektima.

Laboratorija za geoinformatiku
Opsezi i lejeri
§  U GeoRaster-u, opseg i lejer su različiti koncepti.

§  Opseg
§  je fizička dimenzija višedimenzionalnog skupa rasterskih
podataka, odnosno, to je jedna osa u prostoru ćelija.
§  Na primer, prostor ćelije može imati osu reda, kolone i benda.
§  Opsezi su numerisani od 0 do n-1, gde je n najveći broj lejera.

§  Lejer
§  je logički koncept u GeoRaster modelu podataka.
§  Lejeri su mapirani na opsege.
§  Obično jedan lejer odgovara jednom opsegu i sastoji se od
dvodimenzionalne matrice veličine rowDimensionSize i
columnDimensionSize.
§  Lejeri su numerisani od 1 do n, odnosno, brojLejera =
brojOpsega + 1.

Laboratorija za geoinformatiku
Georeferenciranje
§  GeoRaster SRS (Spatial Refrence System), koji je komponenta metapodataka GeoRaster
objekta, sadrži informacije koje se odnose na georeferenciranje.
§  Georeferenciranje uspostavlja vezu između koordinata ćelija podataka GeoRastera i
koordinata na terenu (ili nekih lokalnih koordinata).
§  Georeferenciranje pridružuje koordinate sa terena koordinatama ćelije i obrnuto.
§  GeoRaster trenutno podržava šestoparametarsku afinu transformaciju koja georeferencira
dvodimenzionalne rasterske podatke.
§  Ako je afina transformacija navedena u metapodacima, GeoRaster objekat se smatra
georeferenciranim i vrednost isReferenced u SRS metapodacima će biti true, dok bi u
suprotnom trebala biti false.

Laboratorija za geoinformatiku
Piramide
§  Piramide su podobjekti GeoRaster
objekta koji reprezentuju rastersku sliku ili
rasterske podatke u različitim veličinama i
stepenima rezolucije. Veličina je obično
povezana sa količinom vremena za koje
aplikacija treba da pročita i prikaže sliku.
§  Nivoi piramide predstavljaju redukovanu
ili uvećanu rezoluciju slike koja zahteva
manje ili više prostora za smeštanje,
respektivno.

Laboratorija za geoinformatiku
Objektni tip podataka SDO_GEORASTER
§  Tip podataka SDO_GEORASTER je definisan na sledeći način:

CREATE TYPE sdo_georaster AS


OBJECT (
rasterType NUMBER,
spatialExtent SDO_GEOMETRY,
rasterDataTable VARCHAR2(32),
rasterID NUMBER,
metadata XMLType);

Laboratorija za geoinformatiku
Objektni tip podataka SDO_GEORASTER i tabela
rasterskih podataka
§  U GeoRaster objektno-relacionom modelu, tabela rasterskih podataka se koristi za skladištenje vrednosti ćelija rasterske
slike.
§  Ćelije u GeoRaster objektu su podeljene po blokovima i svaki blok je smešten u jedan red tabele rasterskih podataka.
§  Tabela rasterskih podataka je tabela objekata, definisana kao tabela SDO_RASTER objektnog tipa. SDO_RASTER
objektni tip je definisan kao:

CREATE TYPE sdo_raster AS OBJECT (


rasterID NUMBER,
pyramidLevel NUMBER,
bandBlockNumber NUMBER,
rowBlockNumber NUMBER,
columnBlockNumber NUMBER,
blockMBR SDO_GEOMETRY,
rasterBlock BLOB);

Laboratorija za geoinformatiku
GeoRaster operacije
§  Tipičan tok rada sa GeoRaster-om se sastoji iz sledeći koraka:
•  Kreiranje GeoRaster tabele, tabele rasterskih podataka i standardnog GeoRaster DML trigera.
•  Inicijalizacija ili kreiranje GeoRaster objekata.
•  Učitavanje rasterskih slika ili gridded podataka.
•  Validacija GeoRaster objekata, ukoliko već nisu validirani.
•  Georeferenciranje GeoRaster objekata, ako je potrebno.
•  Kreiranje prostornih indeksa, drugih indeksa, ili oba.
•  Izmeniti GeoRaster format za smeštanje podataka, ako je potrebno.
•  Upiti nad GeoRaster metapodacima i njihovo ažuriranje.
•  Upiti nad podacima o pikselima i njihovo ažuriranje.
•  Obrada GeoRaster objekata.
•  Pregled GeoRaster objekata.
•  Eksportovanje GeoRaster objekata.
•  Prenos GeoRaster podataka između baza podataka.
•  Obrada nekih GeoRaster problema.

Laboratorija za geoinformatiku
Kreiranje GeoRaster tabele
§  Sledećim iskazom se kreira GeoRaster tabela satelitski_snimci:

CREATE TABLE satelitski_snimci (


id NUMBER,
platforma VARCHAR2(10),
senzor VARCHAR2(10),
opis_snimkaVARCHAR2(50),
datum_snimanja DATE,
snimak SDO_GEORASTER);

Laboratorija za geoinformatiku
Kreiranje standardnog GeoRaster DML trigera [1/3]
§ Da bi se obezbedila konzistentnost i integritet internih GeoRaster tabela i
struktura podataka, GeoRaster je obezbedio triger koji obavlja nephodne
akcije prilikom svake od sledećih DML (data manipulation language)
operacija:
•  ubacivanja novog reda,
•  ažuriranja GeoRaster objekta, i
•  brisanja postojećeg reda.
§ DML triger se kreira pozivom procedure
SDO_GEOR_UTL.createDMLTrigger.
§ Za svaku GeoRaster tabelu i za svaku GeoRaster kolonu je potrebno
kreirati DML triger pozivom navedene procedure.

Laboratorija za geoinformatiku
Kreiranje standardnog GeoRaster DML trigera [2/3]
§  Nakon kreiranja trigera za GeoRaster kolonu u tabeli, prilikom svakog okidanja trigera koje je rezultat
DML operacija nad tom kolonom GeoRaster vrši sledeće operacije:
•  Nakon INSERT operacije, triger ubacuje red sa: nazivom GeoRaser tabele, nazivom GeoRaster kolone,
nazivom tabele rasterskih podataka, i rasterID vrednošću u USER_SDO_GEOR_SYSDATA pogled. Ako isti
red već postoji, prijavljuje se izuzetak.
•  Nakon UPDATE operacije, ako je novi GeoRaster objekat null ili prazan, triger briše stari GeoRaster objekat.
Ako ne postoji unos za stari GeoRaster objekat u USER_SDO_GEOR_SYSDATA pogledu za stari
GeoRaster objekat (tj. ako je stari GeoRaster objekat null), triger ubacuje red u taj pogled za novi GeoRaster
objekat. Ako postoji unos za stari GeoRaster objekat, triger modifikuje informacije u tom pogledu tako da
odgovaraju novom GeoRaster objektu.
•  Nakon DELETE operacije, triger briše blokove rasterskih podataka iz tabele rasterskih podataka za obrisani
GeoRaster objekat, i briše red iz USER_SDO_GEOR_SYSDATA pogleda za GeoRaster objekat koji se
briše.

Laboratorija za geoinformatiku
Kreiranje standardnog GeoRaster DML trigera [3/3]
§  Da bi se kreirao standardni GeoRaster DML triger za tabelu satelitski_snimci
potrebno je izvršiti sledeći iskaz:

EXECUTE sdo_geor_utl.createDMLTrigger('satelitski_snimci', 'snimak');

Laboratorija za geoinformatiku
Kreiranje tabele rasterskih podataka
§  Sledećim iskazom se kreira tabela rasterskih podataka za tabelu satelitski_snimci:

CREATE TABLE satelitski_snimci_rdt OF SDO_RASTER

(PRIMARY KEY (rasterID, pyramidLevel, bandBlockNumber,

rowBlockNumber, columnBlockNumber))

TABLESPACE users NOLOGGING

LOB(rasterBlock) STORE AS lobseg

(TABLESPACE users

CHUNK 8192

CACHE READS

NOLOGGING

PCTVERSION 0

STORAGE (PCTINCREASE 0)

);

Laboratorija za geoinformatiku
Inicijalizacija ili kreiranje GeoRaster objekata [1/2]
§  Pre skladištenja GeoRaster slike u GeoRaster tabelu, neophodno je kerirati GeoRaster
objekat. GeoRaster objekat se može kreirati na sledeća dva načina:
•  Inicijalizacijom praznog GeoRaster objekta, pozivom funkcije SDO_GEOR.init.
•  Kreiranjem čistog GeoRaster objekta, pozivom funkcije SDO_GEOR.createBlank.

§  Nije moguće izvršavati GeoRaster operacije ukoliko objekat nije kreiran na odgovarajući
način. SDO_GEOR.init i SDO_GEOR.createBlank funcije inicijalizuju GeoRaster objekte sa
njihovim tabelama rasterskih podataka i rasterID vrednostima, ako te vrednosti nisu
unapred specificirane, i obezbeđuje da je par, tabela rasterskih podataka – rasterID,
jedinstven za trenutnog korisnika.

Laboratorija za geoinformatiku
Inicijalizacija ili kreiranje GeoRaster objekata [2/2]
§  Sledećim iskazom se ubacuje snimak u tabelu satelitski_snimci:

INSERT INTO satelitski_snimci VALUES (2, 'LANDSAT', 'ETM+', 'p187r028


bands 123457', '20-AUG-00', mdsys.sdo_geor.init('satelitski_snimci_rdt'));

Laboratorija za geoinformatiku
Primer satelitskog snimka

Laboratorija za geoinformatiku
Učitavanje rasterskih slika ili gridded podataka [1/3]
§ Rasterski podaci se učitavaju u GeoRaster objekat pozivom procedure
SDO_GEOR.importFrom. Parametri procedure su GeoRaster objekat u
koji se slika učitava, parametri skladištenja, format rasterskih podataka,
izvor podataka, i naziv fajla u kom su smešteni rasterski podaci. U
prikazanom slučaju učitava se rasterska slika u odgovarajući GeoRaster
objekat kreiran u prethodnom koraku. Podaci se učitavaju iz fajla i format
podataka je TIFF.

Laboratorija za geoinformatiku
Učitavanje rasterskih slika ili gridded podataka [2/3]
CALL dbms_java.grant_permission('MDSYS','SYS:java.io.FilePermission','c:\temp \p187r028_band_123457.tif', 'read' );
DECLARE
ss MDSYS.SDO_GEORASTER;
BEGIN
SELECT snimak INTO ss
FROM satelitski_snimci WHERE id = 2 FOR UPDATE;
mdsys.sdo_geor.importFrom(ss, '', 'TIFF', 'file',
'c:\temp\p187r028_band_123457.tif');
UPDATE satelitski_snimci SET snimak = ss WHERE id = 2;
COMMIT;
END;
/

Laboratorija za geoinformatiku
Učitavanje rasterskih slika ili gridded podataka [3/3]

Laboratorija za geoinformatiku
Validacija GeoRaster objekata [1/2]
§  Pre korišćenja GeoRaster objekta, potrebno je proveriti da li je validan. Validacija
GeoRaster objekta uključuje proveravanje metapodataka i podataka o pikselima, da bi se
uverili da su oni konzistentni.
§  GeoRaster poseduje sledeće potprograme za validaciju:
•  SDO_GEOR.validateGeoraster proverava validnost GeoRaster objekta uključujući,
podatke o pikselima i metapodatke. Povratna vrednost je TRUE ako je objekat validan; u
suprotnom povratna vrednost je jedna od sledećih: Oracle kod greške koji označava zašto
je GeoRaster objekat nevalidan, FALSE ako je objekat ne validan iz nepoznatog razloga,
NULL ako je objekat null. Nakon kreiranja GeoRaster objekta treba proveriti njegovu
validnost korišćenjem ove funkcije.
•  SDO_GEOR.schemaValidate proverava validnost metapodataka u odnosu na GeoRaster
XML šemu.

Laboratorija za geoinformatiku
Validacija GeoRaster objekata [2/2]
§  Sledećim iskazima se vrši validacija kreiranih
GeoRaster objekata i njihovih metapodataka:

SELECT id, sdo_geor.validateGeoraster(snimak) FROM


satelitski_snimci;

ID SDO_GEOR.VALIDATEGEORASTER(SNIMAK)
1 TRUE
2 TRUE
SELECT id, sdo_geor.schemaValidate(snimak) FROM
satelitski_snimci; ID SDO_GEOR.VALIDATEGEORASTER(SNIMAK)

1 TRUE
2 TRUE
Laboratorija za geoinformatiku
Georeferenciranje GeoRaster objekata [1/5]
§  Georeferenciranje je postupak uspostavljanja veze između piksela GeoRaster objekta i koordinata terena koji taj
objekat prikazuje. GeoRaster objekat se može georeferencirati na jedan od sledećih načina:
•  Originalna slika je već georeferencirana i podaci o georeferenciranju su smešteni u ESRI world fajlu, tada se može koristiti
procedura SDO_GEOR.imortFrom za učitavanje ESRI world fajla.
•  Korišćenjem procedure SDO_GEOR.setSRS.
•  Korišćenjem procedure SDO_GEOR.georeference. Ova procedura ima šest parametara A, B, C, D, E, i F potrebnih za
georeferenciranje

Laboratorija za geoinformatiku
Georeferenciranje GeoRaster objekata [2/5]
§  Na osnovu informacija o prostornom referentnom sistemu georeferenciranog GeoRaster
objekta, transformacija GeoRaster koordinata predstavlja pronalaženje koordinata na
terenu za poznate koordinate piksela na slici, i obrnuto. Moguće je uraditi sledeće:
•  za zadatu koordiantu piksela, moguće je odrediti koordinatu na terenu pozivom funkcije
SDO_GEOR.getModelCoordinate. Na primer, za neku tačku na slici moguće pronaći
geografsku širinu i dužinu na kojima se ta tačka nalazi.
•  za zadatu koordinatu na terenu, moguće je odrediti koordinatu piksela na slici pozivom
funkcije SDO_GEOR.getCellCoordinate. Na primer, za poznate geografsku širinu i dužinu
moguće je odrediti piksel na slici koji odgovara tim koordinatama.

Laboratorija za geoinformatiku
Georeferenciranje GeoRaster objekata [3/5]
§  Sledeći blok iskaza vrši georeferenciranje drugog GeoRaster objekta pozivom procedure SDO_GEOR.georeference. Parametri ove
procedure su GeoRaster objekat koji se georeferencira, Oracle oznaka koordinatnog sistema terena (u ovom slučaju je reč o UTM
koordinatnom sistemu zona 34), oznaka koja je početna tačka georeferenciranja (u ovom slučaju je to gornji levi piksel slike).

DECLARE

ss sdo_georaster;

BEGIN

SELECT snimak INTO ss FROM satelitski_snimci WHERE id = 2 FOR UPDATE;

sdo_geor.georeference(ss, 32634, 1,

sdo_number_array(-28.5, 0, 5213733.0),

sdo_number_array(0, 28.5, 275025.0));

UPDATE satelitski_snimci SET snimak = ss WHERE id = 2;

COMMIT;

END;
/

Laboratorija za geoinformatiku
Georeferenciranje GeoRaster objekata [4/5]
§  Radi provere postupka georeferenciranja iskorišćen je sledeći iskaz koji se vrši upit na koje
koordinate na terenu pada piksel sa koordinatama 4760, 6898 na slici.

SELECT sdo_geor.getModelCoordinate(snimak, 0, sdo_number_array(4760, 6898))FROM


satelitski_snimci WHERE id = 2;

ID KOORD_TERENA
2 SDO_GEOMETRY(2001, 32634, SDO_POINT_TYPE(5017140,
410685, NULL), NULL, NULL)

Laboratorija za geoinformatiku
Georeferenciranje GeoRaster objekata [5/5]
§  Sledeći upit radi obrnuto:

SELECT sdo_geor.getCellCoordinate(snimak, 0,
sdo_geometry(2001,32634,sdo_point_type (5017283, 410740,null), null,null))
FROM satelitski_snimci WHERE id = 2;

ID KOORD_PIKSELA
2 SDO_NUMBER_ARRAY(4761, 6892)

Laboratorija za geoinformatiku
Upiti nad GeoRaster metapodacima i izmena GeoRaster
podataka [1/6]
§  GeoRaster dozvoljava postavljanje upita nad metapodacima i zadavanje novih vrednosti velikom
broju metapodataka.
§  Za vršenje upita nad metapodacima postoji veliki broj funkcija čiji naziv uglavnom počinje sa
prefiksom get.
§  Za zadavanje novih vrednosti metapodataka postoji nekoliko potprograma čiji naziv uglavnom počinje
prefiksom set.
§  Navedene funkcije za rad sa metaodacima se dele prema vrsti metapodataka na koju se odnose.
Metapodaci mogu da se odnose na:
•  ceo GeoRaster objekat,
•  koordinate i vrednosti piksela,
•  metapodatke o pikselima,
•  prostorni referentni sistem,
•  datum i vreme kada su podaci prikupljeni,
•  informacije o spektralnim opsezima,
•  lejere, i
•  piramide.

Laboratorija za geoinformatiku
Upiti nad GeoRaster metapodacima i izmena GeoRaster
podataka [2/6]
§  Metapodaci GeoRaster objekta

Laboratorija za geoinformatiku
Upiti nad GeoRaster metapodacima i izmena GeoRaster
podataka [3/6]
§  Sledećih nekoliko iskaza prikazuju funkcije koje vrše upite nad
metapodacima georaster objekata. Prvi iskaz postavlja upit o broju lejera
GeoRaster objekata.

SELECT id, sdo_geor.getTotalLayerNumber(snimak) FROM


satelitski_snimci;

ID SDO_GEOR.GETTOTALLAYERNUMBER(SNIMAK)
2 6

Laboratorija za geoinformatiku
Upiti nad GeoRaster metapodacima i izmena GeoRaster
podataka [4/6]
§  Drugi iskaz postavlja upit o dimenzijama GeoRaster objekta tj. o broju
redova i kolona piksela.

SELECT sdo_geor.getSpatialDimSizes(snimak) FROM satelitski_snimci


WHERE id=2;

ID SDO_GEOR.GETSPATIALDIMSIZES(SNIMAK)
2 SDO_NUMBER_ARRAY(8085, 9000)

Laboratorija za geoinformatiku
Upiti nad GeoRaster metapodacima i izmena GeoRaster
podataka [5/6]
§  Treći iskaz postavlja upit o dubini piksela GeoRaster objekta tj. koliko
bita se koristi za smeštanje vrednosti piksela.

SELECT sdo_geor.getCellDepth(snimak) FROM satelitski_snimci WHERE


id=2;

ID SDO_GEOR.GETCELLDEPTH(SNIMAK)
2 8

Laboratorija za geoinformatiku
Upiti nad GeoRaster metapodacima i izmena GeoRaster
podataka [6/6]
§  Četvrti iskaz postavlja upit o tipu kompresije GeoRaster objekta.

SELECT sdo_geor.getCompressionType(snimak) FROM satelitski_snimci


WHERE id=2;

ID SDO_GEOR.GETCOMPRESSIONTYPE(SNIMAK)
2 NONE

Laboratorija za geoinformatiku
Upiti nad podacima o pikselima i izmena podataka o
pikselima [1/2]
§  GeoRaster dozvoljava pristup podacima vezanim za pojedinačni piksel, matricu piksela ili celu
sliku povezanu sa određenim GeoRaster objektom. Za to se koriste sledeće funkcije:
•  SDO_GEOR.getCellValue vraća vrednost pojedinačnog piksela GeoRaster objekta.
•  SDO_GEOR.getRasterSubset vraća jedan BLOB objekat koji sadrži sve piksele iz određenog podskupa
GeoRaster objekta (koji je specificiran pravougaonikom, brojem lejera ili opsega, i nivoom piramide). Ovaj
BLOB objekat sadrži samo piskele, ne i metapodatke.
•  SDO_GEOR.getRasterData kreira jedan BLOB objekat koji sadrži sve piksele GeoRaster objekta na
zadatom nivou piramide. Ovaj BLOB objekat sadrži samo piskele, ne i metapodatke.
•  SDO_GEOR.getRasterBlocks vraća objekat koji uključuje sve podatke o slici koji su unutar ili dodiruju
zadati pravougaonik. Ova funkcija vraća objekat tipa kolekcije SDO_RASTERSET koji identifikuje sve
blokove na zadatom nivou piramide koji su unutar ili dodiruju zadati pravougaonik.

§  Da bi se promenila vrednost piksela rastera u zadatom pravougaoniku na zadatu vrednost, koja će


biti ista za svaki piksel, koristi se procedura SDO_GEOR.changeCellValue.

Laboratorija za geoinformatiku
Upiti nad podacima o pikselima i izmena podataka o
pikselima [2/2]
§  Sledeći upit koristi funkciju SDO_GEOR.getCellValue da bi se odredila vrednost
određenog piksela.

SELECT sdo_geor.getCellValue(snimak, 0, 4760, 6898, 0)


FROM satelitski_snimci WHERE id=2;
ID SDO_GEOR.GETCELLVALUE(SNIMAK,0,4760,6898,0)
2 75

Laboratorija za geoinformatiku
Eksportovanje GeoRaster objekata [1/3]
§  Rasterski podaci se eksportuju u fajl podatke iz GeoRaster objekta pozivom
procedure SDO_GEOR.exportTo.
§  Sledeći niz iskaza vrši eksportovanje u prvom slučaju celog GeoRaster objekta
u BMP fajl. A u drugom slučaju, dela GeoRaster objekta sa odgovarajućim world
fajlom.

Laboratorija za geoinformatiku
Eksportovanje GeoRaster objekata [2/3]
call dbms_java.grant_permission('MDSYS', 'SYS:java.io.FilePermission', 'c:\temp\ceo.bmp', 'write' );

call dbms_java.grant_permission('MDSYS', 'SYS:java.io.FilePermission', 'c:\temp\ceo1.tif', 'write' );

call dbms_java.grant_permission('MDSYS', 'SYS:java.io.FilePermission', 'c:\temp\ceo1.tfw', 'write' );

DECLARE

ss MDSYS.SDO_GEORASTER;

fileName VARCHAR2(1024);

tfwName VARCHAR2(1024);

BEGIN

SELECT snimak INTO ss from satelitski_snimci WHERE id = 1;

mdsys.sdo_geor.exportTo(ss, 'layerNumbers=(1)', 'BMP', 'file','c:\temp\ceo');

fileName := 'c:\temp\ceo1';

tfwName := 'c:\temp\ceo1';

SELECT snimak INTO ss FROM satelitski_snimci WHERE id = 2;

mdsys.sdo_geor.exportTo(ss, 'cropArea=(6000,6000,6500,6500)','TIFF', 'file', fileName, 'WORLDFILE', 'FILE', tfwName);

END;

Laboratorija za geoinformatiku
Eksportovanje GeoRaster objekata [3/3]

Laboratorija za geoinformatiku

You might also like