Térinformatikai adatszerkezetek

Hasonló dokumentumok
Térinformatikai adatszerkezetek

Térinformatikai adatszerkezetek

10. előadás Speciális többágú fák

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

Struktúra nélküli adatszerkezetek

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

file:///d:/apa/okt/ad/jegyzet/ad1/b+fa.html

Algoritmusok és adatszerkezetek gyakorlat 07

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

Intelligens közlekedési rendszerek (ITS)

A számítógépi grafika elemei. 2012/2013, I. félév

Mezők/oszlopok: Az egyes leíró adat kategóriákat mutatják.

Földmérési és Távérzékelési Intézet

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

A térinformatika lehetőségei a földrajzórán

TÉRINFORMATIKA I. Dr. Kulcsár Balázs egyetemi docens. Debreceni Egyetem Műszaki Kar Műszaki Alaptárgyi Tanszék

TÉRINFORMATIKA II. Dr. Kulcsár Balázs főiskolai docens. Debreceni Egyetem Műszaki Kar Műszaki Alaptárgyi Tanszék

17. A 2-3 fák és B-fák. 2-3 fák

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Adatszerkezetek 2. Dr. Iványi Péter

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Programozás alapjai II. (7. ea) C++

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Adatbázismodellek. 1. ábra Hierarchikus modell

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

TÉRINFORMATIKAI ALGORITMUSOK

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Adatszerkezetek 7a. Dr. IványiPéter

Az ErdaGIS térinformatikai keretrendszer

Láthatósági kérdések

I. VEKTOROK, MÁTRIXOK

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

TÉRINFORMATIKAI ALGORITMUSOK

ALKALMAZOTT TÉRINFORMATIKA 2.

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Számítógépes grafika

Algoritmusok és adatszerkezetek 2.

Adatbáziskezelés. Indexek, normalizálás NZS 1

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely

Koós Dorián 9.B INFORMATIKA

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek 1. előadás

Bevezetés a programozásba. 5. Előadás: Tömbök

Generikus osztályok, gyűjtemények és algoritmusok

Amortizációs költségelemzés

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

Cohen-Sutherland vágóalgoritmus

Adatmodellezés. 1. Fogalmi modell

Adatbázisok, térképek, információs rendszerek. Elek István

Fák Témakörök. Fa definíciója. Rekurzív típusok, fa adatszerkezet Bináris keresőfa, bejárások Bináris keresőfa, módosítás B-fa

Programozási technológia

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Hogyan fogalmazzuk meg egyszerűen, egyértelműen a programozóknak, hogy milyen lekérdezésre, kimutatásra, jelentésre van szükségünk?

Földfelszín modellezés

1. kép. A Stílus beállítása; új színskála megadása.

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

Adatmodellek. 2. rész

Geoinformatikai rendszerek

Kulcsár Attila. A második szint GeoCalc GIS 2. GISopen 2012 konfrencia.

Szabó József CadMap Kft. 29. Vándorgyűlés július Sopron

TÉRINFORMATIKA II. Dr. Kulcsár Balázs Ph.D. adjunktus. Debreceni Egyetem Műszaki Kar Műszaki Alaptárgyi Tanszék

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

Buborékrendezés: Hanoi Tornyai: Asszimptótikus fv.ek: Láncolt ábrázolás: For ciklussal:

Környezeti informatika

2 Excel 2016 zsebkönyv

15. A VERSENYRENDEZÉS

Segédlet: Főfeszültségek meghatározása Mohr-féle feszültségi körök alkalmazásával

TÉRINFORMATIKAI MODELLEZÉS TÉRINFORMATIKAI MODELLEZÉS ALAPFOGALMAI A VALÓSÁG MODELLEZÉSE

Algoritmusok és adatszerkezetek I. 1. előadás

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Téradatokkal kapcsolatos elemzések és fejlesztések a FÖMI Térinformatikai Igazgatóságán

QGIS Gyakorló. 1. kép. A vektor réteg (grassland.shp).

Álraszteres térstatisztikai műveletek a területi kutatásokban

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Szegedi Tudományegyetem Informatikai Tanszékcsoport SZAKDOLGOZAT. Fertői Ferenc

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

PISA2000. Nyilvánosságra hozott feladatok matematikából

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Helyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr.

Tamás Ferenc: Nevezetes szögek szögfüggvényei

