Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates...

20
Ģeometrijas hierarhiska analīze 1

Transcript of Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates...

Page 1: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Ģeometrijas hierarhiska analīze1

Page 2: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Ģeometrijas datu indeksi

1. Grid (spatial index)2. Z-order (curve)3. Quadtree4. Octree5. UB-tree6. R-tree: Typically the preferred method for indexing spatial data. Objects (shapes, lines and points) are grouped using the minimum bounding rectangle (MBR). Objects are added to an MBR within the index that will lead to the smallest increase in its size.7. R+ tree8. R* tree9. X-tree10. kd-tree11. m-tree - an m-tree index can be used for the efficient resolution of similarity queries on complex objects as compared using an arbitrary metric.

2

Page 3: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Divdimensiju telpas transformēšana vienā dimensijā

z-secība, Mortona secība

Telpu pildošās līknes: z-kārtošana (a) un Džilberta līkne (b).

3

Page 4: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Bitu virknes jeb z-elementi

1. Put z-elements as spatial keys into a B-tree B.2. Containment query with rectangle r:- determine z-elements for r;- for each z-element z scan a part of the leaf sequence of B having z as a prefix;- check theses candidates for actual containment, avoidduplicate reports.

4

Page 5: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Ģeometrijas datu hibrīda tipa indekss5

Page 6: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Ģeometrijas aproksimācija ar taisnstūri6

Page 7: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Ģeometrijas datu R- koka indekss. 1. piemērs

Ģeometrijas datu R-koka indekss. 2. piemērs

7

Page 8: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Ģeometrijas datu kd-koki (k- dimensiju koki) (Bentley 75)

8

Page 9: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

kd-tree (short for k-dimensional tree) is a space-partitioning data structure for organizing points in a k-dimensional space. kd-trees are a useful data structure for several applications, such as searches involving a multidimensional search key (e.g. range searches and nearest neighbor searches). kd-trees are a special case of BSP trees.This algorithm creates the invariant that for any node, all the nodes in the left subtree are on one side of a splitting plane, and all the nodes in the right subtree are on the other side. Points that lie on the splitting plane may appear on either side. The splitting plane of a node goes through the point associated with that node (referred to in the code as node.location).

The resulting kd-tree.

Ģeometrijas datu R+-tree

9

Page 10: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

OCT koki (OCTree)

10

Page 11: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

An octree is a tree data structure in which each internal node has exactly eight children. Octrees are most often used to partition a three dimensional space by recursively subdividing it into eight octants. Octrees are the three-dimensional analog of quadtrees. The name is formed from oct + tree, and normally written "octree", not "octtree".

Left: Recursive subdivision of a cube into octants. Right: The corresponding octree.

Fiksētais režģis

11

Page 12: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Fiksētais režģis ar pārpildes struktūru

12

Page 13: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Četrkoks

Telpa tiek rekursīvi sadalīta kvadrantos, kamēr katrs kvadrants pārsedz mazāku

skaitu taisnstūru par M – diska lapas ietilpība. Kvadranti tiek saukti pēc debespusēm

– Ziemeļrietumu (ZR), Ziemeļaustrumu (ZA), Dienvidrietumu (DR),

Dienvidaustrumu (DA). Indekss tiek attēlots kā četrdaļīgs koks (katrai iekšējai

virsotnei ir četri pēcteči – katrs – vienam kvadrantam). Savukārt katra koka lapas ir

saistītas ar kādu diska lapu, kas glabā indeksa ierakstus. Līdzīgi kā režģa failā,

taisnstūris tiek fiksēts tajos kvadrantos, kuri to nosedz.

13

Page 14: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Oracle10g ģeometrijas datu indeksu veidošanaPēc datu ir ievadīšanas tabulās ir nepieciešamas izveidot telpisko indeksu katrai tabulai, lai nodrošinātu ātrāku informācijas meklēšanu un efektīvu piekļūšanu datiem. To realizē pārklājot ģeometrijas ar dakstiņiem (tile).Oracle Spatial relāciju objektu datu bāzei nodrošina trīs telpiskās indeksēšanas metodes:

1) fiksētā;2) hibrīdā;3) R–tree indeksēšana.

Indeksēšanai var izmantot fiksēta vai mainīga izmēra dakstiņus. Fiksēta izmēra dakstiņi tiek kontrolēti ar to izšķirtspēju. Mainīga izmēra dakstiņi tiek kontrolēti ar skaitli, kas nosaka to maksimālo skaitu. Fiksēta izmēra dakstiņu izšķirtspēja un mainīga izmēra dakstiņu skaits ir lietotāju iestādītie parametri ir attiecīgi SDO_LEVEL un SDO_NUMT1LES. Jo mazāks ir fiksēto dakstiņu izmērs, un jo lielāks ir mainīga izmēra dakstiņu skaits, jo precīzāka būs aproksimācija.Spatial atbalsta divas SDO_LEVEL un SDO_NUMTILES kombinācijas. Pirmā - ar nenulles SDO_LEVEL vērtību un nulles SDO_NUMTILES vērtību, kā rezultāts ir fiksēta izmēra dakstiņi (fiksēta indeksēšana).

Otra - ar nenulles SDO_LEVEL vērtību un nenulles SDO_NUMTILES vērtību, rezultātā iznāk hibrīda indeksēšana. Hibrīda indeksēšana ģenerē divas dakstiņu kopas katrai ģeometrijai: pirmā satur fiksēta izmēra dakstiņus, un otrā - mainīga izmēra dakstiņus.Hibrīdie indeksi nodrošina samērā efektīvu atmiņas sadali. Hibrīda indeksus veido tabulas kolonnām, kuras satur ģeometriju koordinātes.

R – tree ļauj indeksēt telpiskos datus līdz pat četrām dimensijām quadtree indexing (fiksētie un hibrīdie indeksi) atbalsta tikai 2 dimensijas. R-tree indeksu veidošanai nav jāievada parametri SDO_LEVEL un SDO_NUMTILES. Šeit indekss aproksimē katru ģeometriju ar mazāko tā iespējamo robežu MIR (minimālais ierobežojuma rādiuss) vai Minimum Bounding Rectangle - MBR).

Ģeometrijas datu indeksu definēšana

14

Page 15: Telpisko datu bažu veidošana - Web view01.09.2010 · - check theses candidates for actual containment, avoid. duplicate reports. Ģeometrijas datu hibrīda tipa indekss. Ģeometrijas

Indeksu tipi:4) fiksētā;5) hibrīdā;6) R–tree indeksēšana.

Fiksētā indeksa veidošana:CREATE INDEX IND_CELTNES ON CELTNES(CELTNE)INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS('SDO_LEVEL = 4');

Hibrīda tipa indeksa veidošana:CREATE INDEX IND_KOKI ON KOKI(KOKS)INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS('SDO_LEVEL = 4, SDO_NUMTILES =4');

R-tree koka indeksa veidošana:CREATE INDEX IND_IELAS ON IELAS(IELA)INDEXTYPE IS MDSYS.SPATIAL_INDEX;

Metadatus par izveidotajiem indeksiem var apskatīt ar skatu ALL_SDO_INDEX_INFO:

SELECT INDEX_NAME, TABLE_NAME, COLUMN_NAME, SDO_INDEX_TYPEFROM ALL_SDO_INDEX_INFO;

INDEX_NAME TABLE_NAME COLUMN_NAME SDO_INDEX_TYPE-------------------------------------------------------------------------------------------------------------------IND_CELTNES CELTNES CELTNE QTREEIND_IELAS IELAS IELA RTREEIND_KOKI KOKI KOKS QTREE

15