Zarz dzanie danymi przestrzennymi z uwzgl dnieniem mo liwo ci bazy danych Oracle 11g
|
|
- Ludwika Barbara Kowalik
- 7 lat temu
- Przeglądów:
Transkrypt
1 Zarz dzanie danymi przestrzennymi z uwzgl dnieniem mo liwo ci bazy danych Oracle 11g Krzysztof Jankiewicz Krzysztof.Jankiewicz@cs.put.poznan.pl Politechnika Pozna ska, Instytut Informatyki, KJ
2 Plan wyst pienia Koncepcja danych przestrzennych Przetwarzanie danych przestrzennych w praktyce Standard SQL/MM Part 3: Spatial Implementacja standardu SQL/MM Part 3: Spatial w bazie danych Oracle 11g Zagadnienia uzupełniaj ce Politechnika Pozna ska, Instytut Informatyki, KJ 2
3 Koncepcja danych przestrzennych Zastosowanie i powody wykorzystywania Terminologia Model danych i metadane Indeksowanie danych przestrzennych Politechnika Pozna ska, Instytut Informatyki, KJ 3
4 Dane przestrzenne zastosowania Zastosowania GIS Geographic Information System CAM Computer-Aided Manufacturing CAD Computer-Aided Design A co poza tym? Wszelkie systemy zawieraj ce dane pochodz ce z rozproszonych geograficznie lub przestrzennie miejsc (urz dy pracy, ZUS, marketing, reklama, spedycja, lecznictwo, ) Politechnika Pozna ska, Instytut Informatyki, KJ 4
5 Dane przestrzenne dlaczego? Relacje Dlaczego nie tak: Dane przestrzenne A tak: fips_cntry PL EZ GM fips_cntry PL PL GM GM EZ cntry_name Poland Czech Republic Germany city_name Szczecin Gorzow Wielkopolski Berlin Potsdam Prague Politechnika Pozna ska, Instytut Informatyki, KJ 5
6 Dane przestrzenne dlatego Pytanie Relacje Spatial Option W jakim pa stwie le y Praga? Czy Praga jest w tym samym pa stwie co Pilzno? Co le y bli ej Berlina, Gorzów Wielkopolski czy Szczecin? Czy Polska graniczy z Republik Czesk? Jakie Pa stwa s siaduj z Polsk? Jakie miasta znajduj si w odległo ci do 200 km od Poznania? Które pa stwo jest wi ksze Republika Czeska czy Słowacja? Politechnika Pozna ska, Instytut Informatyki, KJ 6
7 Dane przestrzenne hierarchia obiektów Warstwa przestrzenna Geometria... Geometria... Geometria Element... Element... Element Punkt Ci g linii Wielok t Zło ony ci g linii... Politechnika Pozna ska, Instytut Informatyki, KJ 7
8 Warstwa przestrzenna (layer) Jest zbiorem geometrii posiadaj cych podobny zestaw atrybutów (np. zwi zanych znaczeniowo) Przykłady warstw przestrzennych: Mapy krajów, miast; Sie dróg, sie wodoci gów, obszary le ne, obszary zurbanizowane, obszary o okre lonej g sto ci zaludnienia; Sie sklepów, sie hurtowni; Sie no ników reklamowych, obiekty okre lonego typu znacz cego dla reklamodawców; W bazie danych Oracle warstwa jest z reguły to sama z pojedyncz kolumn w tabeli. Politechnika Pozna ska, Instytut Informatyki, KJ 8
9 Geometria Jest struktur przestrzenn zbudowan ze zbioru prostych elementów geometrycznych, takich jak łuki, proste czy punkty. Jest atomowa z punktu widzenia wi kszo ci operacji dost pnych w ramach Opcji Przestrzennej (Oracle Spatial) Reprezentowana przez obiekt typu SDO_GEOMETRY Przykłady geometrii: Wyspa, jezioro, województwo, obszar zalesiony; Ulica, rzeka, granica; Sklep, hurtownia, no nik reklamowy, apteka, szkoła Konstelacja gwiazd, zbiór szkół, archipelag SDO_GEOMETRY(2007, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 277, 1003, 1, 421, 1003, 1, 609, 1003, 1, 695, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 9
10 Element 5 3 Składowa geometrii fragment jej struktury Z reguły nie jest przetwarzany w oderwaniu od geometrii. Elementy mog by ró nego typu: Punkt, Linia, Wielok t W zale no ci od typu elementu do jego opisu wykorzystywany jest jeden lub cały zbiór punktów (współrz dnych) SDO_GEOMETRY(2007, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 277, 1003, 1, 421, 1003, 1, 609, 1003, 1, 695, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 10
11 Typ obiektowy - SDO_GEOMETRY Typ SDO_GEOMETRY pozwalaj cy na zdefiniowanie i przechowywanie geometrii Przechowywany w schemacie u ytkownika MDSYS MDSYS.SDO_GEOMETRY AS OBJECT ( SDO_GTYPE NUMBER, SDO_SRID NUMBER, SDO_POINT SDO_POINT_TYPE, SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY, SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY); CREATE TABLE "COUNTRY_BOUNDARIES" ( "FIPS_CNTRY" VARCHAR2(2), "CNTRY_NAME" VARCHAR2(40), "GEOM" "MDSYS"."SDO_GEOMETRY"); Politechnika Pozna ska, Instytut Informatyki, KJ 11
12 SDO_GEOMETRY atrybut SDO_GTYPE SDO_GEOMETRY AS SDO_GTYPE SDO_SRID SDO_POINT SDO_ELEM_INFO SDO_ORDINATES SDO_GTYPE okre la typ geometrii w formacie dltt d liczba wymiarów wykorzystywanych do opisu geometrii l dotyczy systemu LRS (linear referencing system) tt typ geometrii. Prawidłowe warto ci to: dl00 UNKNOWN_GEOMETRY geometria ignorowana przez funkcje i operatory przestrzenne dl01 POINT geometria składaj ca si z jednego punktu. dl02 LINESTRING geometria składaj ca si z jednego ci gu linii. dl03 POLYGON jeden wielok t. dl04 COLLECTION ró norodna kolekcja elementów. dl05 MULTIPOINT geometria składaj ca si z wielu punktów. dl06 MULTILINESTRING wiele ci gów linii. dl07 MULTIPOLYGON wiele rozł cznych wielok tów lub powierzchni. dl08 SOLID bryła geometria składaj ca si z wielu płaszczyzn zamykaj cych przestrze. dl09 MULTISOLID geometria składaj ca si z wielu brył. SDO_GEOMETRY(2007, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 277, 1003, 1, 421, 1003, 1, 609, 1003, 1, 695, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 12
13 SDO_GEOMETRY atrybut SDO_GTYPE przykłady insert into MAJOR_CITIES(FIPS_CNTRY, CITY_NAME, GEOM) values ('PL', 'Poznan', MDSYS.SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE( , , NULL), NULL, NULL); insert into COUNTRY_BOUNDARIES(FIPS_CNTRY, CNTRY_NAME, GEOM) values ('PL','Poland', MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1), MDSYS.SDO_ORDINATE_ARRAY( , , ) ); insert into RIVERS(ID, NAME, GEOM) values (51,'Vistula', MDSYS.SDO_GEOMETRY(2002, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY( , , ) ); Politechnika Pozna ska, Instytut Informatyki, KJ 13
14 SDO_GEOMETRY atrybut SDO_SRID SDO_SRID definiuje geodezyjny układ odniesienia (odwzorowanie) Warto pusta oznacza, e aden układ odniesienia nie jest wykorzystywany współrz dne s współrz dnymi kartezja skimi. SDO_SRID musi zawiera warto znajduj c si w kolumnie SRID w tabeli SDO_COORD_REF_SYS W bazie danych Oracle 11g dost pnych jest prawie 4,5 tysi ca układów odniesienia SDO_GEOMETRY AS SDO_GTYPE SDO_SRID SDO_POINT SDO_ELEM_INFO SDO_ORDINATES WGS 84 (geographic 3D) Politechnika Pozna ska, Instytut Informatyki, KJ 14 SRID COORD_REF_SYS_NAME Pulkovo 1942(58) / Poland zone I Pulkovo 1942(58) / Poland zone II Pulkovo 1942(58) / Poland zone III Pulkovo 1942(58) / Poland zone IV Pulkovo 1942(58) / Poland zone V ETRS89 / Poland CS2000 zone 5 ETRS89 / Poland CS2000 zone 6 ETRS89 / Poland CS2000 zone 7 ETRS89 / Poland CS2000 zone 8 ETRS89 / Poland CS92 Longitude / Latitude (WGS 84) SDO_GEOMETRY(2007, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 277, 1003, 1, 421, 1003, 1, 609, 1003, 1, 695, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , ) )
15 SDO_GEOMETRY atrybut SDO_POINT SDO_POINT zoptymalizowana metoda przechowywania pojedynczych punktów przestrzennych Jest definiowany za pomoc typu SDO_POINT_TYPE posiadaj cego trzy atrybuty (X,Y,Z) Nie jest uwzgl dniany gdy parametry SDO_ELEM_INFO i SDO_ORDINATES s wypełnione SDO_GEOMETRY AS SDO_GTYPE SDO_SRID SDO_POINT SDO_ELEM_INFO SDO_ORDINATES insert into MAJOR_CITIES(FIPS_CNTRY, CITY_NAME, GEOM) values ('PL', 'Poznan', MDSYS.SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE( , , NULL), NULL, NULL); Politechnika Pozna ska, Instytut Informatyki, KJ 15
16 SDO_GEOMETRY atrybut SDO_ELEM_INFO Je eli geometria nie jest pojedynczym punktem przechowywanym w parametrze SDO_POINT wówczas SDO_ELEM_INFO zawiera opis poszczególnych elementów wchodz cych w skład geometrii. Ka dy element opisywany jest przez trzy parametry: SDO_STARTING_OFFSET pozycja pierwszej koordynaty w SDO_ORDINATES SDO_ETYPE definiuj cy typ elementu SDO_GEOMETRY AS SDO_GTYPE SDO_SRID SDO_POINT SDO_ELEM_INFO SDO_ORDINATES SDO_INTERPRETATION interpretacja, posiada ró ne znaczenie w zale no ci od typu elementu SDO_GEOMETRY(2007, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 277, 1003, 1, 421, 1003, 1, 609, 1003, 1, 695, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 16
17 SDO_ETYPE i SDO_INTERPRETATION czyli typy elementów i ich interpretacje Typ obiektu nieznany element punkt ci g linii wielok t zło ony ci g linii zło ony wielok t płaszczyzna Warto ci SDO_ETYPE zewn trzny 2003 wewn trzny zewn trzny 2005 wewn trzny 1006 zewn trzna 2006 wewn trzna Warto ci SDO_INTERPRETATION 1 punkt 0 orientacja (kierunek) dla punktu # liczba punktów w kolekcji 1 linie proste, 2 łuki 1 linie proste, 2 łuki, 3 zoptymalizowany prostok t, 4 koło # liczba składowych (ci gów linii) tworz cych zło ony ci g linii # liczba składowych (ci gów linii) tworz cych zło ony wielok t # liczba wielok tów tworz ca płaszczyzn (współdzielone kraw dzie mog nale e co najwy ej do dwóch wielok tów) bryła 1007 # liczba płaszczyzn tworz ca brył bryła mo e si składa z jednej płaszczyzny zewn trznej oraz dowolnej Pełne wsparcie dla danych 3D pojawiło liczby płaszczyzn wewn trznych si w wersji 11g (dotyczy to głównie 3 zoptymalizowany prostopadło cian elementów, operatorów, indeksowania) Politechnika Pozna ska, Instytut Informatyki, KJ 17
18 SDO_ETYPE i SDO_INTERPRETATION przykłady (1,2,1) (1,1003,1) (1,1,7) (1,1003,2) (1,1005,8, ) (1,1003,3) (1,2,2) (1,1003,4) (1,1005,2, ) (1,4,3, 1,2,1, 5,2,2, 13,2,1) (1,1003,1, 9,2003,1) Politechnika Pozna ska, Instytut Informatyki, KJ 18
19 SDO_GEOMETRY atrybut SDO_ORDINATES Zawiera koordynaty (współrz dne poszczególnych punktów) wszystkich elementów tworz cych geometri SDO_GEOMETRY AS SDO_GTYPE SDO_SRID SDO_POINT SDO_ELEM_INFO SDO_ORDINATES Liczba warto ci słu cych do opisania współrz dnych ka dego punktu jest uzale niona warto ci atrybutu SDO_GTYPE Atrybut SDO_ELEM_INFO wyznacza, które punkty w SDO_ORDINATES nale do których elementów Politechnika Pozna ska, Instytut Informatyki, KJ 19
20 SDO_GEOMETRY atrybut SDO_ORDINATES przykłady (1,2,1) (1,2, 22,9, 41,2, 43,9, 71,1) (1,4,3, 1,2,1, 5,2,2, 13,2,1) (17,1, 1,1, 1,9, 2,14, 13,9, 15,5, 19,3, 31,3, 36, 8) (1,1003,4) (10,20, 4,17, 1,10) (1,1,7) (1,12, 3,6, 14,6, 17,12, 22,15, 26,15, 30,13) (1,1003,1, 11,2003,1) (1,1, 30,5, 20,12, 7,12, 1,1, 8,5, 8,10, 18,10, 18,5, 8,5) Politechnika Pozna ska, Instytut Informatyki, KJ 20
21 SDO_GEOMETRY przykłady insert into MAJOR_CITIES(FIPS_CNTRY, CITY_NAME, GEOM) values ('PL', 'Poznan', MDSYS.SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE( , , NULL), NULL, NULL); insert into COUNTRY_BOUNDARIES(FIPS_CNTRY, CNTRY_NAME, GEOM) values ('PL','Poland', MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1), MDSYS.SDO_ORDINATE_ARRAY( , , , , , , , , , , , , , , )); insert into RIVERS(ID, NAME, GEOM) values (51,'Vistula', MDSYS.SDO_GEOMETRY(2002, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 2, 1), MDSYS.SDO_ORDINATE_ARRAY( , , ) ); Politechnika Pozna ska, Instytut Informatyki, KJ 21
22 Metadane Poszczególne kolumny typu SDO_GEOMETRY mog zosta opisane (zarejestrowane) dzi ki umieszczeniu w bazie danych odpowiednich informacji w tzw. metadanych Metadane pozwalaj aplikacjom podejmowa decyzje odno nie technik obsługi (np. indeksacji, wizualizacji) okre lonych kolumn Dost p do metadanych jest mo liwy za pomoc perspektyw systemowych [USER ALL DBA]_SDO_GEOM_METADATA Struktura tych perspektyw jest nast puj ca: Nazwa kolumny table_name column_name diminfo srid Typ kolumny varchar2(32) varchar2(1024) mdsys.sdo_dim_array number Opis nazwa tabeli nazwa zarejestrowanej kolumny informacja dotycząca każdego z wykorzystywanych wymiarów; dla każdego wymiaru przechowywane są następujące dane: nazwa wymiaru, wartość wymiaru ograniczająca geometrie z dołu, wartość ograniczająca z góry, tolerancja. układ odniesienia wykorzystywany przez wszystkie geometrie w kolumnie Politechnika Pozna ska, Instytut Informatyki, KJ 22
23 Metadane wskazówki i przykład Rejestracja metadanych jest konieczna przed utworzeniem indeksu na kolumnie zawieraj cej geometrie Rejestracja jest realizowana tylko raz dla warstwy (czyli okre lonej kolumny w okre lonej tabeli) INSERT INTO USER_SDO_GEOM_METADATA VALUES ( 'COUNTRY_BOUNDARIES', 'GEOM', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X', , , 1), MDSYS.SDO_DIM_ELEMENT('Y', , , 1) ), 8307 ); INSERT INTO USER_SDO_GEOM_METADATA VALUES ( 'MAJOR_CITIES', 'GEOM', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X', , , 1), MDSYS.SDO_DIM_ELEMENT('Y', , , 1) ), 8307 ); , , Politechnika Pozna ska, Instytut Informatyki, KJ 23
24 Indeksowanie danych przestrzennych Dane przestrzenne wymagaj indywidualnych technik indeksowania Do wersji 10g Oracle wspierał dwa typy indeksów: R-tree i Quadtree Od wersji 11g wspierany jest jedynie R-tree, w tej samej wersji pojawiło si pełne wsparcie indeksów (a co za tym idzie operatorów) dla obiektów 3D (parametr sdo_indx_dims=3) Indeksy s niezb dne podczas wyznaczania zale no ci pomi dzy geometriami Własno Tworzenie i strojenie indeksu Wielko indeksu Zapytania z wyk. operatora najbli szego s siedztwa Du a liczba modyfikacji Zapytanie z wykorzystaniem SDO_WITHIN_DISTANCE Indeksowanych wymiarów Przybli anie geometrii Proste Mała Szybsza realizacja Zmniejszenie wydajno ci indeksu Zalecany Do 4 Słabe R-tree Du a Wolniejsza realizacja Nie ma wpływu na wydajno Do 2 Quadtree Bardziej skomplikowane, dobranie odpowiednich warto ci mo e mie znacz ce skutki Dobre przy odpow. wła ciwo ciach indeksu Politechnika Pozna ska, Instytut Informatyki, KJ 24
25 1 5 6 c 7 a 2 A root B R-tree indeks 3 9 b d 4 8 Indeks r-tree dokonuje przybli enia ka dej geometrii przez zastosowanie pojedynczego najmniejszego obejmuj cego prostok ta (MBR minimum bounding rectangle) Modyfikacje tabeli mog wpływa na degradacj jako ci indeksu Jako indeksu mo na przywróci za pomoc jego przebudowy Do analizy indeksu Oracle udost pnia nast puj ce funkcje i procedury: SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE szacuje maksymaln liczb MB konieczn do zało enia indeksu SDO_TUNE.ANALYZE_RTREE procedura okre laj ca czy indeks wymaga przebudowy czy nie. Wylicza obecn jego jako i porównuje z jako ci pocz tkow SDO_TUNE.RTREE_QUALITY zwraca jako indeksu SDO_TUNE.QUALITY_DEGRADATION zwraca stopie degradacji indeksu A root B a b c d Politechnika Pozna ska, Instytut Informatyki, KJ 25
26 Indeksowanie przykład create index COUNTRY_BOUNDARIES_IDX on COUNTRY_BOUNDARIES(GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX; SELECT SDO_TUNE.RTREE_QUALITY(USER,'COUNTRY_BOUNDARIES_IDX') QUALITY from dual; QUALITY , SELECT SDO_TUNE.QUALITY_DEGRADATION(USER, 'COUNTRY_BOUNDARIES_IDX') DEGRADATION from dual; DEGRADATION , RTREE_QUALITY obecnie QUALITY_DEGRADATION = RTREE_QUALITY na pocz tku begin SDO_TUNE.analyze_rtree(USER,'COUNTRY_BOUNDARIES_IDX'); end; Quality Statistics for Index table: MDRT_15BC4$ Current Perf. Index :, Previous Perf. Index:, Approximate Increase in Query-time: 0 Rebuild?: NO Politechnika Pozna ska, Instytut Informatyki, KJ 26
27 Przykład podsumowuj cy (1/2) CREATE TABLE geometrie1 ( id NUMBER PRIMARY KEY, nazwa VARCHAR2(32), geometria MDSYS.SDO_GEOMETRY); INSERT INTO geometrie1 VALUES( 1, 'figura_a', MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3), MDSYS.SDO_ORDINATE_ARRAY(1,1, 5,7) ) ); INSERT INTO geometrie1 VALUES( 2, 'figura_b', MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), MDSYS.SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1) ) ); INSERT INTO geometrie1 VALUES( 3, 'figura_c', MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), MDSYS.SDO_ORDINATE_ARRAY(3,3, 6,3, 6,5, 4,5, 3,3) ) ); Politechnika Pozna ska, Instytut Informatyki, KJ 27
28 Przykład podsumowuj cy (2/2) INSERT INTO geometrie1 VALUES( 4, 'figura_d', MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,4), MDSYS.SDO_ORDINATE_ARRAY(8,7, 10,9, 8,11) ) ); INSERT INTO USER_SDO_GEOM_METADATA VALUES ( 'geometrie1', 'geometria', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X', 0, 20, 0.005), MDSYS.SDO_DIM_ELEMENT('Y', 0, 20, 0.005) ), NULL ); CREATE INDEX figura_spatial_idx ON geometrie1(geometria) INDEXTYPE IS MDSYS.SPATIAL_INDEX; Politechnika Pozna ska, Instytut Informatyki, KJ 28
29 Przetwarzanie danych przestrzennych w praktyce Ładowanie danych przestrzennych Interfejs dla danych przestrzennych Sposób przetwarzania zapyta Metody podstawowe Operatory Funkcje jednowierszowe Funkcje grupuj ce Politechnika Pozna ska, Instytut Informatyki, KJ 29
30 Ładowanie danych przestrzennych Wiele narz dzi przetwarzaj cych dane przestrzenne umo liwia konwersj danych przestrzennych w tym konwersj do formatu danych przestrzennych w bazie danych Oracle. Załadowanie danych przestrzennych mo e by zrealizowane tak e za pomoc SQLLoader'a. SQLLoader wymaga dokumentów zawieraj cych dane do załadowania w okre lonym formacie Najcz stszym formatem dokumentów zawieraj cych dane przestrzenne s tzw. ShapeFile Aby mo na było załadowa pliki ShapeFile do wn trza bazy danych Oracle, nale y je przekonwertowa. Politechnika Pozna ska, Instytut Informatyki, KJ 30
31 Konwersja danych przestrzennych Oracle Shapefile Converter narz dzie ułatwiaj ce konwersj danych z pliku ShapeFile do struktur w bazie danych Oracle (1/3) C:\>shp2sdo.exe MajorCities MAJOR_CITIES2 The following files have been created: MAJOR_CITIES2.sql : SQL script to create the table MAJOR_CITIES2.ctl : Control file for loading the table MAJOR_CITIES2.dat : Data file C:\>sqlplus Commit complete. -- MAJOR_CITIES2.sql DROP TABLE MAJOR_CITIES2; CREATE TABLE MAJOR_CITIES2 ( FIPS_CNTRY VARCHAR2(2), CITY_NAME VARCHAR2(40), GEOM MDSYS.SDO_GEOMETRY); DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME = 'MAJOR_CITIES2' AND COLUMN_NAME = 'GEOM' ; INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) VALUES ('MAJOR_CITIES2', 'GEOM', MDSYS.SDO_DIM_ARRAY (MDSYS.SDO_DIM_ELEMENT('X', , , ), MDSYS.SDO_DIM_ELEMENT('Y', , , ) ), NULL); COMMIT; Politechnika Pozna ska, Instytut Informatyki, KJ 31
32 Konwersja danych przestrzennych (2/3) -- MAJOR_CITIES2.ctl LOAD DATA INFILE MAJOR_CITIES2.dat TRUNCATE CONTINUEIF NEXT(1:1) = '#' INTO TABLE MAJOR_CITIES2 FIELDS TERMINATED BY ' ' TRAILING NULLCOLS ( FIPS_CNTRY NULLIF FIPS_CNTRY = BLANKS, CITY_NAME NULLIF CNTRY_NAME = BLANKS, GEOM COLUMN OBJECT ( SDO_GTYPE INTEGER EXTERNAL, SDO_POINT COLUMN OBJECT (X FLOAT EXTERNAL, Y FLOAT EXTERNAL) ) ) -- MAJOR_CITIES2.dat PL Gdynia , , PL Slupsk , , PL Gdansk , , PL Koszalin , , PL Elblag , , PL Suwalki , , PL Olsztyn , , PL Szczecin , , PL Lomza , , PL Pila , , PL Bialystok , , PL Bydgoszcz , , PL Ostroleca , , PL Torun , , PL Ciechanow , , PL Gorzow Wielkopolski , , PL Wloclawek , , PL Plock , , C:\>sqlldr scott/tiger MAJOR_CITIES2 SQL*Loader: Release Production on Cz Maj 15 15:36: Copyright (c) 1982, 2005, Oracle. All rights reserved. Commit point reached - logical record count 62 Politechnika Pozna ska, Instytut Informatyki, KJ 32
33 Konwersja danych przestrzennych (3/3) Aby mo na było wykorzysta załadowane dane nale y dokona ich konwersji zawarto ci typu SDO_GEOMETRY zgodnej z obecnie obowi zuj cymi regułami. Przykładowo, we wcze niejszych wersjach nie były wykorzystywane zewn trzne i wewn trzne wielok ty (wykorzystywany był jedynie typ 3). C:\>sqlplus scott/tiger SQL> create index MAJOR_CITIES2_IDX on MAJOR_CITIES2(GEOM) 2 INDEXTYPE IS MDSYS.SPATIAL_INDEX; Index created. SQL> EXECUTE SDO_MIGRATE.TO_CURRENT('MAJOR_CITIES2','GEOM'); PL/SQL procedure successfully completed. Politechnika Pozna ska, Instytut Informatyki, KJ 33
34 Sposób przetwarzania zapyta Zapytania przestrzenne wykorzystuj dwufazowe przetwarzanie. Podczas pierwszej fazy z pełnego zbioru danych na podstawie aproksymacji opartej na indeksie przestrzennym wybierane s te obiekty, które potencjalnie mog spełnia warunki zapytania s to tzw. kandydaci. W fazie drugiej ze zbioru kandydatów wyznaczane s za pomoc metod dokładnych te obiekty, które rzeczywi cie spełniaj zadany warunek. Wej ciowy zbiór danych Filtr podstawowy (primary) Zbiór danych kandydatów Filtr dokładny (secondary) Zbiór danych wynikowych Politechnika Pozna ska, Instytut Informatyki, KJ 34
35 Sposób przetwarzania zapyta przykład Operator SDO_FILTER, który wykorzystuje jedynie pierwsz faz zapytania, czyli daje w wyniku zbiór "kandydatów", dla indeksu r-tree uzna, e z punktem 3,3 maj "co wspólnego" wszystkie 3 geometrie. Operator SDO_RELATE, który wykorzystuje obie fazy zapytania, czyli dokonuje dodatkowej weryfikacji zbioru kandydatów, b dzie miał na ten temat "odmienne zdanie" select ID from FIGURY where SDO_FILTER(KSZTALT, MDSYS.SDO_GEOMETRY(2001,null, MDSYS.SDO_POINT_TYPE(3,3,null), null,null),'querytype=window') = 'TRUE'; ID select ID from FIGURY where SDO_RELATE(KSZTALT, MDSYS.SDO_GEOMETRY(2001,null, MDSYS.SDO_POINT_TYPE(3,3,null), null,null), 'mask=anyinteract querytype=window') = 'TRUE'; ID Politechnika Pozna ska, Instytut Informatyki, KJ 35
36 Podstawowe metody typu SDO_GEOMETRY Jak wi kszo wbudowanych typów obiektowych SDO_GEOMETRY oprócz atrybutów posiada równie metody. Wszystkie metody typu SDO_GEOMETRY s funkcjami. Do najbardziej podstawowych metod nale : GET_GTYPE daje w wyniku typ geometrii (tt), GET_DIMS liczba wymiarów geometrii (d), GET_LRS_DIM liczba wymiarów zwi zana z LRS (l). select T.CNTRY_NAME, T.GEOM.GET_GTYPE(), T.GEOM.GET_DIMS(), T.GEOM.GET_LRS_DIM() from COUNTRY_BOUNDARIES T CNTRY_NAME Poland Czech Republic Germany Slovakia Russia Estonia Sweden T.GEOM.GET_GTYPE() T.GEOM.GET_DIMS() T.GEOM.GET_LRS_DIM() Politechnika Pozna ska, Instytut Informatyki, KJ 36
37 Operatory i funkcje Dane przestrzenne mo na przetwarza za pomoc bardzo bogatego zbioru operatorów i funkcji. Podział ich jest nast puj cy: Operatory przestrzenne (Spatial Operators) Funkcje geometryczne (Geometry Functions) Przestrzenne funkcje grupuj ce (Spatial Aggregate Functions) Politechnika Pozna ska, Instytut Informatyki, KJ 37
38 Operatory przestrzenne SDO_FILTER sprawdza czy dwa obiekty wyst puj w okre lonej zale no ci. Wykorzystuje tylko filtr podstawowy, wymaga indeksu. SDO_NN słu y do identyfikacji najbli szego s siedztwa, wymaga indeksu. SDO_NN_DISTANCE funkcja zwracaj ca odległo od obiektów zwróconych przez operator SDO_NN. SDO_RELATE wykorzystuje indeks do wyznaczenia obiektów b d cych w okre lonym stosunku przestrzennym z geometri. SDO_WITHIN_DISTANCE wykorzystuje indeks do wyznaczenia zbioru geometrii znajduj cej si w ramach okre lonej odległo ci od obiektu. W przypadku ka dego z operatorów, pierwszym argumentem musi by kolumna na której został zało ony indeks r-tree. Politechnika Pozna ska, Instytut Informatyki, KJ 38
39 SDO_FILTER SDO_FILTER( geometria1, geometria2, parametry) Podstawowym i wymaganym parametrem jest querytype. Mo e on przyjmowa dwie warto ci: WINDOW i JOIN WINDOW zalecany w wi kszo ci przypadków, mo e słu y do porównywania pojedynczej geometrii (2) z kolumn w tabeli (1) JOIN słu y do wykonywania poł cze pomi dzy dwoma tabelami zawieraj cymi geometrie, rzadziej wykorzystywany select A.CNTRY_NAME A_NAME, B.CNTRY_NAME B_NAME from COUNTRY_BOUNDARIES A, COUNTRY_BOUNDARIES B where SDO_FILTER(A.GEOM, B.GEOM, 'querytype=join') = 'TRUE' and B.CNTRY_NAME = 'Poland'; A_NAME Lithuania Byelarus Russia Poland Ukraine Germany Slovakia Czech Republic B_NAME Poland Poland Poland Poland Poland Poland Poland Poland Politechnika Pozna ska, Instytut Informatyki, KJ 39
40 SDO_NN i SDO_NN_DISTANCE SDO_NN(geometria1, geometria2, parametry [, numer]) Parametr sdo_num_res operatora SDO_NN okre la liczb obiektów z najbli szego s siedztwa jak nale y zwróci w zapytaniu. Parametr unit operatora SDO_NN pozwala wyrazi odległo przez operator SDO_NN_DISTANCE w po danych jednostkach. SDO_NN_DISTANCE(numer) Jedyny parametr operatora SDO_NN_DISTANCE musi by liczb podan w operatorze SDO_NN jako ostatni parametr. select A.CITY_NAME, ROUND(SDO_NN_DISTANCE(1)) DISTANCE from MAJOR_CITIES A where SDO_NN(GEOM,MDSYS.SDO_GEOMETRY(2001, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1), MDSYS.SDO_ORDINATE_ARRAY( , )), 'sdo_num_res=4 unit=km',1) = 'TRUE'; CITY_NAME Pila Poznan Konin Leszno DISTANCE Politechnika Pozna ska, Instytut Informatyki, KJ 40
41 SDO_RELATE SDO_RELATE(geometria1, geometria2, parametry) W operatorze SDO_RELATE wyró niamy dwa podstawowe parametry: mask jedna z dziewi ciu zale no ci geometrycznych: TOUCH, OVERLAPBDYDISJOINT, OVERLAPBDYINTERSECT, EQUAL, INSIDE, COVEREDBY, CONTAINS, COVERS, ANYINTERACT, ON. Mo liwe jest ł czenie zale no ci za pomoc logicznego operatora OR np.: mask=inside OR touch querytype prawidłowymi warto ciami s WINDOW lub JOIN (został omówiony wcze niej). Wymagany gdy geometria2 jest kolumn tabeli. select B.CNTRY_NAME, count(*) from COUNTRY_BOUNDARIES B, MAJOR_CITIES C where SDO_RELATE(C.GEOM, B.GEOM, 'mask=inside querytype=join') = 'TRUE' group by B.CNTRY_NAME; CNTRY_NAME Poland Slovakia Denmark Slovenia Austria Germany Byelarus Hungary Latvia Romania Czech Republic Russia Sweden Ukraine Lithuania COUNT(*) Politechnika Pozna ska, Instytut Informatyki, KJ 41
42 Zale no ci pomi dzy geometriami ANYINTERACT wówczas gdy obiekty nie s rozł czne. CONTAINS je li drugi obiekt całkowicie zawiera si wewn trz pierwszego obiektu, granice obiektów si nie stykaj COVEREDBY je li pierwszy obiekt jest całkowicie zawarty wewn trz drugiego obiektu, granice obiektów stykaj si w jednym lub wielu punktach. COVERS je li drugi obiekt jest całkowicie wewn trz pierwszego obiektu, granice nakładaj si w jednym lub wielu miejscach. DISJOINT je li obiekty nie maj wspólnych granic ani wewn trznych elementów. EQUAL je li obiekty współdziel ka dy punkt swoich granic i wn trza wł czaj c w to dziury wewn trz obiektów. INSIDE je li pierwszy obiekt całkowicie zawiera si wewn trz drugiego obiektu, granice nie stykaj si. OVERLAPBDYDISJOINT je li obiekty zachodz na siebie lecz ich granice nie maj cz ci wspólnych. OVERLAPBDYINTERSECT je li obiekty zachodz na siebie a ich granice maj cz ci wspólne w jednym lub wielu fragmentach. TOUCH je li dwa obiekty współdziel wspólne punkty graniczne, i jednocze nie nie współdziel adnych punktów wewn trznych. SDO_RELATE(geometria1, geometria2, ) Politechnika Pozna ska, Instytut Informatyki, KJ 42
43 SDO_WITHIN_DISTANCE SDO_WITHIN_DISTANCE(geometria1, geometria2, parametry); Podstawowe parametry operatora SDO_WITHIN_DISTANCE: distance odległo od geometria2 querytype deklaracja dotycz ca wykorzystania filtru dokładnego. Warto równa FILTER powoduje wykorzystanie tylko filtru podstawowego select C.CITY_NAME from MAJOR_CITIES C where SDO_WITHIN_DISTANCE(C.GEOM, SDO_GEOMETRY(2001, 8307, null, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1), MDSYS.SDO_ORDINATE_ARRAY( , )), 'distance=100 unit=km') = 'TRUE'; CITY_NAME Pila Poznan Konin Leszno Politechnika Pozna ska, Instytut Informatyki, KJ 43
44 Funkcje geometryczne (1/2) Funkcje geometryczne mo na pogrupowa nast puj co: Wyznaczaj ce relacje pomi dzy dwoma obiektami: RELATE okre la zale no pomi dzy obiektami, WITHIN_DISTANCE sprawdza czy obiekty znajduj si w okre lonej odległo ci Waliduj ce: VALIDATE_GEOMETRY sprawdza poprawno geometrii, VALIDATE_LAYER sprawdza poprawno warstwy (wszystkich geometrii w kolumnie okre lonej tabeli) Operacje na dwóch obiektach: SDO_DISTANCE oblicza odległo od geometrii SDO_DIFFERENCE ró nica topologiczna dwóch geometrii, SDO_INTERSECTION cz wspólna dwóch geometrii, SDO_UNION suma topologiczna dwóch geometrii, SDO_XOR symetryczna ró nica dwóch geometrii Politechnika Pozna ska, Instytut Informatyki, KJ 44
45 Funkcje geometryczne (2/2) Operacje na pojedynczych obiektach: SDO_ARC_DENSIFY zamienia łuki i okr gi na przybli one odpowiedniki wyra one za pomoc linii prostych, SDO_AREA wyznacza powierzchni dwuwymiarowej geometrii, SDO_BUFFER generuje wielok t otaczaj cy geometri, SDO_CENTROID zwraca punkt georeferencyjny obr bu (tzw. controid) geometrii, SDO_CONVEXHULL zwraca obiekt reprezentuj cy powłok wypukł (convex hull) geometrii, SDO_LENGTH wylicza długo obwodu, SDO_MBR wyznacza najmniejszy prostok t obejmuj cy geometri, SDO_[MIN MAX]_MBR_ORDINATE wyznacza "doln " ("górn ") kraw d MBR obejmuj cego geometri dla okre lonego wymiaru, SDO_POINTONSURFACE zwraca punkt nale cy do powierzchni geometrii Politechnika Pozna ska, Instytut Informatyki, KJ 45
46 Wyznaczaj ce relacje pomi dzy dwoma obiektami SDO_GEOM.RELATE SDO_GEOM.RELATE( geometria1 MDSYS.SDO_GEOMETRY, mask VARCHAR2, geometria2 MDSYS.SDO_GEOMETRY, tolerancja NUMBER ) RETURN VARCHAR2; Wyniki działania funkcji SDO_GEOM.RELATE mog by nast puj ce: Je li w parametrze mask okre lono oczekiwany zwi zek pomi dzy obiektami, wówczas funkcja zwraca ci g reprezentuj cy ten zwi zek lub ci g znaków FALSE Je li w parametrze mask został podany ci g DETERMINE wówczas funkcja daje w wyniku ci g reprezentuj cy zwi zek pomi dzy geometriami W przypadku mask równego ANYINTERACT funkcja daje w wyniku TRUE pod warunkiem, e mamy do czynienia z nierozł cznymi geometriami select distinct B.CNTRY_NAME, R.name, SDO_GEOM.RELATE(B.GEOM, 'DETERMINE', R.GEOM, 1) RELATION from COUNTRY_BOUNDARIES B, RIVERS R where B.CNTRY_NAME = 'Poland' CNTRY Poland Poland Poland Poland Poland Poland Poland Poland Poland Poland Poland Poland NAME Nogat Vistula Odra Bug Dniester Oder-Spree-Kanal Vistula San Odra Morava Oder Oder-Havel-Kanal RELATION CONTAINS CONTAINS CONTAINS CONTAINS DISJOINT DISJOINT OVERLAPBDYDISJOINT OVERLAPBDYDISJOINT OVERLAPBDYINTERSECT OVERLAPBDYINTERSECT OVERLAPBDYINTERSECT TOUCH Politechnika Pozna ska, Instytut Informatyki, KJ 46
47 Funkcje waliduj ce Zakres walidacji geometrii Walidacja geometrii obejmuje dwa typy weryfikacji Weryfikacj typu - odbywa si na etapie wstawiania obiektu do bazy danych Weryfikacj spójno ci geometrii mo liwa za pomoc przeznaczonych do tego funkcji Weryfikacja typu Prawidłowa warto SDO_GTYPE Warto ci SDO_ETYPE musz by zgodne z SDO_GTYPE Czy SDO_ELEM_INFO_ARRAY posiada liczb warto ci podzieln przez trzy Politechnika Pozna ska, Instytut Informatyki, KJ 47
48 Funkcje waliduj ce Zakres walidacji geometrii Spójno geometrii Wielok t musi posiada co najmniej cztery punkty Wielok t musi by domkni ty adne dwa punkty w linii lub wielok cie nie s takie same Wielok t musi by opisany w odpowiednim kierunku (zewn trzna kraw d odwrotnie, wewn trzna zgodnie z ruchem wskazówek zegara) Wewn trzny wielok t nie mo e dotyka wi cej ni raz wielok ta zewn trznego Wewn trzne wielok ty nie mog si styka wi cej ni jednym punktem Ci g linii zawiera co najmniej dwa punkty Jedno i czterocyfrowe warto ci SDO_ETYPE nie mog by wymieszane przy definiowaniu wielok tów Punkty w przypadku koła lub łuku nie mog znajdowa si na linii prostej Geometrie musz znajdowa si w granicach wyznaczonych przez metadane Geometrie LRS posiadaj trzy lub cztery wymiary oraz prawidłow pozycj liczby wymiarów Politechnika Pozna ska, Instytut Informatyki, KJ 48
49 Funkcje waliduj ce SDO_GEOM.VALIDATE_GEOMETRY SDO_GEOM.VALIDATE_GEOMETRY( geometria MDSYS.SDO_GEOMETRY, tolerancja NUMBER ) RETURN VARCHAR2; Funkcja weryfikuj ca spójno geometrii. Sprawdza reprezentacj geometrii na podstawie definicji elementu Zalecanym jej odpowiednikiem jest funkcja GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT Wyniki działania funkcji s nast puj ce: TRUE je li geometria jest prawidłowa Je li posiada bł dy wówczas uzyskujemy numer bł du Oracle a okre laj cy przyczyn bł du W przypadku funkcji GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT otrzymujemy dodatkowo kontekst bł du informacje w jakim miejscu definicji geometrii bł d został znaleziony Funkcja weryfikuje zarówno spójno typu jak i spójno geometrii SQL> select SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(WO_KSZTALT,0.01) VALID, 2 WO_NAZWA from SO_WOJEWODZTWA 3 where SDO_GEOM.VALIDATE_GEOMETRY(WO_KSZTALT,0.01) <> 'TRUE'; VALID WO_NAZWA [Element <1>] [Ring <1>] opolskie ORA Wrong orientation for interior/exterior rings Politechnika Pozna ska, Instytut Informatyki, KJ 49
50 Funkcje waliduj ce SDO_GEOM.VALIDATE_LAYER SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT( tabela VARCHAR2, kolumna_geom VARCHAR2, tabela_wynikowa VARCHAR2[, cz sto _zatwierdzania NUMBER]); Zalecanym odpowiednikiem jest SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT Procedura wypełnia tabel wynikow informacjami o rezultatach walidacji wszystkich geometrii w warstwie Tabela wynikowa powinna by utworzona przed wywołaniem procedury CREATE TABLE val_results (sdo_rowid ROWID, result varchar2(1000)); EXECUTE SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT('SO_WOJEWODZTWA','WO_KSZTALT','VAL_RESULTS'); PL/SQL procedure successfully completed. SQL> SELECT * from val_results; SDO_ROWID RESULT Rows Processed <16> AAAKl7AABAAANMyAAD [Element <1>] [Ring <1>] ORA Wrong orientation for interior/exterior rings Politechnika Pozna ska, Instytut Informatyki, KJ 50
51 Operacje na dwóch obiektach SDO_GEOM.SDO_DISTANCE SDO_GEOM.SDO_DISTANCE( geometria1 MDSYS.SDO_GEOMETRY, geometria2 MDSYS.SDO_GEOMETRY, toleracja IN NUMBER [, jednostki IN VARCHAR2]) RETURN NUMBER; select A.CITY_NAME, B.CITY_NAME, ROUND(SDO_GEOM.SDO_DISTANCE(A.GEOM, B.GEOM, 1, 'unit=km')) ODL from MAJOR_CITIES A, MAJOR_CITIES B where A.CITY_NAME = 'Poznan' CITY_NAME and B.CITY_NAME in ('Berlin', 'Warsaw'); Poznan Poznan CITY_NAME Berlin Warsaw ODL SDO_GEOM.SDO_INTERSECTION SDO_GEOM.SDO_INTERSECTION( geometria1 MDSYS.SDO_GEOMETRY, geometria2 MDSYS.SDO_GEOMETRY, tolerancja NUMBER ) RETURN NUMBER; select SDO_GEOM.SDO_INTERSECTION(A.GEOM, B.GEOM, 1) GRANICA from COUNTRY_BOUNDARIES A, COUNTRY_BOUNDARIES B where A.CNTRY_NAME = 'Poland' and B.CNTRY_NAME = 'Germany'; SDO_GEOMETRY(2006, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1, 125, 2, 1), SDO_ORDINATE_ARRAY( , , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 51
52 Operacje na dwóch obiektach SDO_GEOM.SDO_UNION SDO_GEOM.SDO_UNION( geometria1 MDSYS.SDO_GEOMETRY, geometria2 MDSYS.SDO_GEOMETRY, tolerancja IN NUMBER ) RETURN MDSYS.SDO_GEOMETRY; select SDO_GEOM.SDO_UNION(A.GEOM, B.GEOM, 1) CZECHOSLOWACJA from COUNTRY_BOUNDARIES A, COUNTRY_BOUNDARIES B where A.CNTRY_NAME = 'Czech Republic' and B.CNTRY_NAME = 'Slovakia'; CZECHOSLOWACJA SDO_GEOMETRY(2003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , , , , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 52
53 Operacje na pojedynczych obiektach SDO_GEOM.SDO_AREA SDO_GEOM.SDO_AREA( geometria MDSYS.SDO_GEOMETRY, tolerancja NUMBER[, jednostki VARCHAR2] ) RETURN NUMBER; select A.CNTRY_NAME, ROUND(SDO_GEOM.sdo_area(A.GEOM, 1, 'unit=sq_km')) POWIERZCHNIA from COUNTRY_BOUNDARIES A order by 2 desc CNTRY_NAME POWIERZCHNIA Poland Ukraine Hungary Romania Czech Republic Austria SDO_GEOM.SDO_BUFFER SDO_GEOM.SDO_BUFFER( geometria MDSYS.SDO_GEOMETRY, odległo NUMBER, tolerancja NUMBER[, parametry VARCHAR2] ) RETURN MDSYS.SDO_GEOMETRY; select SDO_GEOM.SDO_BUFFER(A.GEOM, 100, 1, 'unit=km') GEOM from COUNTRY_BOUNDARIES A where A.CNTRY_NAME = 'Poland' Politechnika Pozna ska, Instytut Informatyki, KJ 53
54 Operacje na pojedynczych obiektach select A.CNTRY_NAME, B.CNTRY_NAME, ROUND(SDO_GEOM.SDO_LENGTH(SDO_GEOM.SDO_INTERSECTION(A.GEOM, B.GEOM, 1), 1, 'unit=km')) from COUNTRY_BOUNDARIES A, where SDO_GEOM.SDO_CENTROID SDO_GEOM.SDO_CENTROID( geometria MDSYS.SDO_GEOMETRY, tolerancja NUMBER) RETURN MDSYS.SDO_GEOMETRY; select SDO_GEOM.SDO_CENTROID(B.GEOM,1) SRODEK_POLSKI from COUNTRY_BOUNDARIES B where B.CNTRY_NAME = 'Poland'; SRODEK POLSKI SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE( , , NULL), NULL, NULL) Pomi dzy Go lubem a Siemieniczkami, na południe od Kutna SDO_GEOM.SDO_LENGTH COUNTRY_BOUNDARIES B A.CNTRY_NAME = 'Poland'; SDO_GEOM.SDO_LENGTH( geometria MDSYS.SDO_GEOMETRY, tolerancja NUMBER [, jednostki VARCHAR2]) RETURN NUMBER; CNTRY_NAME Poland Poland Poland Poland Poland Poland Poland CNTRY_NAME Lithuania Russia Byelarus Slovakia Germany Ukraine Czech Republic DLUGOSCI_GRANIC Politechnika Pozna ska, Instytut Informatyki, KJ 54
55 Operacje na pojedynczych obiektach SDO_GEOM.SDO_MBR SDO_GEOM.SDO_MBR( geometria MDSYS.SDO_GEOMETRY [, definicje_wymiarów IN MDSYS.SDO_DIM_ARRAY] ) RETURN MDSYS.SDO_GEOMETRY; select SDO_GEOM.SDO_MBR(A.GEOM) GEOM from COUNTRY_BOUNDARIES A where A.CNTRY_NAME = 'Poland' SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARR AY( , , , )) Politechnika Pozna ska, Instytut Informatyki, KJ 55
56 Przestrzenne funkcje grupuj ce SDO_AGGR_CENTROID* zwraca punkt georeferencyjny ( rodek ci ko ci) zbioru geometrii SDO_AGGR_CONVEXHULL* obiekt reprezentuj cy powłok wypukł (convex hull) zbioru geometrii, SDO_AGGR_LRS_CONCAT* wyznacza geometri LRS b d c konkatenacj zbioru geometrii LRS SDO_AGGR_MBR wyznacza najmniejszy prostok t obejmuj cy zbiór geometrii SDO_AGGR_UNION* wyznacza topologiczn sum zbioru geometrii * - Wi kszo funkcji agreguj cych akceptuje parametr typu MDSYS.SDOAGGRTYPE a nie bezpo rednio MDSYS.SDO_GEOMETRY. Politechnika Pozna ska, Instytut Informatyki, KJ 56
57 Typ MDSYS.SDOAGGRTYPE Wiele funkcji agreguj cych przyjmuje jako parametr obiekt typu MDSYS.SDOAGGRTYPE Definicja typu MDSYS.SDOAGGRTYPE jest nast puj ca: Tolerancja ma wpływ na wyniki działania wielu funkcji przestrzennych, w tym funkcji agreguj cych. Definiuje ona odległo, która ma by "pomijana" w obliczeniach Tolerancja CREATE TYPE sdoaggrtype AS OBJECT ( geometria MDSYS.SDO_GEOMETRY, tolerancja NUMBER); SDO_AGGR_UNION SDO_AGGR_UNION Politechnika Pozna ska, Instytut Informatyki, KJ 57
58 SDO_AGGR_UNION SDO_AGGR_UNION( AggregateGeometry MDSYS.SDOAGGRTYPE) RETURN MDSYS.SDO_GEOMETRY; select SDO_AGGR_UNION(MDSYS.SDOAGGRTYPE(B.GEOM,1)) GEOM from COUNTRY_BOUNDARIES B SDO_GEOMETRY(2007, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1, 31, 1003, 1, 219, 1003, 1, 269, 1003, 1, 277, 1003, 1, 381, 1003, 1, 703, 1003, 1, 805, 1003, 1, 843, 1003, 1, 865, 1003, 1), SDO_ORDINATE_ARRAY( , , , , , , , , , , , , ) ) Politechnika Pozna ska, Instytut Informatyki, KJ 58
59 Badany zbiór: wierszy Układ odniesienia: SRID COORD_REF_SYS_NAME 30 COORD_REF_SYS_KIND 8307 Longitude / Latitude (WGS 84) GEOGRAPHIC2D 25 Szybko operacji czas (sek obszar SDO_FILTER IDX SDO_FILTER TAB SDO_NN SDO_WITHIN_DISTANCE 5 0 select SDO_AGGR_UNION(MDSYS.SDOAGGRTYPE(B.ODL_KSZTALT,1)) OBSZAR from A_OBIEKTY_ODL B where ODL_OBIEKT_ID between p_od_id and p_do_id; select count(*) liczba punktów w obszarze from A_OBIEKTY_ODL LICZBA_PKT OBSZAR SDO_FILTER IDX SDO_FILTER TAB SDO_NN SDO_WITHIN_DISTANCE where SDO_FILTER(ODL_KSZTALT,r_obsz.OBSZAR,'querytype=WINDOW') 200 0, , , , = 'TRUE'; 3, , , , , , select count(*) 600 1, , ,08 10, , from A_OBIEKTY_ODL 800 2, , , , , , , , ,12 11,51175 where SDO_NN(ODL_KSZTALT,r_obsz.OBSZAR,'sdo_num_res=1000',1) = 'TRUE'; , , , , , select count(*) , , , , , , , , , , from A_OBIEKTY_ODL , ,163 0, , , where SDO_WITHIN_DISTANCE(ODL_KSZTALT,r_obsz.OBSZAR,'distance= , ,0655 0, , unit=m') = 'TRUE'; 21,044 Politechnika Pozna ska, Instytut Informatyki, KJ 59
60 Standard SQL/MM Part 3: Spatial Standard SQL/MM Zakres SQL/MM Part 3: Spatial SQL/MM Part 3: Spatial Typy danych i ich hierarchia Metody Konwersje pomi dzy geometriami a zewn trznymi typami danych Pobieranie własno ci lub miar z geometrii Porównywanie geometrii w oparciu o wyst puj ce mi dzy nimi relacje przestrzenne Generowanie nowych geometrii z ju istniej cych Schemat Informacyjny Politechnika Pozna ska, Instytut Informatyki, KJ 60
61 SQL/MM Standard ISO/IEC SQL/MM w skrócie SQL/MM obejmuje rozszerzenia multimedialne w SQL takie jak: przetwarzanie du ych obiektów tekstowych, przetwarzanie obrazów, dane przestrzenne, eksploracja danych. Ze wzgl du ró norodn tematyk został on podzielony na kilka cz Part 1 (ISO/IEC :2007) Framework (podstawa dla pozostałych cz ci) Part 2 (ISO/IEC :2003) Full-Text (tekstowe bazy danych) Part 3 (ISO/IEC :2006) Spatial (przestrzenne bazy danych) Part 5 (ISO/IEC :2003) Still Image (obrazy) Part 6 (ISO/IEC :2006) Data mining (eksploracja danych) ci. Politechnika Pozna ska, Instytut Informatyki, KJ 61
62 Zakres SQL/MM Part 3: Spatial SQL/MM Part 3: Spatial jest mi dzynarodowym standardem definiuj cym jak przechowywa, pobiera i przetwarza dane przestrzenne w SQL. Pierwsza jego wersja, która ukazała si w 1999 roku, wywodzi si bezpo rednio z dokumentu OpenGIS Simple Features Specification For SQL, wydanego równie w roku W pracach nad OpenGIS Simple Features Specification For SQL w ramach Open Geospatial Consortium Inc. udział wzi li: Environmental Systems Research Institute, Inc., IBM Corporation, Informix Software Inc., MapInfo Corporation, Oracle Corporation. SQL/MM Part 3: Spatial definiuje jak dane przestrzenne maj by reprezentowane, jakie funkcje powinny by dost pne do konwersji, porówna i przetwarzania danych przestrzennych. Standard SQL/MM Part 3: Spatial koncentruje si na: Opisie typów danych wykorzystywanych dla danych przestrzennych Funkcjonalno ci i mo liwo ci przetwarzania danych przestrzennych Opisie perspektyw Schematu Informacyjnego (słownika danych) Politechnika Pozna ska, Instytut Informatyki, KJ 62
63 Standard SQL/MM dla wszystkich wykorzystywanych tabel, perspektyw, typów danych, metod i funkcji stosuje prefiks ST_* Typy danych przestrzennych standardu SQL/MM i ich hierarchia wywodz z OpenGIS Simple Features Specification For SQL SQL/MM Part 3: Spatial typy danych (1/3) ST_Geometry ST_Surface ST_Curve ST_Point ST_GeomCollection ST_CurvePolygon ST_Polygon ST_MultiSurface ST_MultiPolygon ST_MultiCurve ST_MultiLineString ST_LineString ST_CircularString ST_CompoundCurve ST_MultiPoint ST* - pochodzi on od słów Spatial i Temporal lub SpatialType Politechnika Pozna ska, Instytut Informatyki, KJ 63
64 SQL/MM Part 3: Spatial typy danych (2/3) Przykłady danych przestrzennych (0 i 1-wymiarowe) ST_Point pojedynczy punkt ST_MultiPoint kolekcja punktów (ST_Point) ST_LineString sekwencja punktów definiuj ca ci g linii. Ka de dwa s siaduj ce punkty definiuj pojedynczy segment ci gu linii. ST_CircularString sekwencja punktów definiuj ca ci g łuków. Ka dy segment (łuk) definiowany jest za pomoc trzech punktów. ST_CompoundCurve kolekcja ci gów linii i łuków. ST_MultiCurve kolekcja ci gów linii i/lub łuków (ST_Curve) ST_MultiLineString kolekcja ci gów linii (ST_LineString) ST_CircularString ST_LineString ST_CompoundCurve Politechnika Pozna ska, Instytut Informatyki, KJ 64
65 SQL/MM Part 3: Spatial typy danych (3/3) Przykłady danych przestrzennych (2-wymiarowe) ST_CurvePolygon figura 2-wymiarowa zdefiniowana za pomoc sekwencji ci gów linii i/lub łuków (ST_Curve). ST_Polygon wielok t zdefiniowany za pomoc sekwencji ci gów linii (ST_LineString). ST_MultiSurface kolekcja figur 2-wymiarowych (ST_CurvePolygon) ST_MultiPolygon kolekcja wielok tów opartych na ci gach linii ST_CurvePolygon ST_Polygon Politechnika Pozna ska, Instytut Informatyki, KJ 65
66 SQL/MM Part 3: Spatial metody Wi kszo metod standardu SQL/MM mo na pogrupowa nast puj co: Konwersje pomi dzy geometriami a zewn trznymi typami danych Pobieranie własno ci lub miar z geometrii Porównywanie geometrii w oparciu o wyst puj ce mi dzy nimi relacje przestrzenne Generowanie nowych geometrii z ju istniej cych Politechnika Pozna ska, Instytut Informatyki, KJ 66
67 SQL/MM Part 3: Spatial konwersje pomi dzy geometriami a zewn trznymi typami danych (1/2) Open Geospatial Consortium Inc. oprócz hierarchii typów danych przestrzennych opracował ró norodne reprezentacje danych przestrzennych Nale do nich mi dzy innymi: well-known text (WKT) testowy format do reprezentacji danych przestrzennych well-known binary (WKB) binarny odpowiednik WKT geography markup language (GML) format XML POINT(6 4) LINESTRING(3 4,10 50,20 25) POLYGON((1 1,5 1,5 5,1 5,1 1), (2 2, 3 2, 3 3, 2 3,2 2)) <gml:point gml:id="p21" srsname="urn:ogc:def:crs:epsg:6.6:4326"> <gml:coordinates>6, 4</gml:coordinates> </gml:point> <gml:linestring gml:id="p21" srsname="urn:ogc:def:crs:epsg:6.6:4326"> <gml:poslist dimension="2"> </gml:posList> </gml:linestring > <gml:polygon> <gml:outerboundaryis> <gml:linearring> <gml:coordinates>1 1,5 1,5 5,1 5,1 1</gml:coordinates> </gml:linearring> </gml:outerboundaryis> </gml:polygon> Politechnika Pozna ska, Instytut Informatyki, KJ 67
68 SQL/MM Part 3: Spatial konwersje pomi dzy geometriami a zewn trznymi typami danych (2/2) Standard SQL/MM umo liwia dokonywanie konwersji do/z wszystkich wspomnianych wcze niej formatów reprezentacji. Konwersja jest mo liwa przy wykorzystaniu Konstruktorów, które umo liwiaj utworzenie typów ST_* z przestawionych formatów Dla kompatybilno ci wstecz zdefiniowano funkcje takie jak ST_PointFromText lub ST_GeometryFromWKB, które równie tworz obiekty ST_* z zewn trznych formatów (funkcje te wywodz si z OpenGIS Simple Features Specification For SQL) Trzy metody ST_AsText, ST_AsBinary, ST_AsGML pozwalaj na konwersj odwrotn czyli uzyskanie formatów zewn trznych z geometrii ST_* select B.CITY_NAME, B.STGEOM.ST_AsGML() GML from MAJOR_CITIES B where B.CITY_NAME = 'Gdynia'; CITY_NAME GML Gdynia <gml:point srsname="longitude / Latitude (WGS 84)"> <gml:coord> <gml:x> </gml:x> <gml:y> </gml:y> </gml:coord> </gml:point> create table SOME_GEOMS( NAME varchar2(10), GEOM st_geometry); insert into SOME_GEOMS values ('M', ST_Geometry('multipoint M (1 1 5, , )', 0)); Politechnika Pozna ska, Instytut Informatyki, KJ 68
69 SQL/MM Part 3: Spatial pobieranie własno ci lub miar z geometrii (1/3) Wszystkie geometrie posiadaj pewne własno ci, które w standardzie SQL/XML dost pne s za pomoc metod Metody te mo emy podzieli na zwracaj ce informacje o: typach danych (ST_GeometryType), miarach i współrz dnych (ST_CoordDim, ST_IsMeasured, ST_IsValid, ST_Is3D, ST_M, ST_MaxM, ST_MaxX, ST_MaxY, ST_MaxZ, ST_MinM, ST_MinX, ST_MinY, ST_MinZ, ST_X, ST_Y, ST_Z), geometriach w geometrii (ST_Centroid, ST_EndPoint, ST_GeometryN, ST_LineStringN, ST_MidPoint, ST_NumGeometries, ST_NumLineStrings, ST_NumPoints, ST_NumPolygons, ST_PointN, ST_PolygonN, ST_StartPoint), ograniczeniach i obwiedniach (ST_Boundary, ST_Envelope, ST_EnvIntersects, ST_ExteriorRing, ST_InteriorRingN, ST_MBR, ST_MBRIntersects, ST_NumInteriorRing, ST_Perimeter), wymiarach geometrii (ST_Area, ST_Dimension, ST_Length), tym czy geometria jest pusta, zamkni ta, prosta (ST_IsClosed, ST_IsEmpty, ST_IsSimple), przestrzennym układzie odniesienia (ST_SrsId, ST_SrsName). Politechnika Pozna ska, Instytut Informatyki, KJ 69
70 SQL/MM Part 3: Spatial pobieranie własno ci lub miar z geometrii (2/3) Przykłady: ST_CoordDim daje w wyniku typy koordynat geometrii (coordinate dimension). ST_MaxX daje w wyniku maksymaln warto współrz dnej X geometrii. ST_X daje w wyniku współrz dn X punktu. ST_EndPoint dostaje jako parametr wej ciowy ci g linii i zwraca jego ostatni punkt. ST_NumGeometries dla kolekcji geometrii daje w wyniku liczb geometrii. ST_Boundary daje w wyniku kraw d geometrii. ST_ExteriorRing dla wielok ta daje w wyniku zewn trzny okr g w który wielok t jest wpisany. ST_Area jako parametr przyjmuje geometrie i ewentualnie jednostk miary, w wyniku daje warto powierzchni. ST_Length dla ci gu linii lub kolekcji ci gów linii (opcjonalnie jednostka miary) zwraca ich długo. ST_IsSimple daje w wyniku 1 je li geometria jest prosta, 0 w przeciwnym przypadku. ST_SrsId w zale no ci od parametrów konwertuje geometri do zadanego układu odniesienia, lub podaje identyfikator odniesienia obowi zuj cy dla geometrii. Politechnika Pozna ska, Instytut Informatyki, KJ 70
71 SQL/MM Part 3: Spatial pobieranie własno ci lub miar z geometrii (3/3) insert into SOME_GEOMS values ('Z', ST_Geometry('multipoint Z (1 1 5, , , )', 0)); insert into SOME_GEOMS values ('MZ', ST_Geometry('multipoint MZ ( , , )', 0)); insert into SOME_GEOMS values('pol', ST_MultiPolygon('multipolygon (( (14 14, 4 16, 5 14, 14 14), (18 24, 9 25, 5 28, 18 24), (54 44, 7 46, 5 40, 25 44, 54 44) )), 1) ); select ID, GEOM.ST_ISMEASURED() IS_MEASURED, GEOM.ST_NUMGEOMETRIES() NUM_GEOMS_IN_COLL, GEOM.ST_MINZ() MINZ from SOME_GEOMS; NAME IS_MEASURED NUM_GEOMS_IN_COLL MINZ M 1 3 Z MZ POL 0 3 Politechnika Pozna ska, Instytut Informatyki, KJ 71
72 SQL/MM Part 3: Spatial porównywanie geometrii (1/2) Bez w tpienia jedne z wa niejszych metod zwi zane s z badaniem zale no ci przestrzennych pomi dzy geometriami. Funkcje nale ce do tej kategorii: ST_Contains, ST_Crosses, ST_Disjoint, ST_EnvIntersects, ST_EqualCoordsys, ST_Equals, ST_EqualSRS, ST_Intersects, ST_MBRIntersects, ST_Overlaps, ST_Relate, ST_Touches, ST_Within. Wszystkie powy sze funkcje daj w wyniku 0 je li test daje w wyniku fałsz, lub 1 w przeciwnym przypadku. Przykładowo wymienione poni ej funkcje weryfikuj czy dwie porównywane geometrie s : ST_Equals identyczne ST_Disjoint rozł czne ST_Intersects, ST_Crosses, ST_Overlaps posiadaj cz wspólne ST_Touches stykaj si kraw dziami ST_Within, ST_Contains zawieraj si jedna w drugiej. Do przedstawianej kategorii mo na zaliczy tak e funkcj ST_Distance, która daje w wyniku odległo pomi dzy geometriami. Politechnika Pozna ska, Instytut Informatyki, KJ 72 ci
73 SQL/MM Part 3: Spatial porównywanie geometrii (2/2) select ST_EQUALCOORDSYS((select DEFINITION from ST_COORDINATE_SYSTEMS where COORDSYS_NAME = 'Pulkovo 1942(58) / Poland zone V'), (select DEFINITION from ST_COORDINATE_SYSTEMS where COORDSYS_NAME = 'ETRS89 / Poland CS2000 zone 5')) TE_SAME from DUAL; TE_SAME select A.NAME, B.NAME, ST_INTERSECTS(A.GEOM, B.GEOM) INTERSECTS, ST_ENVINTERSECTS(A.GEOM, B.GEOM) ENVELOPE_INTERSECTS from RIVERS A, RIVERS B where A.NAME = 'Vistula' and B.NAME = 'Odra' NAME NAME INTERSECTS ENVELOPE_INTERSECTS Vistula Odra 0 1 Politechnika Pozna ska, Instytut Informatyki, KJ 73
74 SQL/MM Part 3: Spatial generowanie nowych geometrii z ju istniej cych (1/2) Wielo funkcji, które na podstawie istniej cych geometrii tworz nowe powoduje, e z reguły klasyfikowane s one w nast puj ce kategorie: Funkcje konwersji (ST_Polygon, ST_ToGeomColl, ST_ToLineString, ST_ToMultiLine, ST_ToMultiPoint, ST_ToMultiPolygon, ST_ToPoint, ST_ToPolygon) Funkcje tworz ce geometrie o innej konfiguracji przestrzennej (ST_Buffer, ST_ConvexHull) Funkcje wywodz ce jedn geometrie z wielu (ST_Difference, ST_Intersection, ST_SymDifference, MBR Aggregate, ST_Union) Funkcje wywodz ce nowe geometrie na podstawie miar (ST_FindMeasure, ST_MeasureBetween) Funkcje tworz ce zmodyfikowane postacie istniej cych geometrii (ST_AppendPoint, ST_ChangePoint, ST_Generalize, ST_M, ST_PerpPoints, ST_RemovePoint, ST_X, ST_Y, ST_Z) Politechnika Pozna ska, Instytut Informatyki, KJ 74
75 SQL/MM Part 3: Spatial generowanie nowych geometrii z ju istniej cych (2/2) Przykłady: ST_Polygon konstruuje wielok t z zamkni tego ci gu linii ST_ConvexHull konstruuje wielok t wypukły otaczaj cy geometri ST_SymDifference XOR geometrii ST_AppendPoint dodaje punkt do ci gu linii ST_Y wymienia współrz dn Y w punkcie select ST_LINESTRING('linestring (10 10, 10 0, 0 0 )', 0).ST_APPENDPOINT(ST_POINT(0, 10)).ST_ASTEXT() WYNIK from DUAL; WYNIK linestring (10 10, 10 0, 0 0, 0 10) select ST_LINESTRING('linestring (10 10,10 0,0 0 )',0).ST_CHANGEPOINT(ST_POINT(0,0),ST_POINT(0,10)).ST_ASTEXT() WYNIK from DUAL; WYNIK linestring (10 10, 10 0, 0 10) select ST_LINESTRING('linestring (10 10, 10 0, 0 0 )', 0).ST_REMOVEPOINT(ST_POINT(0, 0)).ST_ASTEXT() WYNIK from DUAL; WYNIK linestring (10 10, 10 0) Politechnika Pozna ska, Instytut Informatyki, KJ 75
76 SQL/MM Part 3: Spatial schemat informacyjny W cz ci trzeciej standardu SQL/MM oprócz opisu typów przestrzennych i metod, znalazł si równie opis schematu informacyjnego jaki powinien by dost pny dla u ytkowników danych przestrzennych Schemat informacyjny wywodzi si równie składa si z OpenGIS Simple Features Specification For SQL i składa si czterech perspektyw ST_GEOMETRY_COLUMNS lista wszystkich kolumn typu ST_GEOMETRY (lub jednego z jego podtypów) istniej cych we wszystkich tabelach. Perspektywa udost pnia identyfikator kolumny, katalog, schemat, tabel, nazw kolumny, a tak e identyfikator i nazw przestrzennego układu odniesienia wykorzystywanego przez kolumn. ST_SPATIAL_REFERENCE_SYSTEMS perspektywa prezentuj ca przestrzenne układy odniesienia opisane za pomoc dwóch unikalnych identyfikatorów: nazwy i numerycznego identyfikatora. ST_UNITS_OF_MEASURE perspektywa zawieraj ca jednostki miar. Jednostki te mog wykorzystywane w funkcjach wyznaczaj cych długo ci, powierzchnie itp. Informacje dotycz ce jednostek obejmuj nazw, typ (miara k ta, miara liniowa), współczynnik konwersji. ST_SIZING perspektywa zawieraj ca specyficzne dla danych przestrzennych zmienne i ich warto ci. Przykładem takiej zmiennej mo e by ST_MaxGeometryAsText, którego warto okre la maksymaln długo ci gu znaków jaka mo e by u yta dla reprezentacji WKT geometrii. Politechnika Pozna ska, Instytut Informatyki, KJ 76
77 Standard SQL/MM Part 3: Spatial implementacja w bazie danych Oracle 11g Typ ST_GEOMETRY Hierarchia typów Metody Konwersje pomi dzy geometriami a zewn trznymi typami danych Pobieranie własno ci lub miar z geometrii Porównywanie geometrii w oparciu o wyst puj ce mi dzy nimi relacje przestrzenne Generowanie nowych geometrii z ju istniej cych Wykorzystanie indeksów przestrzennych Słownik bazy danych Schemat Informacyjny Politechnika Pozna ska, Instytut Informatyki, KJ 77
78 Typ ST_GEOMETRY w Oracle 11g hierarchia typów W bazie danych Oracle 11g mo emy do przechowywania danych przestrzennych wykorzysta typ ST_GEOMETRY Wła cicielem typu (podobnie jak SDO_GEOMETRY) jest MDSYS Hierarchia typów ST_GEOMETRY jest dokładnym odwzorowaniem hierarchii wymaganej przez standard SQL/MM Jedynym atrybutem ka dego z typów jest obiekt SDO_GEOMETRY Poszczególne typy ró ni si liczb metod fakt ten wynika z charakteru poszczególnych typów MDSYS.ST_GEOMETRY (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:41) -MDSYS.ST_CURVE (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:52) -MDSYS.ST_CIRCULARSTRING (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:55) -MDSYS.ST_COMPOUNDCURVE (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:60) -MDSYS.ST_LINESTRING (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:56) -MDSYS.ST_GEOMCOLLECTION (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:48) -MDSYS.ST_MULTICURVE (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:50) -MDSYS.ST_MULTILINESTRING (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:50) -MDSYS.ST_MULTIPOINT (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:48) -MDSYS.ST_MULTISURFACE (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:49) -MDSYS.ST_MULTIPOLYGON (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:53) -MDSYS.ST_POINT (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:49) -MDSYS.ST_SURFACE (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:44) -MDSYS.ST_CURVEPOLYGON (FINAL:NO, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:54) -MDSYS.ST_POLYGON (FINAL:YES, INSTANTIABLE:YES, ATTRIBUTES:1, METHODS:63) Politechnika Pozna ska, Instytut Informatyki, KJ 78
79 Typ ST_GEOMETRY w Oracle 11g metody Metody dost pne w ramach typu ST_GEOMETRY praktycznie obejmuj wszystkie zakresy funkcjonalne opisane przez standard SQL/MM Zatem znajdziemy w ród nich metody umo liwiaj ce: Konwersje pomi dzy geometriami a zewn trznymi typami danych. Pobieranie własno ci lub miar z geometrii. Porównywanie geometrii w oparciu o wyst puj ce mi dzy nimi relacje przestrzenne. Generowanie nowych geometrii z ju istniej cych. Politechnika Pozna ska, Instytut Informatyki, KJ 79
80 Typ ST_GEOMETRY w Oracle 11g metody konwersje z/do repr. zew. (1/2) W ród metod konwersji z/do zewn trznych reprezentacji danych przestrzennych brakuje wsparcia dla GML (geography markup language). Została natomiast doło ona mo liwo konwersji z/do typu SDO_GEOMETRY. Konwersja z typu SDO_GEOMETRY mo liwa jest tak e za pomoc konstruktora Lista metod tej kategorii jest nast puj ca: FROM_SDO_GEOM FROM_WKB FROM_WKT GET_SDO_GEOM GET_WKB GET_WKT Politechnika Pozna ska, Instytut Informatyki, KJ 80
81 Typ ST_GEOMETRY w Oracle 11g metody konwersje z/do repr. zew. (2/2) SQL> create table MYST_MAJOR_CITIES ( 2 FIPS_CNTRY VARCHAR2(2), 3 CITY_NAME VARCHAR2(40), 4 STGEOM ST_POINT); Table created. SQL> insert into MYST_MAJOR_CITIES 2 select C.FIPS_CNTRY, C.CITY_NAME, 3 TREAT(ST_POINT.FROM_SDO_GEOM(C.GEOM) AS ST_POINT) STGEOM 4 from MAJOR_CITIES C; 123 rows created. SQL> select C.FIPS_CNTRY, C.CITY_NAME, 2 C.STGEOM.GET_WKT() WKT 3 from MYST_MAJOR_CITIES C 4 where CITY_NAME in ('Poznan','Warsaw'); FI CITY_NAME WKT PL Poznan POINT ( ) PL Warsaw POINT ( ) select C.STGEOM.GET_WKB() WKT from MYST_MAJOR_CITIES C where CITY_NAME in ('Poznan','Warsaw'); h: E BA E5 40 4A h: B0 22 4D 98 F6 ; "M ö h: A A7 8F 40 4A 1F Politechnika Pozna ska, Instytut h: Informatyki, 5A KJ 5D 1F 26 1C ; Z].&. 81
82 Typ ST_GEOMETRY w Oracle 11g metody pobieranie własno ci lub miar (1/2) Przykładowe metody typu MDSYS.ST_GEOMETRY pobieraj ce własno ci lub miary wspieraj pozyskiwanie informacji o: typach danych (ST_GeometryType), miarach i współrz dnych (ST_CoordDim, ST_IsValid, ST_X, ST_Y, ST_Z), geometriach w geometrii (ST_Centroid, ST_EndPoint, ST_NumPoints, ST_PointN, ST_StartPoint, ST_Points), ograniczeniach i obwiedniach (ST_Boundary, ST_Envelope, ST_ExteriorRing, ST_InteriorRingN, ST_NumInteriorRing), wymiarach geometrii (ST_Area, ST_Dimension, ST_Length), tym czy geometria jest pusta, zamkni ta, prosta (ST_IsClosed, ST_IsEmpty, ST_IsSimple, ST_IsRing), przestrzennym układzie odniesienia (ST_SrId). Politechnika Pozna ska, Instytut Informatyki, KJ 82
83 Typ ST_GEOMETRY w Oracle 11g metody pobieranie własno ci lub miar (2/2) SQL> create table MYST_COUNTRY_BOUNDARIES ( 2 FIPS_CNTRY VARCHAR2(2), 3 CNTRY_NAME VARCHAR2(40), 4 STGEOM ST_MULTIPOLYGON); Table created. SQL> insert into MYST_COUNTRY_BOUNDARIES 2 select B.FIPS_CNTRY, B.CNTRY_NAME, ST_MULTIPOLYGON(B.GEOM) 3 from COUNTRY_BOUNDARIES B; 19 rows created. SQL> select CNTRY_NAME, 2 B.STGEOM.ST_GEOMETRYTYPE() STGTYPE, 3 B.STGEOM.ST_COORDDIM() COORDDIM, 4 B.STGEOM.ST_CENTROID().GET_WKT() CENTROID, 5 B.STGEOM.ST_ISSIMPLE() ISS, 6 B.STGEOM.ST_SRID() SRID 7 from MYST_COUNTRY_BOUNDARIES B; CNTRY_NAME Poland Czech Republic Germany Slovakia Austria Russia Estonia STGTYPE ST_POLYGON ST_POLYGON ST_MULTIPOLYGON ST_POLYGON ST_POLYGON ST_MULTIPOLYGON ST_MULTIPOLYGON COORDDIM CENTROID POINT ( ) POINT ( ) POINT ( ) POINT ( ) POINT ( ) POINT ( ) POINT ( ) ISS SRID Politechnika Pozna ska, Instytut Informatyki, KJ 83
84 Typ ST_GEOMETRY w Oracle 11g metody porównywanie geometrii (1/2) Metody nale ce do tej kategorii zaimplementowane w Oracle 11g to: ST_Contains, ST_Crosses, ST_Disjoint, ST_Equals, ST_Intersects, ST_Relate, ST_Touches, ST_Within. select B.CNTRY_NAME, count(*) from MYST_COUNTRY_BOUNDARIES B, MYST_MAJOR_CITIES C where C.STGEOM.ST_WITHIN(B.STGEOM) = 1 group by B.CNTRY_NAME; select B.CNTRY_NAME, count(*) from MYST_COUNTRY_BOUNDARIES B, MYST_MAJOR_CITIES C where C.STGEOM.ST_CONTAINS(C.STGEOM) = 1 group by B.CNTRY_NAME; CNTRY_NAME Poland Slovakia Denmark Slovenia Austria Germany Byelarus Hungary Latvia Romania Czech Republic Russia Sweden Ukraine Lithuania COUNT(*) Politechnika Pozna ska, Instytut Informatyki, KJ 84
85 Typ ST_GEOMETRY w Oracle 11g metody porównywanie geometrii (2/2) select A.CNTRY_NAME A_NAME, B.CNTRY_NAME B_NAME from MYST_COUNTRY_BOUNDARIES A, MYST_COUNTRY_BOUNDARIES B where A.STGEOM.ST_TOUCHES(B.STGEOM) = 1 and B.CNTRY_NAME = 'Poland'; A_NAME Byelarus Czech Republic Ukraine Germany Slovakia Russia Lithuania B_NAME Poland Poland Poland Poland Poland Poland Poland select distinct B.CNTRY_NAME, R.name from MYST_COUNTRY_BOUNDARIES B, RIVERS R where B.CNTRY_NAME = 'Poland' and ST_LINESTRING(R.GEOM).ST_INTERSECTS(B.STGEOM) = 1 CNTRY_NAME Poland Poland Poland Poland Poland Poland Poland Poland NAME Bug Morava Oder Odra San Nogat Oder-Havel-Kanal Vistula Politechnika Pozna ska, Instytut Informatyki, KJ 85
86 Typ ST_GEOMETRY w Oracle 11g metody generowanie geometrii (1/2) Metody nale ce do tej klasy metod zaimplementowane w Oracle 11g to: Funkcje konwersji (ST_Polygon) Funkcje tworz ce geometrie o innej konfiguracji przestrzennej (ST_Buffer, ST_ConvexHull) Funkcje wywodz ce jedn geometrie z wielu (ST_Difference, ST_Intersection, ST_SymDifference, ST_Union) Niestety brakuje całkowicie funkcji, które: wywodz nowe geometrie na podstawie miar, oraz tworz zmodyfikowane postacie istniej cych geometrii. Brak funkcji z pierwszej kategorii wynika z faktu, i w ogóle brak wsparcia w geometriach ST_* dla miar i ich warto ci. Brak metod z drugiej kategorii jest niestety dosy powa nym utrudnieniem. Brak funkcji takich jak: ST_AppendPoint, ST_ChangePoint czy ST_RemovePoint powoduje, e programista musi samodzielnie implementowa tego typu operacje je eli zamierza modyfikowa definicje przechowywanych obiektów przestrzennych. Politechnika Pozna ska, Instytut Informatyki, KJ 86
87 Typ ST_GEOMETRY w Oracle 11g metody generowanie geometrii (2/2) select TREAT(B.STGEOM.ST_DIFFERENCE(ST_GEOMETRY(W.GEOM)) as ST_POLYGON).ST_AREA() WEGRY_BEZ, B.STGEOM.ST_AREA() WEGRY_POW, ROUND(TREAT(B.STGEOM.ST_DIFFERENCE(ST_GEOMETRY(W.GEOM)) as ST_POLYGON).ST_AREA() / B.STGEOM.ST_AREA(), 2) STOSUNEK from MYST_COUNTRY_BOUNDARIES B, WATER_BODIES W where B.CNTRY_NAME = 'Hungary' and W.name = 'Balaton'; WEGRY_BEZ WEGRY_POW STOSUNEK ,1873E+10 9,2498E+10,99 select A.STGEOM.ST_UNION(B.STGEOM) CZECHOSLOWACJA from MYST_COUNTRY_BOUNDARIES A, MYST_COUNTRY_BOUNDARIES B where A.CNTRY_NAME = 'Czech Republic' and B.CNTRY_NAME = 'Slovakia'; Politechnika Pozna ska, Instytut Informatyki, KJ 87
88 Typ ST_GEOMETRY w Oracle 11g Wykorzystanie indeksów przestrzennych Typ ST_GEOMETRY mo e by indeksowany za pomoc indeksu r-tree analogicznie jak typ SDO_GEOMETRY, czyli pod warunkiem zarejestrowania odpowiednich informacji w metadanych. Indeksy r-tree mog by z powodzeniem wykorzystywane za pomoc operatorów SDO_NN, SDO_WITHIN_DISTANCE. Przy wykorzystaniu powy szych operatorów nie jest konieczna adna konwersja. Nale y zauwa y, e wykorzystywanie metod typu ST_GEOMETRY nie jest uzale nione od istnienia indeksów przestrzennych. insert into USER_SDO_GEOM_METADATA select 'MYST_MAJOR_CITIES', 'STGEOM', T.DIMINFO, T.SRID from USER_SDO_GEOM_METADATA T where T.TABLE_NAME = 'MAJOR_CITIES'; create index MYST_MAJOR_CITIES_IDX on MYST_MAJOR_CITIES(STGEOM) indextype IS MDSYS.SPATIAL_INDEX; select B.CNTRY_NAME A_NAME, count(*) from MYST_COUNTRY_BOUNDARIES B, MYST_MAJOR_CITIES C where SDO_WITHIN_DISTANCE(C.STGEOM, B.STGEOM, 'distance=100 unit=km') = 'TRUE' and B.CNTRY_NAME = 'Poland' group by B.CNTRY_NAME; SELECT STATEMENT, GOAL = ALL_ROWS SORT GROUP BY NOSORT NESTED LOOPS TABLE ACCESS FULL SCOTT MYST_COUNTRY_BOUNDARIES DOMAIN INDEX SCOTT MYST_MAJOR_CITIES_IDX Politechnika Pozna ska, Instytut Informatyki, KJ 88
89 Przestrzenny Schemat Informacyjny standardu SQL/MM w Oracle 11g Oracle nie wprowadził do słownika bazy danych perspektyw wynikaj cych z dyrektyw standardu SQL/MM dotycz cych przestrzennego Schematu Informacyjnego. Wynika to po cz ci z faktu, e analogiczne perspektywy słownikowe istniały ju wcze niej np. SDO_COORD_REF_SYS zawiera przestrzenne układy odniesienia SDO_UNITS_OF_MEASURE zawiera jednostki miar Innym powodem braku implementacji Schematu Informacyjnego mo e by fakt, e Oracle umo liwił wprowadzanie opisów dotycz cych danych przestrzennych zgodnie ze specyfikacj "OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1: Common architecture" Został zdefiniowany nowy typ danych ST_ANNOTATION_TEXT, który mo e by wykorzystywany do przechowywania opisów dotycz cych danych przestrzennych Informacje zdefiniowane za pomoc ST_ANNOTATION_TEXT s umieszczane (podobnie jak w przypadku metadanych w USER_SDO_GEOM_METADATA) w perspektywie USER_ANNOTATION_TEXT_METADATA. Politechnika Pozna ska, Instytut Informatyki, KJ 89
90 Zagadnienia uzupełniaj ce Przestrzenne układy odniesienia Typy układów odniesienia Funkcje słu ce do transformacji układu odniesienia (Coordinate System Transformation Functions) Funkcjonalno LRS (Linear Referencing System) Wst p i definicje Model danych LRS Operacje LRS (Linear Referencing Functions) Przykład aplikacji Analiza i eksploracja danych przestrzennych Politechnika Pozna ska, Instytut Informatyki, KJ 90
91 Przestrzenne układy odniesienia Oracle w wersji 11g wspiera wiele ró nych układów odniesienia (2 i 3 wymiarowych): Kartezja skie Geodezyjne oparte na długo ci i szeroko ci geograficznej (istnieje wiele definicji układów odniesienia definiowanych dla poszczególnych obszarów ziemi) Rzutowane (tylko 2 wymiarowe) w których ka dy punkt jest rzutowany na płaszczyzn Lokalne definiowane np. dla systemów CAD Oracle 11g wspiera nie tylko definiowanie danych przestrzennych i ich przetwarzanie zgodnie z okre lonym układem odniesienia, ale tak e umo liwia transformacje obiektów pomi dzy ró nymi (geodezyjnymi) układami odniesienia. Lista dost pnych układów odniesienia jest dost pna przykładowo za pomoc poni szych perspektyw: SDO_COORD_REF_SYS wszystkie SDO_CRS_GEOGRAPHIC3D geodezyjne 3-wymiarowe Politechnika Pozna ska, Instytut Informatyki, KJ 91
92 Przestrzenne układy odniesienia analiza Wybór pomi dzy geodezyjnymi i rzutowanymi/kartezja skimi układami odniesienia powinien bra pod uwag dwa aspekty: Dokładno dla małych obszarów (np. mapa Legionowa) rzutowane układy odniesienia mog wprowadza pomijalne podczas przetwarzania niedokładno ci. Wydajno przetwarzanie uwzgl dniaj ce sferyczno powierzchni wymaga wi kszych zasobów obliczeniowych Istniej pewne ograniczenia przy korzystaniu z geodezyjnych układów odniesienia Nie zaleca si przechowywania zoptymalizowanych prostok tów (MBR). Mo liwe jest natomiast wykorzystanie geodezyjnych obiektów MBR podczas ograniczania wyników zapyta np. za pomoc operatora SDO_FILTER. Nie ma mo liwo ci wykorzystania obiektów przestrzennych zdefiniowanych za pomoc łuków Politechnika Pozna ska, Instytut Informatyki, KJ 92
93 Przestrzenne układy odniesienia transformacje Funkcje umo liwiaj ce transformacje oparte na układach odniesienia posiadaj bardzo bogat funkcjonalno. Mi dzy innymi umo liwiaj : Transformacje pojedynczych geometrii Transformacje całych warstw (czyli zawarto ci kolumn w tabeli) Konwersje pomi dzy 3 i 2 wymiarowymi układami select C.CITY_NAME, MCP.GEOM, SDO_CS.TRANSFORM(MCP.GEOM, M.DIMINFO, 2174) TRANS from MAJOR_CITIES C, USER_SDO_GEOM_METADATA M where C.CITY_NAME = 'Poznan' and M.TABLE_NAME = 'MAJOR_CITIES' and M.COLUMN_NAME = 'GEOM'; BEGIN SDO_CS.TRANSFORM_LAYER('MAJOR_CITIES','GEOM','MAJOR_CITIES_2174',2174); END; GEOM = SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE( , , NULL), NULL, NULL) TRANS = SDO_GEOMETRY(2001, 2174, SDO_POINT_TYPE( , , NULL), NULL, NULL) Pulkovo 1942(58) / Poland zone IV select CITY_NAME, rowid from MAJOR_CITIES where CITY_NAME in ('Poznan', 'Warsaw') CITY_NAME ROWID Poznan AAARdUAAGAAAB1VAAg Warsaw AAARdUAAGAAAB1VAAi select ROUND(SDO_GEOM.SDO_DISTANCE(P.GEOMETRY, W.GEOMETRY, 1, 'unit=km')) ODL from MAJOR_CITIES_2174 P, MAJOR_CITIES_2174 W WHERE P.SDO_ROWID = 'AAARdUAAGAAAB1VAAg' AND W.SDO_ROWID = 'AAARdUAAGAAAB1VAAi' ODL Politechnika Pozna ska, Instytut Informatyki, KJ 93
94 Badany zbiór: wierszy Układ odniesienia: SRID COORD_REF_SYS_NAME COORD_REF_SYS_KIND Pulkovo 1942(58) / Poland zone IV PROJECTED czas (sek.) , , Szybko operacji obszar obszar SDO_FILTER IDX SDO_FILTER IDX SDO_FILTER TAB SDO_FILTER TAB SDO_NN SDO_NN SDO_WITHIN_DISTANCE SDO_WITHIN_DISTANCE obszar 2174 obszar 2174 SDO_FILTER IDX 2174 SDO_FILTER IDX 2174 SDO_FILTER TAB 2174 SDO_FILTER TAB 2174 SDO_NN 2174 SDO_NN 2174 SDO_WITHIN_DISTANCE 2174 SDO_WITHIN_DISTANCE 2174 select SDO_AGGR_UNION(MDSYS.SDOAGGRTYPE(B.ODL_KSZTALT,1)) OBSZAR from A_OBIEKTY_ODL B where ODL_OBIEKT_ID between p_od_id and p_do_id; select count(*) liczba punktów w obszarze from A_OBIEKTY_ODL LICZBA_PKT OBSZAR SDO_FILTER IDX SDO_FILTER TAB SDO_NN SDO_WITHIN_DISTANCE where SDO_FILTER(ODL_KSZTALT,r_obsz.OBSZAR,'querytype=WINDOW') 200 0, , , ,1445 = 'TRUE'; 0, , , ,094 5, , select count(*) 600 1, , , , ,914 from A_OBIEKTY_ODL 800 2, , ,1035 5, , , ,085 0,1025 6, , where SDO_NN(ODL_KSZTALT,r_obsz.OBSZAR,'sdo_num_res=1000',1) = 'TRUE'; , , , ,964 1, select count(*) , , , ,9825 2, ,761 0, , ,128 2, from A_OBIEKTY_ODL , , , , , where SDO_WITHIN_DISTANCE(ODL_KSZTALT,r_obsz.OBSZAR,'distance= , , , ,33275unit=m') = 'TRUE'; 3, Politechnika Pozna ska, Instytut Informatyki, KJ 94
95 LRS (Linear Referencing System) wst p i definicje (1/3) W przypadku wielu zastosowa danych przestrzennych, takich jak wszelkiego rodzaju transport (samochodowy, kolejowy, gazu, ropy itp.) rozmieszczenie, długo i inne cechy przestrzenne s nie wystarczaj ce. W takich przypadkach z danymi przestrzennymi dodatkowo wi zane s ró nego rodzaju miary, które razem z danymi przestrzennymi stanowi wymagan informacj. Oracle przedstawiaj c system LRS wprowadza kilka definicji: Segment LRS jest prostym elementem b d cym: lini, ci giem linii lub wielok tem. Segment LRS musi posiada warto ci miar co najmniej dla swojego pocz tkowego i ko cowego punktu. Punkty kształtu punkty za pomoc, których segment LRS jest zdefiniowany. Punkty kształtu definiuj kierunek (poło enie) segmentu LRS. W przypadku istotnych dla aplikacji punktów (zawór, przeł cznik, zjazd z autostrady) le cych w ramach segmentu LRS mog by wykorzystywane do przechowywania warto ci miar. Politechnika Pozna ska, Instytut Informatyki, KJ 95
96 LRS (Linear Referencing System) wst p i definicje (2/3) Kierunek segmentu kierunek wyznaczony jest przez pocz tkowy i ko cowy punkt segmentu. Miary przez miar punktu le cego w ramach segmentu LRS rozumiemy liniow odległo pomi dzy punktem pocz tkowym lub ko cowym segmentu LRS. Offset jest odległo ci pomi dzy dowolnym punktem, a segmentem LRS. Ujemna warto oznacza, e punkt le y po prawej stronie segmentu. Wypełnianie miar wszystkie nieprzypisane miary s automatycznie wypełniane na podstawie odległo ci od punktów z miarami okre lonymi. Wykonywane jest to w ramach ka dej z funkcji LRS Zakres miar segmentu LRS wyznaczony jest przez miary pocz tkowego i ko cowego punktu segmentu. Projekcja jest dowolnego punktu na segmencie LRS jest punktem definiuj cym segment LRS istniej cym najbli ej. Punkty LRS to punkty definiuj ce segment LRS, które posiadaj okre lone warto ci miar. Politechnika Pozna ska, Instytut Informatyki, KJ 96
97 LRS (Linear Referencing System) wst p i definicje (3/3) Segment LRS Kierunek segmentu (X,Y,null) (X,Y,null) Miary (X,Y,0) start Offset (ujemny) (X,Y,80) (X,Y,95) (X,Y,120) koniec Punkty kształtu Zakres miar segmentu (0-120) - Punkty w których zdefiniowano miary czyli tzw. punkty LRS - Punkty bez miar (miara zostanie okre lona w trakcie działania funkcji LRS) Politechnika Pozna ska, Instytut Informatyki, KJ 97
98 LRS (Linear Referencing System) model danych Model danych LRS został zintegrowany z typem SDO_GEOMETRY. Miary mo na dodawa do dwu lub trzywymiarowych geometrii Miara zawsze wyst puje jako ostatnia współrz dna (13,6,null) (22,6,40) (31,6,null) (0,0,0) (27,6,null) (35,4,null) (40,2,80) (46,2,95) (53,2,120) insert into USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) values ('SIMPLE_LRS', 'GEOMETRY', SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', 0, 55, 0.005), SDO_DIM_ELEMENT('Y', 0, 10, 0.005), SDO_DIM_ELEMENT('M', 0, 120, 0.005)), null); create table SIMPLE_LRS (GEOMETRY MDSYS.SDO_GEOMETRY); insert into SIMPLE_LRS values ( SDO_GEOMETRY(3302, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,2,1), SDO_ORDINATE_ARRAY(0,0,0, 13,6,NULL, 22,6,40, 27,6,NULL, 31,6,NULL, 35,4,NULL, 40,2,80, 46,2,95, 53,2,120))) Politechnika Pozna ska, Instytut Informatyki, KJ 98
99 LRS (Linear Referencing System) operacje Podstawowym pakietem umo liwiaj cym przetwarzanie segmentów LRS jest SDO_LRS Funkcjonalno dost pnych za jego pomoc operacji jest bardzo bogata i obejmuje: Definiowanie segmentów LRS okre lanie warto ci miar. Redefiniowanie segmentów LRS zmian warto ci miar. Wycinanie fragmentów segmentów LRS. Dzielenie segmentów LRS. Ł czenie segmentów LRS. Skalowanie segmentów LRS. Przemieszczanie segmentów LRS. Znajdywanie pozycji punktów opisanych miar lub offsetem. Projekcje punktu na segment LRS. Konwersje segmentów LRS obejmuj ce pojedyncze punkty, linie, warstwy, metadane. Politechnika Pozna ska, Instytut Informatyki, KJ 99
100 LRS (Linear Referencing System) przykład aplikacji: A6 Gdynia Goleniów (1/3) -- znajd my nasz przyszł A6 select SR.ID, SDO_GEOM.SDO_LENGTH(SR.GEOM, 1, 'unit=km') DISTANCE, ST_LINESTRING(SR.GEOM).ST_NUMPOINTS() ST_NUMPOINTS from STREETS_AND_RAILROADS SR, MAJOR_CITIES C where SDO_RELATE(SR.GEOM, SDO_GEOM.SDO_BUFFER(C.GEOM, 10, 1, 'unit=km'), 'MASK=ANYINTERACT querytype=join') = 'TRUE' and C.CITY_NAME = 'Koszalin'; ID DISTANCE ST_NUMPOINTS , create table A6_LRS(GEOM MDSYS.SDO_GEOMETRY); -- zdefiniujmy segment LRS insert into A6_LRS select SDO_LRS.CONVERT_TO_LRS_GEOM(SR.GEOM, 0, ) from STREETS_AND_RAILROADS SR where SR.ID = 56; select LRS.GEOM LRS_GEOM, SR.GEOM from A6_LRS LRS, STREETS_AND_RAILROADS SR where SR.ID = 56; select SDO_GEOM.SDO_DISTANCE( MDSYS.SDO_GEOMETRY( 2001, 8307, MDSYS.SDO_POINT_TYPE(18.5, , null), null, null), MDSYS.SDO_GEOMETRY( 2001, 8307, MDSYS.SDO_POINT_TYPE( , , null), null, null), 1, 'unit=km') ODL from DUAL; ODL , LRS_GEOM = SDO_GEOMETRY(3302, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(18.5, , 0, , , , , , , , , , , , )) GEOM = SDO_GEOMETRY(2002, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(18.5, , , , , , , , , )) Politechnika Pozna ska, Instytut Informatyki, KJ 100
101 LRS (Linear Referencing System) przykład aplikacji: A6 Gdynia Goleniów (2/3) -- Rejestrujemy metadane INSERT INTO USER_SDO_GEOM_METADATA VALUES ('A6_LRS','GEOM', MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X', , , 1), MDSYS.SDO_DIM_ELEMENT('Y', , , 1), MDSYS.SDO_DIM_ELEMENT('M', 0, 300, 1) ), 8307); -- zakładamy indeks przestrzenny CREATE INDEX lrs_routes_idx ON lrs_routes(route_geometry) INDEXTYPE IS MDSYS.SPATIAL_INDEX; -- Testujemy własno ci segmentu LRS select SDO_LRS.VALID_MEASURE(GEOM, 1000) VALID_1000, SDO_LRS.GEOM_SEGMENT_LENGTH(GEOM) LENGTH, SDO_LRS.GEOM_SEGMENT_START_MEASURE(GEOM) START_MEASURE, SDO_LRS.GEOM_SEGMENT_END_PT(GEOM) END_PT from A6_LRS; VALID_1000 = FALSE LENGTH = START_MEASURE = 0 END_PT = SDO_GEOMETRY(3301, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY( , , )) Politechnika Pozna ska, Instytut Informatyki, KJ 101
102 LRS (Linear Referencing System) przykład aplikacji: A6 Gdynia Goleniów (3/3) --Wypadek 100 kilometrów od wjazdu na A6 tzn. gdzie? select SDO_LRS.LOCATE_PT(GEOM, 100, 0) KM100 from A6_LRS; SDO_GEOMETRY(3301,8307,NULL,SDO_ELEM_INFO_ARRAY(1,1,1),SDO_ORDINATE_ARRAY(17.068,54.472,100)) --Roboty drogowe na odcinku od 120 km do 155 km A6 licz c od Gdyni czyli? select SDO_LRS.CLIP_GEOM_SEGMENT(GEOM, 120, 155) CLIPED from A6_LRS; SDO_GEOMETRY(3302, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY( , , 120, , , , , , , , , 155)) --Gdzie jest najbli szy wjazd na autostrad A6 ze Słupska? select SDO_LRS.PROJECT_PT(A6.GEOM, C.GEOM) WJAZD_NA_A6 from A6_LRS A6, MAJOR_CITIES C where C.CITY_NAME = 'Slupsk'; SDO_GEOMETRY(3301, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY( , , )) -- Na odcinku 180 km do 210 km 10 metrów na lewo od A6 by poło ona nowa linia telefoniczna a dokładnie? select SDO_LRS.OFFSET_GEOM_SEGMENT(A6.GEOM, M.DIMINFO, 180, 210, 10, 'unit=m arc_tolerance=0.05') LINIA_TEL from A6_LRS A6, USER_SDO_GEOM_METADATA M where M.TABLE_NAME = 'A6_LRS' and M.COLUMN_NAME = 'GEOM' SDO_GEOMETRY(3302, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY( , , 180, , , , , , , , , , , , , , , 210)) Politechnika Pozna ska, Instytut Informatyki, KJ 102
103 Bibliografia Oracle Spatial Developer's Guide 11g Release 1 (11.1), Oracle 2007 ISO/IEC :2006: SQL/MM Part 3 Spatial OpenGIS Simple Features Specifications for SQL Stolze K.: SQL/MM Spatial: The Standard to Manage Spatial Data in Relational Database Systems. BTW 2003, Spatial Extender and Geodetic Data Management Feature User's Guide and Reference, IBM 2006 Oprogramowanie do wizualizacji danych przestrzennych autorstwa Michała Reja (studenta PP) michal.rej@gmail.com SDO_GEOMETRY XSQL Server Pages XML XSL Transformation SVG XSQL Page XSL Politechnika Pozna ska, Instytut Informatyki, KJ 103
Wykorzystanie mechanizmów obiektowych przykład przetwarzanie danych przestrzennych Krzysztof Jankiewicz.
Wykorzystanie mechanizmów obiektowych przykład przetwarzanie danych przestrzennych Krzysztof Jankiewicz Krzysztof.Jankiewicz@cs.put.poznan.pl Dane przestrzenne zastosowania Zastosowania GIS Geographic
Oracle Spatial Option
Oracle Spatial Option 1 Spatial Option zastosowania 2 Zastosowania GIS Geographic Information System CAM Computer-Aided Manufacturing CAD Computer-Aided Design A co poza tym? Wszelkie systemy zawierające
Dane przestrzenne Ćwiczenia laboratoryjne (6)
Dane przestrzenne Ćwiczenia laboratoryjne (6) Podstawy 1. Utwórz tabelę o nazwie FIGURY z dwoma kolumnami: a. ID - NUMER(1) - klucz podstawowy b. KSZTALT - MDSYS.SDO_GEOMETRY create table FIGURY ( ID NUMBER(1)
Oracle Spatial Option
Oracle Spatial Option Krzysztof Jankiewicz Krzysztof.Jankiewicz@cs.put.poznan.pl Politechnika Poznańska, Instytut Informatyki, KJ Spatial Option zastosowania Zastosowania GIS Geographic Information System
Spatial Option zastosowania. Oracle Spatial Option. Spatial Option dlaczego? Spatial Option dlatego. Zastosowania. A co poza tym? Krzysztof Jankiewicz
Spatial Option zastosowania Oracle Spatial Option Krzysztof Jankiewicz Krzysztof.Jankiewicz@cs.put.poznan.pl Zastosowania GIS Geographic Information System CAM Computer-Aided Manufacturing CAD Computer-Aided
Ćwiczenie 2. Opcja przestrzenna bazy danych
Ćwiczenie 2. Opcja przestrzenna bazy danych 1. Uruchomienie i skonfigurowanie środowiska do ćwiczeń Czas trwania: 15 minut Zadaniem niniejszych ćwiczeń jest przedstawienie podstawowych zagadnień dotyczących
SPATIAL ZADANIA Krzysztof Jankiewicz, Instytut Informatyki Politechnika Poznańska
SPATIAL ZADANIA Krzysztof Jankiewicz, Instytut Informatyki Politechnika Poznańska 1. Utwórz tabelę o nazwie FIGURY z dwoma kolumnami: a. ID numer(1) klucz podstawowy b. KSZTAŁT MDSYS.SDO_GEOMETRY Tabela
Innowacyjne rozwiązania typu open source w aplikacjach typu gis-web. Dominik Tałanda
Innowacyjne rozwiązania typu open source w aplikacjach typu gis-web Dominik Tałanda Wprowadzenie do GIS AGENDA Dominik Tałanda SMT Software S.A. Prowadzący GIS konieczne minimum teorii Ćwiczenia SMT Software
Przestrzenne bazy danych. Funkcje geometryczne
Przestrzenne bazy danych Funkcje geometryczne SQL/MM SQL/MM (SQL Multimedia and Application Packages) standard uzupełniający język SQL o obsługę zaawansowanych typów danych, składa się części: Framework
ZAPYTANIA PRZESTRZENNE W RELACYJNYCH BAZACH DANYCH
Zeszyty Naukowe 127-141 Dariusz OLCZYK 1 ZAPYTANIA PRZESTRZENNE W RELACYJNYCH BAZACH DANYCH Streszczenie W artykule zaprezentowano podstawowe zagadnienia dotyczące pracy z tzw. systemami informacji przestrzennej
Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych
Przestrzenne bazy danych Definicja i cechy przestrzennych baz danych Zakres wykładów Wstęp do przestrzennych baz danych Typy geometryczne Funkcje geometryczne Modelowanie danych Metody rozwiązywania problemów
GIS. Grzegorz Chilkiewicz
GIS Grzegorz Chilkiewicz Przestrzenna baza danych Przestrzenna baza danych (ang. spatial database) - jest bazą danych zoptymalizowaną do składowania i odpytywania danych powiązanych z obiektami w przestrzeni,
Przestrzenne bazy danych. Wstęp do przestrzennych baz danych
Przestrzenne bazy danych Wstęp do przestrzennych baz danych Zakres wykładów Definicja i cechy przestrzennych baz danych Typy przestrzenne Funkcje przestrzenne Modelowanie danych Metody rozwiązywania problemów
3 Źródła 13. Mogą to być dane geoprzestrzenne, przestrzenne, dane o terenie, katastralne, itp..
Plan wykładu Spis treści 1 Dane przestrzenne 1 1.1 Zastosowanie danych przestrzennych..................... 1 1.2 Model danych przestrzennych......................... 2 1.3 Układy odniesień................................
Edycja geometrii w Solid Edge ST
Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.
Harmonogramowanie projektów Zarządzanie czasem
Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania
Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski
Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego
Styczeń 2016. Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład VIII. dr inż.
Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Styczeń 2016 Związki 1/46 Plan wykładu Związki 1 2 Związki 3 2/46 dane dotyczące obiektów powiązanych z powierzchnią Ziemi i połączonych
Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami.
Access Baza danych Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami. Baza danych sk ada si z danych oraz programu komputerowego wyspecjalizowanego do gromadzenia i przetwarzania
WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania
WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:
Charakterystyka przestrzennych typów danych. do tworzenia raportów. Using spatial data types in reports.
Materiały konferencyjne Bazy Danych i Business Intelligence Dr inż. Jacek Markus Warszawska Wyższa Szkoła Informatyki jacek.markus@gmail.com typów danych do tworzenia raportów. Using spatial data types
Ładowanie i reorganizacja
Ładowanie i reorganizacja danych Cele Ładowanie danych za pomocą wstawiania ścieżką bezpośrednią Ładowanie danych do tabel Oracle za pomocą ścieżki konwencjonalnej oraz bezpośredniej SQL*Loader Reorganizacja
Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa
Zamawiający: Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 00-662 Warszawa, ul. Koszykowa 75 Przedmiot zamówienia: Produkcja Interaktywnej gry matematycznej Nr postępowania: WMiNI-39/44/AM/13
Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego
InsERT GT Własne COM 1.0
InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe
GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007
GEO-SYSTEM Sp. z o.o. 02-732 Warszawa, ul. Podbipięty 34 m. 7, tel./fax 847-35-80, 853-31-15 http:\\www.geo-system.com.pl e-mail:geo-system@geo-system.com.pl GEO-RCiWN Rejestr Cen i Wartości Nieruchomości
PL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Przypomnienie kursorów Przypomnienie procedur i funkcji składowanych Poznanie pakietów składowanych 2 Bazę danych Oracle możemy traktować jakby była złożona z dwóch
3 Źródła 14. Mogą to być dane geoprzestrzenne, przestrzenne, dane o terenie, katastralne, itp..
Plan wykładu Spis treści 1 Dane przestrzenne 1 1.1 Zastosowanie danych przestrzennych..................... 1 1.2 Model danych przestrzennych......................... 2 1.3 Układy odniesień................................
Multimedialne bazy danych. Andrzej Łachwa, WFAiIS UJ 2011
11 Multimedialne bazy danych Andrzej Łachwa, WFAiIS UJ 2011 Obiekty przestrzenne w bazach danych Wszystkie rysunki pochodzą z OpenGIS Simple Features Specification For SQL. Revision 1.1, Open GIS Consortium,
Przestrzenne bazy danych PostGIS
Przestrzenne bazy danych PostGIS OGC (ang. Open Geospatial Consortium) OGC międzynarodowa organizacja standaryzacyjna w dziedzinie GIS. Powstała w roku 1994 roku. W jej skład wchodzą organizacje komercyjne,
Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?
Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania
Wykład 8 Ochrona danych wprowadzenie Sterowanie dostępem do danych Sterowanie przepływem danych Ograniczanie możliwości wnioskowania Szyfrowanie
Wykład 8 Ochrona danych wprowadzenie Sterowanie dostępem do danych Sterowanie przepływem danych Ograniczanie możliwości wnioskowania Szyfrowanie 1 Sterowanie dostępem (przyznawanie prawa dostępu) polega
Postrzeganie reklamy zewnętrznej - badania
Według opublikowanych na początku tej dekady badań Demoskopu, zdecydowana większość respondentów (74%) przyznaje, że w miejscowości, w której mieszkają znajdują się nośniki reklamy zewnętrznej (specjalne,
Automatyzacja procesu publikowania w bibliotece cyfrowej
Automatyzacja procesu publikowania w bibliotece cyfrowej Jakub Bajer Biblioteka Politechniki Poznańskiej Krzysztof Ober Poznańska Fundacja Bibliotek Naukowych Plan prezentacji 1. Cel prezentacji 2. Proces
Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk
Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych Andrzej Bąk Wstęp Zarys Co to jest baza danych? Podstawy teorii baz danych Klasyfikacja baz danych Organizacja danych w relacyjnej
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych
Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w
API transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Architektura komputerów
Architektura komputerów Tydzień 6 RSC i CSC Znaczenie terminów CSC Complete nstruction Set Computer komputer o pełnej liście rozkazów. RSC Reduced nstruction Set Computer komputer o zredukowanej liście
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
Warunki Oferty PrOmOcyjnej usługi z ulgą
Warunki Oferty PrOmOcyjnej usługi z ulgą 1. 1. Opis Oferty 1.1. Oferta Usługi z ulgą (dalej Oferta ), dostępna będzie w okresie od 16.12.2015 r. do odwołania, jednak nie dłużej niż do dnia 31.03.2016 r.
ci trwałej modułu steruj cego robota. Po wł niami i programami. W czasie działania wykorzystywane w czasie działania programu: wy robota (poło
ci trwałej modułu steruj cego robota. Po wł niami i programami. W czasie działania wykorzystywane w czasie działania programu: wy robota (poło W systemie AS robot jest sterowany i obsługiwany w trznych
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Modelowanie wymiarów
Wymiar Modelowanie wymiarów struktura umożliwiająca grupowanie danych z tabeli faktów implementowana jako obiekt bazy danych DIMENSION wykorzystanie DIMENSION zaawansowane przepisywanie zapytań (ang. query
Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych
Wyciąg z Uchwały Rady Badania nr 455 z 21 listopada 2012 --------------------------------------------------------------------------------------------------------------- Uchwała o poszerzeniu możliwości
INSTRUKCJA WebPTB 1.0
INSTRUKCJA WebPTB 1.0 Program WebPTB wspomaga zarządzaniem budynkami w kontekście ich bezpieczeństwa fizycznego. Zawiera zestawienie budynków wraz z ich cechami fizycznymi, które mają wpływ na bezpieczeństwo
Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego
Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego Wstęp. Dodanie funkcjonalności wysyłania wniosków bez podpisów
KOMISJA WSPÓLNOT EUROPEJSKICH. Wniosek DECYZJA RADY
KOMISJA WSPÓLNOT EUROPEJSKICH Bruksela, dnia 13.12.2006 KOM(2006) 796 wersja ostateczna Wniosek DECYZJA RADY w sprawie przedłużenia okresu stosowania decyzji 2000/91/WE upoważniającej Królestwo Danii i
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Praca na wielu bazach danych część 2. (Wersja 8.1)
Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Projektowanie bazy danych
Projektowanie bazy danych Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeo wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana
PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów
I. Postanowienia ogólne 1.Cel PROCEDURA OCENY RYZYKA ZAWODOWEGO w Urzędzie Gminy Mściwojów Przeprowadzenie oceny ryzyka zawodowego ma na celu: Załącznik A Zarządzenia oceny ryzyka zawodowego monitorowanie
Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych
Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych Warszawa 2012 (nowelizacja 2014) 1 zmiana nazwy zgodnie z terminologią zawartą w ustawie Prawo pocztowe Jednostka zlecająca: Urząd Komunikacji
REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ W TOLKMICKU. Postanowienia ogólne
Załącznik Nr 1 do Zarządzenie Nr4/2011 Kierownika Miejsko-Gminnego Ośrodka Pomocy Społecznej w Tolkmicku z dnia 20 maja 2011r. REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ
Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1
Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane
Audyt SEO. Elementy oraz proces przygotowania audytu. strona
Audyt SEO Elementy oraz proces przygotowania audytu 1 Spis treści Kim jesteśmy? 3 Czym jest audyt SEO 4 Główne elementy audytu 5 Kwestie techniczne 6 Słowa kluczowe 7 Optymalizacja kodu strony 8 Optymalizacja
Wykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Przestrzenne bazy danych. Typy obiektów przestrzennych
Przestrzenne bazy danych Typy obiektów przestrzennych Typy obiektów przestrzennych Obiekty geometryczne Obiekty geograficzne Obiekty rastrowe Typ geometryczny i geograficzny GEOMETRY_COLUMNS opis danych
Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska
Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu
Formularz oferty. (Wypełniają jedynie Wykonawcy składający wspólną ofertę)
Załącznik 2 do SIWZ Formularz oferty Do:...... (nazwa i adres Zamawiającego) Nawiązując do ogłoszenia o postępowaniu o zamówienie publiczne prowadzonym w trybie przetargu nieograniczonego na Stworzenie
Projektowanie Systemów Inf.
Projektowanie Systemów Inf. Wykład V Kwerendy Copyrights by Arkadiusz Rzucidło 1 Wprowadzenie Istotą bazy danych jest możliwość efektywnego wyszukiwania informacji Realizację operacji wyszukiwania zapewniają
Ćwiczenie nr 8 Elementy uzupełniające
Ćwiczenie nr 8 Elementy uzupełniające Materiały do kursu Skrypt CAD AutoCAD 2D strony: 94-96 i 101-110. Wprowadzenie Rysunki techniczne oprócz typowych elementów, np. linii, wymiarów, łuków oraz tekstów,
Zadania. SiOD Cwiczenie 1 ;
1. Niech A będzie zbiorem liczb naturalnych podzielnych przez 6 B zbiorem liczb naturalnych podzielnych przez 2 C będzie zbiorem liczb naturalnych podzielnych przez 5 Wyznaczyć zbiory A B, A C, C B, A
UCHWAŁA NR XI/311/07 Rady Miasta Szczecina z dnia 09 lipca 2007 r. w sprawie ustanowienia Programu społecznych inicjatyw lokalnych Na podstawie art. 18 ust. 1 pkt 15 ustawy z dnia 8 marca 1990 r. o samorządzie
Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.
Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania
15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
P 0max. P max. = P max = 0; 9 20 = 18 W. U 2 0max. U 0max = q P 0max = p 18 2 = 6 V. D = T = U 0 = D E ; = 6
XL OLIMPIADA WIEDZY TECHNICZNEJ Zawody II stopnia Rozwi zania zada dla grupy elektryczno-elektronicznej Rozwi zanie zadania 1 Sprawno przekszta tnika jest r wna P 0ma a Maksymaln moc odbiornika mo na zatem
INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI
INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI Spis treści Budowa okna aplikacji i narzędzia podstawowe... 4 Okno aplikacji... 5 Legenda... 5 Główne okno mapy... 5 Mapa przeglądowa...
K P K P R K P R D K P R D W
KLASA III TECHNIKUM POZIOM PODSTAWOWY I ROZSZERZONY PROPOZYCJA POZIOMÓW WYMAGAŃ Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i
Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x
Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wersja 02 Styczeń 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu...
Wniosek ROZPORZĄDZENIE RADY
KOMISJA EUROPEJSKA Bruksela, dnia 19.5.2014 r. COM(2014) 283 final 2014/0148 (NLE) Wniosek ROZPORZĄDZENIE RADY zmieniające rozporządzenie (UE) nr 1387/2013 zawieszające cła autonomiczne wspólnej taryfy
PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO
Załącznik nr 4 do Zarządzenia Nr 103/2012 Burmistrza Miasta i Gminy Skawina z dnia 19 czerwca 2012 r. PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO MÓDL SIĘ TAK, JAKBY WSZYSTKO ZALEśAŁO OD
ZARZĄDZENIE NR 82/15 WÓJTA GMINY WOLA KRZYSZTOPORSKA. z dnia 21 lipca 2015 r.
ZARZĄDZENIE NR 82/15 WÓJTA GMINY WOLA KRZYSZTOPORSKA w sprawie wprowadzenia regulaminu korzystania z systemu e-podatki w Urzędzie Gminy Wola Krzysztoporska Na podstawie art. 31 oraz art. 33 ust. 3 ustawy
System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy
Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.
Projekt U S T A W A. z dnia
Projekt z dnia U S T A W A o zmianie ustawy o wykonywaniu działalności gospodarczej w zakresie wytwarzania i obrotu materiałami wybuchowymi, bronią, amunicją oraz wyrobami i technologią o przeznaczeniu
Wykład 05 Bazy danych
Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o
SPRZĄTACZKA pracownik gospodarczy
Szkolenie wstępne InstruktaŜ stanowiskowy SPRZĄTACZKA pracownik gospodarczy pod red. Bogdana Rączkowskiego Zgodnie z rozporządzeniem Ministra Gospodarki i Pracy z dnia 27 lipca 2004 r. w sprawie szkolenia
Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD
Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD 1. Wprowadzenie DuŜa grupa sterowników mikroprocesorowych wymaga obsługi przycisków, które umoŝliwiają uŝytkownikowi uruchamianie
D - 05.03.11 FREZOWANIE NAWIERZCHNI ASFALTOWYCH NA ZIMNO 1. WST P... 2 2. MATERIA Y... 2 3. SPRZ T... 2 4. TRANSPORT... 3 5. WYKONANIE ROBÓT...
D - 05.03.11 FREZOWANIE NAWIERZCHNI ASFALTOWYCH NA ZIMNO SPIS TRE CI 1. WST P... 2 2. MATERIA Y... 2 3. SPRZ T... 2 4. TRANSPORT... 3 5. WYKONANIE ROBÓT... 3 6. KONTROLA JAKO CI ROBÓT... 4 7. OBMIAR ROBÓT...
Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37
Aplikacje bazodanowe Laboratorium 1 Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 1 / 37 Plan 1 Informacje wst pne 2 Przygotowanie ±rodowiska do pracy 3 Poj cie bazy danych 4 Relacyjne
PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc
PRAWA ZACHOWANIA Podstawowe terminy Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc a) si wewn trznych - si dzia aj cych na dane cia o ze strony innych
Systemy mikroprocesorowe - projekt
Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok 1. Wstępne założenia projektu Moje zadanie
ZP/6/2015 WYKONAWCA NR 1 Pytanie 1 Odpowiedź: Pytanie 2 Odpowiedź: Pytanie 3 Odpowiedź: Pytanie 4 Odpowiedź: Pytanie 5 Odpowiedź:
30.04.2015 r. Działając zgodnie z treścią art. 38 ust. 1 i 2 Pzp, Zamawiający informuje, że w postępowaniu prowadzonym pod numerem ZP/6/2015, w dniu 29 kwietnia 2015 r., Wykonawcy złożyli pytania do treści
Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji
O autorze Wprowadzenie Rozdział 1. Relacyjne bazy danych i SQL Język i logika Definicja SQL Microsoft SQL Server, Oracle i MySQL Inne bazy danych Relacyjne bazy danych Klucze główne i obce Typy danych
Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM
Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM PROGRAM INWENTARYZACJI Poznań 2011 Spis treści 1. WSTĘP...4 2. SPIS INWENTARZA (EWIDENCJA)...5 3. STAŁE UBYTKI...7 4. INTERPRETACJA ZAŁĄCZNIKÓW
Charakterystyka systemów plików
Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale
Logowanie do systemu Faktura elektroniczna
Logowanie do systemu Faktura elektroniczna Dostęp do Systemu Faktury Elektronicznej możliwy jest poprzez kliknięcie odnośnika Moja faktura w prawym górnym rogu strony www.wist.com.pl, a następnie przycisku
Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).
{tab=opis} Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ). Aplikacja umożliwia wygodne przeglądanie, wyszukiwanie
INFORMATOR dotyczący wprowadzania do obrotu urządzeń elektrycznych i elektronicznych aparatury, telekomunikacyjnych urządzeń końcowych i urządzeń
INFORMATOR dotyczący wprowadzania do obrotu urządzeń elektrycznych i elektronicznych aparatury, telekomunikacyjnych urządzeń końcowych i urządzeń radiowych oraz wyrobów wykorzystujących energię podlegających
Instrukcja programu PControl Powiadowmienia.
1. Podłączenie zestawu GSM. Instrukcja programu PControl Powiadowmienia. Pierwszym krokiem w celu uruchomienia i poprawnej pracy aplikacji jest podłączenie zestawu GSM. Zestaw należy podłączyć zgodnie
GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH
GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH dr Edyta Bielak-Jomaa Warszawa, dnia 1 kwietnia 2016 r. DOLiS 035 2332/15 Prezydent Miasta K. WYSTĄPIENIE Na podstawie art. 19a ust. 1 ustawy z dnia 29 sierpnia
Podstawa prawna: Ustawa z dnia 15 lutego 1992 r. o podatku dochodowym od osób prawnych (t. j. Dz. U. z 2000r. Nr 54, poz. 654 ze zm.
Rozliczenie podatników podatku dochodowego od osób prawnych uzyskujących przychody ze źródeł, z których dochód jest wolny od podatku oraz z innych źródeł Podstawa prawna: Ustawa z dnia 15 lutego 1992 r.
Umowa w sprawie przyznania grantu Marie Curie 7PR Wykaz klauzul specjalnych
WYKAZ WSZYSTKICH KLAUZUL SPECJALNYCH MAJĄCYCH ZASTOSOWANIE DO WZORU UMOWY W SPRAWIE PRZYZNANIA GRANTU MARIE CURIE W RAMACH REALIZACJI SIÓDMEGO PROGRAMU RAMOWEGO WSPÓLNOTY EUROPEJSKIEJ (2007-2013) SPIS
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji
epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka
Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.wup.pl/index.php?
1 z 6 2013-10-03 14:58 Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: www.wup.pl/index.php?id=221 Szczecin: Usługa zorganizowania szkolenia specjalistycznego