Rostás Sándor szds. MH GEOSZ Műszaki és információs osztály térképész főtiszt (ov. h.)

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop.

Elemi adatszerkezetek

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

Algoritmusok és adatszerkezetek II.

Gekkó GIS: Raszteres kísérletek webes környezetben

10. Koordinátageometria

Érdekes informatika feladatok

Képernyő. monitor

Átírás:

Térinformatikai adatszerkezetek Eötvös Loránd Tudományegyetem Informatikai Kar, Programtervező Informatikus MSc. Információs Rendszerek szakirány Speciális Algoritmusok beadandó feladat Készítette: Kukovecz János Nyári István 2013. December

Tartalomjegyzék 1. Mi a térinformatika?... 3 2. A térinformatika nézetei... 3 3. Térinformatikai reprezentációs modellek... 4 3.1. Vektor modell... 4 3.2. Rasztergrafikus modell... 4 3.3. TIN Triangulated Irregular Network... 6 3.4. Táblázat reprezentációs modell... 6 4. Pontstruktúrák... 7 4.1. Pontnegyedelő fa (Point Quadtree)... 7 4.1.1. Beszúrás... 8 4.1.2. Törlés... 8 4.2. Régiónegyedelő fa (Region-Based Quadtree)... 8 4.3. K dimenziós fa (K-D Tree)... 9 5. Indexstruktúrák... 9 5.1. Negyedelőfa (Quadtree)... 10 5.2. R-fa (Region-tree)... 11 Irodalomjegyzék... 13

1. Mi a térinformatika? [1] A GIS mozaikszó a Geographic Information System rövidítése. A kifejezést, némileg tévesen, térinformatikának fordítják magyarra, pedig, ahogy azt az angol elnevezés is mutatja, valójában olyan informatikai rendszerekről van szó, melyek földrajzi dimenzióval bíró adatokkal dolgoznak - erre utal az angol névben a geográfiai jelző. Egy térinformatikai rendszer hardverelemeket, szoftvereket és adatokat integrál a földrajzi vonatkozással bíró adatok rögzítése, kezelése, teljeskörű elemzése és vizualizálása érdekében. A kezelt adatok térbeli elhelyezkedése közötti összefüggések és kapcsolatok kerülnek megjelenítésre, kiegészítve a hagyományos jelentésekkel és diagramokkal - a térképen megjelenített elemek mögött pedig minden esetben ott állnak az adatok. Megközelítésmódja jóvoltából a térinformatika számos olyan feladat ellátására alkalmas, amely egy tér nélküli" informatikai rendszerrel sokkal körülményesebben lenne csak megoldható. Ha egy szervezetnek már van kiépített informatikai infrastruktúrája, a GIS technológiát integrálhatjuk a már meglévő rendszerekkel. 2. A térinformatika nézetei [1] A GIS-ről leggyakrabban térképre szoktak asszociálni. A térkép valójában csak egyike azon lehetőségeknek, ahogyan a geográfiai adatokkal dolgozhatunk a rendszerben. A GIS képességei messze túlmutatnak egy egyszerű térképezési programon vagy azon, hogy egy online térképező eszköz mögé adatokat teszünk (mash-up). Egy GIS-t alapvetően három módon közelíthetjük meg. Adatbázis nézet: Egy térinformatikai rendszer egy speciális adatbázis a világról - úgynevezett geo-adatbázis. A GIS egy olyan strukturált adatbázisra épül, ami a világot a földrajzi dimenzió mentén írja le. Térkép nézet: Funkciógazdag térképek és különböző nézetek gyűjteménye, melyek a térképi elemeket és az elemek közötti összefüggéseket a Föld felszínén ábrázolják. A -3-

háttérben tárolt geográfiai információkra térképek építhetők, betekintést engedve az adatbázisba, támogatva a lekérdezések, elemzések, szerkesztések elvégzését. Modell nézet: A térinformatika információ átalakítására szolgáló eszközök gyűjteménye, melyek már létező geográfiai adatcsomagokból vonatkoztatnak új, transzformált adatokra. A geoprocesszálási funkciók az adatokon elemzéseket, átalakításokat végeznek, az eredményt pedig új adatcsomagokba írják. 3. Térinformatikai reprezentációs modellek [2][3] Közérthetően megfogalmazva a térinformatikai rendszer egy térkép és egy adatbázis összessége. A térképszerűen megjelenített adatrétegek különböző jellegűek lehetnek. 3.1. Vektor modell A vektoros megjelenítés geográfiai jelenségek ábrázolását teszi lehetővé pontokkal, vonalakkal és poligonokkal. A legelterjedtebb használata például terepi bejárás során GPSkészülékkel rögzített úthálózati elemek kirajzolása. A pontokat értelmezzük úgy, mint (x,y) párokat egy koordinátarendszerben feltéve, ha második dimenzióban gondolkodunk, a dimenziószám növelésével egyre több koordináta szükséges egy pont pontos pozíciójának meghatározásához. A vonalak, poligonok az e pontok között kirajzolt egyenesek illetve alakzatok. Térinformatikai alkalmazásokban több féle vektoros ábrázolásmódú állományok találhatóak, ezek főként implementációbeli változások miatt különböznek. 3.2. Rasztergrafikus modell A rasztergrafika vagy pixelgrafika olyan digitális kép, ábra, melyen minden egyes képpontot (pixelt) önállóan definiálunk. Minden egyes pixelnek (képkockának, -4-

cellának) pontosan meghatározott magassága és szélessége van. Természetesen e méretek a kilométeres nagyságrendtől az ezredmilliméteresig bármekkorák lehetnek. A cellák mérete azért fontos, mert ez határozza meg a megjelenítendő kép minőségét. Minél kisebb ez a szám vagyis minél több darab pixel alkot egy képet, annál szebb lesz a megjelenítendő felület, viszont a megnövekedett cellaszám miatt nagyobb helyigényű a tárolása és több processz-időt követel meg felhasználáskor. Azonban ha kevés nagyméretű cella segítségével ábrázoljuk a képet, úgy automatizálva is gyorsabban felhasználhatóvá válik, viszont kevésbé szép és kidolgozott lesz. A legjobb ellenpélda a nagy cellaméret használására például digitális térképeknél, ahol a közelíthetőség egy fő szempont. Minél jobban közelítünk egy digitális képre ha rasztergrafikus annál érdesebb, rosszabb minősége lesz. Ez olyan méreteket is ölthet, ahol már a térkép teljes mértékben pontatlanná, használhatatlanná válik, ami viszont mindenféleképp kerülendő. Felhasználásának előnyei: egyszerű adatszerkezet egyszerű algoritmus gyors feldolgozás fotótechnikai trükköknél jól alkalmazható. Felhasználásának hátrányai: az adatállomány nagy méretű rögzített felbontás nagyításnál a minőség romlik. -5-

3.3. TIN Triangulated Irregular Network Triangulated Irregular Network, vagyis Szabálytalan Háromszögháló reprezentációs modellben a világot úgy ábrázoljuk, mint x,y,z értékekkel (koordinátákkal) rendelkező szabálytalanul elhelyezkedő pontokat összekapcsoló háromszögek hálózatát. Ezek a háromszöghálók hatékony módja a geográfiai felületek analizálására. Olyan felületeket, amik bizonyos területeken élesen különböznek máshol pedig átlagos kinézetűek, előre megadott értékek mellett sokkal pontosabban lehet ábrázolni a háromszögháló segítségével, mint más módon. Ez azért lehetséges, mert az átlagtól eltérő területre sokkal több pontot lehet (ebben az esetben kell!) elhelyezni, mint a kevésbé változó felületű területekre. 3.4. Táblázat reprezentációs modell A térinformatikára gondolhatunk úgy is, mint egy geometria-függő adatbázisra. Ez a legegyszerűbb, legjobban kézen fogható absztrakciós modell az összes térinformatikai reprezentáció közül. Egyszerűen egy sorokból és oszlopokból álló táblázatba helyezzük el az adatokat, amik általában jól rendezhetőek. Legegyszerűbb egy példával bemutatni. Gondoljunk itt olyan táblázatba, ahol minden sorban rendre egy-egy helység adatai szerepelnek. Első oszlopban a helység neve, ami szerint egyértelműen azonosítani lehet. A sorok többi oszlopaiban pedig rendre az adott helységre vonatkozó adatok. Pl.: tengerszint feletti magasság, hőmérséklet, kőzettípus, átlagos szélerősség, stb. -6-

4. Pontstruktúrák [4] Ezen pont alatt összefoglalva röviden említésre kerülnek a térinformatikában és persze több különböző helyen, pl.: robotika, grafika, stb. előszeretettel használt reprezentációs struktúrák, amelyek általában a rekurzív dekompozíció elvén működnek. 4.1. Pontnegyedelő fa (Point Quadtree) A struktúra a keresőfának egyfajta változata, ötvözve a griddel. Minden belső csúcsnak négy darab gyereke van, ezzel a kétdimenziós teret pontosan négy különböző méretű és alakú négyzetre osztja. Minden ilyen kis területnek, vagy cellának, van egy maximális befogadóképessége. Ha ezt a kapacitást meghaladja az adott cellában lévő alakzatok száma, úgy a cella négy részre osztódik, így a belső csúccsá alakult eddigi levél csúcsnak négy gyereke lesz. Érdekes tulajdonsága, hogy az átlagos negyedelőfákkal szemben a dimenzióhasítás vagyis a ténylegesen megtörténő negyedelés mindig valamelyik pontban történik (tehát ha van területfelosztás, akkor biztosan valamelyik határponton keresztül). A kiegyenlítettsége mindig az adatok megérkezési sorrendjétől függ, nem konzekvens adatszerkezet. Ezt a tulajdonságot kihasználva akár, egy jól sikerült véletlenített algoritmus segítségével hatékonyabbá tehető, mint bármely más keresőfa, viszont ez egy nehéz feladat. -7-

4.1.1. Beszúrás A beszúrás teljesen úgy működik, mint egy keresőfában. Megkeressük az beszúrandó érték helyét az egyértelmű kulcsrendezés alapján (jelen reprezentációban az (X, Y) koordinátaértékek alapján) addig, amíg el nem érünk a fa aljára (NIL pointer). Ha ez sikerült, ide beszúrhatjuk az új elemet. 4.1.2. Törlés A törlés művelet az igazi gyengéje a pontnegyedelő fának. Jóval nagyobb műveletigényű, mint bármely keresőfa, ugyanis egy egyszerű bináris keresőfánál meg tudtuk mondani azt a csúcsot (legrosszabb esetben azt a közel hasonló értékű két csúcsot), ami átvehetné a helyét a törölt csúcsnak. Ebben az esetben négy különböző ilyen csúcs van, aminek a megtalálása nem teljesen egyértelmű. Ezen négy potenciális elem megtalálása is sok időt vesz igénybe, sőt, ez után még össze is kell hasonlítani az értékeiket, hogy kiválasszuk egyértelműen azt az egy csúcsot, ami átveheti a törölt csúcs helyét, ami szintén időigényes. 4.2. Régiónegyedelő fa (Region-Based Quadtree) A régiónegyedelő fa a legegyszerűbb a negyedelőfák osztályában. Mindössze itt annyi történik, hogy (maradva a két dimenziónál) a téglalap alakú teret négy darab egyenlő téglalapra bontja, majd ezt az altereken folytatja, ha szükséges. Ha fában írjuk fel ez úgy látható könnyen, hogy minden csúcsnak vagy pontosan négy darab gyereke van, vagy pedig nulla. Az ábrán látható, hogy kiindulásképp a tér négy különböző részre lett bontva (0; 1; 2; 3), de csak a 1-el jelzett tér lett továbbontva, és így tovább. Egy egyszerű felhasználása lehet például a 3.2 es pontban említett rasztergrafikus modell előállításánál. Itt ugyanis addig kell tovább osztani az adott csúcsot, még minden egyes egy területbe tartozó pixel nem ugyanolyan színű. -8-

4.3. K dimenziós fa (K-D Tree) [5] A K dimenziós fa egy olyan adatstruktúra, ami pontok rendezését tudja biztosítani K dimenziós térben. Egy olyan bináris fa, ahol minden csúcs egy K dimenziós pont. Minden nem levél csúcs elképzelhető úgy, mint egy implicit generált hasító hipersík, ami a teret két, úgynevezett fél-térre osztja. Ettől a hipersíktól balra eső részeket reprezentál a bal részfa, a jobboldaliakat pedig a jobb részfa. A legegyszerűbb úgy tekinteni rá, hogy annyiban különbözik a bináris fától, hogy minden mélységi szinten (K, dimenzió) más attribútum különbséget vizsgálunk. Ahogyan az ábrán is látszik K=2 re, például minden második szinten az Y, illetve minden első szinten az X koordinátát hasonlítjuk csak össze, ezzel hatalmas lépéselőnyt szerezve a többi keresőfával szemben. Viszont a felhasználása nem széleskörű, ugyanis például egy jól párhuzamosított pontnegyedelő fa is eléri ugyanezt a műveletigényt. 5. Indexstruktúrák [6] [7] Az indexstruktúrák megértéséhez tegyük fel, hogy az adatok egy speciális adatszerkezetben (index) helyezkednek el (Kulcs, Érték) párokként reprezentálva, valamint egy egyértelmű rendezés van a kulcsok között definiálva, amin keresztül történhet a keresés, majd egyértelmű megfeleltetéssel megkapjuk az adott keresett értéket. Az indexelés szerepe a hagyományos adattípusú oszlopokkal rendelkező táblák esetén a lekérdezések gyorsabb végrehajtása. Nézzük meg először, hogy egy hagyományos lekérdezést hogyan tud gyorsabbá tenni az index. Egy tipikus lekérdezés (ami lehet egy bonyolultabb lekérdezés része is) a következőképpen néz ki: SELECT * FROM tábla1 WHERE oszlop1 = K1; Ha nincs indexünk a táblára, akkor az összes sort be kell olvasnunk, és el kell végeznünk rájuk az összehasonlítást az oszlop1 értéke és K1 között. Az index egy olyan speciális adatszerkezet, amelyben gyorsan meg tudunk találni egy K1 kulcsértéket -9-

(ami akár többször is előfordulhat), majd a kulcsértékről mutatók segítségével gyorsan el tudunk jutni azokhoz a táblabeli sorokhoz, amelyek ezzel a kulcsértékkel rendelkeznek. Ezek után már csak ezeket a sorokat kell beolvasnunk. A leggyakrabban használt indextípusok a hasítótáblák, multidimenziós indexek, gridek, bitmap indexek és speciális fastruktúrák. A következő pontokban 1-1 érdekesebb fastruktúrás indextípus kerül bemutatásra. Fontos megjegyezni, hogy bármely D dimenziószámra értelmezhetőek a struktúrákba rendezett algoritmusok, viszont most csak a D=2 esettel foglalkozunk bővebben. 5.1. Negyedelőfa (Quadtree) A negyedelőfa index bemutatásához el kell képzelnünk a keresendő (Kulcs, Érték) párokat úgy, mint egy derékszögű koordinátarendszer (X, Y) koordinátái alapján meghatározott pontokat. Így ennek az indexelésnek az alapja az, hogy a teljes területet, ahol az elemeink elhelyezkednek, felbontjuk egyre kisebb részekre (téglalapokra), majd ezekkel a kis részekkel közelítjük a pontot, vagy alakzatot. Így minél kisebbek a téglalapok, annál pontosabban meg tudjuk találni a keresendő pontot a koordináta rendszerben. A negyedelő eljárás során kapott téglalapokat rasztereknek nevezzük. A raszterek mérete lehet azonos vagy egymástól teljesen különböző a struktúrában tárolt értékek kulcsától függően. Meghatározható egy maximum, hogy mennyi pont (vagyis közel azonos (Kulcs, Érték) pár) férhet el egy bizonyos területen. Ha ezt a számot meghaladjuk az adatok beillesztésével, a területet negyedelni kell, ezzel új rasztereket létrehozva. -10-

Az ábrákon feltüntetett példában alkalmazottak életkora (X tengely, Age) és fizetése (Y tengely, Salary) látható egy koordináta rendszerben, ehhez használunk negyedelőfa indexelést. Mint látható, 50 és 100 év közötti alkalmazottaknak többnyire az adatok szerint 0$ és 200$ között mozog a fizetésük, így ezt a régiót tovább kell negyedelni. Hasonlóan a II. Negyedben lévő 0 és 50 év közötti dolgozók 200$ és 400$ közötti fizetésénél. Így a 12 adatnak 10 rasztert hoztunk létre. Természetesen ezt a koordinátarendszerbeli értékeket könnyedén át tudjuk alakítani faszerkezetű alakzatba, így teljes egészben megkapva a negyedelő fát. A legfontosabb szabály, hogy azok a pontok, ahol egy raszterben maximum megengedett számú darab van (jelen esetben ez a küszöbszám: 2) vagyis nem kell újra negyedelni felírhatóak a fa leveleiként. Összességében a negyedelőfa előnye az, hogy jobban lehet vele az alakzatokat közelíteni. Például ha nem pontbeli, hanem poligonreprezentációt nézünk, az alakzat több, különböző méretű rasztert is elfoglalhat, viszont így sokkal könnyebben és egyszerűbben megtalálható. Ehhez hasonlóan a pontbeli reprezentációnál is, ha egy adott pontot keresünk, elég az adott negyedet tekinteni, esetleg abban a negyedben is egy adott negyedet és így tovább. Nagy előnye még a struktúrának, hogy új adatok beszúrásánál nem kell az egész hierarchiát újraszervezni, csak a zsúfolttá vált rasztereket újra negyedelni. Sajnos ezekből az előnyökből következtethető, hogy nagy helyet igényel a tárolása, így a mentés-betöltésekkel kapcsolatos műveletigényeket sem lehet figyelmen kívül hagyni a negyedelőfa index struktúra esetében. 5.2. R-fa (Region-tree) Az R-fa működésének alapelve a hasonló alakzatok csoportosításáról szól. Később ezeket a hasonló (vagy egymáshoz közeli) alakzatokat a negyedelő fához hasonlóan közös téglalapokba foglaljuk, azonban itt a téglalapok alakja is különböző lehet. Sőt, nem kell kötelezően az egész alapterületet lefedni, tehát lehetnek olyan területek is, ahová nem terjed ki egyetlen téglalapnak a területe sem. A behatároló téglalapok segítségével az indexelt keresés gyorsasága nagyságrendekkel nőhet, ugyanis minden -11-

döntési pontnál (benne van-e az adott téglalapban az eredmény?) egy jelentős mennyiségű átnézendő területtől szabadulunk meg. Például az ábrán könnyedén látható, ha az E alakzatban lévő adatot keressük, először a keresési tér alig több mint felét tartalmazó T vel jelölt részébe indul a query, utána pedig ennek a résznek kevesebb, mint felét elfoglaló P vel jelzett részébe. Így szemmel látható egyaránt a keresés közben bejárt útvonal is, és az a tény is, hogy ez az út költségét tekintve minimális volt a kihagyott területek nagysága miatt. Általános esetben a keresés a következőképp működik: Ha a gyökércsúcs nem tartalmazza, amit keresünk, akkor egyik gyerek sem, így véget ér az algoritmus. Ellenkező esetben, abba a gyerekbe lépünk, amelyik tartalmazza, és így folytatódik tovább. Ezután már csak két dolog történhet: Vagy levélszintre jutottunk, így sikeresen megtaláltuk a keresett pontot (alakzatot, poligont), vagy pedig olyan helyre érünk, hogy bár a szülő csúcs tartalmazza az általunk keresett értéket, viszont egyik gyereke sem. Ebben az esetben a keresett pont alakzaton kívül helyezkedik el, és a gyökércsúcs alakzatával közelíthető a legjobban. A bemutatottak alapján egyértelműen látható, hogy a keresés nagyon hatékony, viszont speciális esetekben (például poligonreprezentációt alkalmazva szabálytalan alakok esetén) az adott eredmények nem pontosak, az algoritmus lassú. Dinamikusan változó adatokhoz a struktúra nehezen alkalmazkodik, egy-egy új elemmel a befogó négyzetháló átalakításra szorul, ami továbbgyűrűzhet az egész struktúrán. Ezeket a hátrányokat próbálta kijavítani az előző pontban ismertetett Negyedelőfa. -12-

Irodalomjegyzék [1] ESRI Magyarország Kft. A térinformatikáról röviden http://www.esrihu.hu/esri-fooldal/a-gis-rol-roviden.html Letöltés dátuma: 2013.12.31. [2] ELTE Térinformatikai Műhely Térinformatika(GIS) http://gis.elte.hu/terinformatikagis Letöltés dátuma: 2013.12.31. [3] ESRI ArcGIS desktop help: GIS data structure types http://webhelp.esri.com/arcgisdesktop/9.1/index.cfm?id=69&topicname=gis%20dat a%20structure%20types&rand=843&pid=63 Letöltés dátuma: 2013.12.31. [4] Hanan Samet - The Design and Analysis of Spatial Data Structures [5] Wikipedia k-d tree http://en.wikipedia.org/wiki/k-d_tree Letöltés dátuma: 2013.12.31. [6] Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom DATABASE SYSTEMS The Complete Book, Second Edition [7] dr. Nikovits Tibor Térinformatikai adatbázisok gyakorlat oktatási segédanyagai http://people.inf.elte.hu/nikovits/terinfo/ Letöltés dátuma: 2013.12.31. -13-