2 A Map adatkezelői funkciói

Az előző fejezetben rövid áttekintést adtam a Map térképkezelő lehetőségeiről. A lehetséges funkciók tárháza természetesen sokkal bővebb, mint ami a segédlet kereteibe beleférhet, de a legjellemzőbb - és a térinformatikai alkalmazás szempontjából legfontosabb - eszközökkel mindenképpen foglalkoznunk kellett.

Ebben a fejezetben a Map adatkezeléssel kapcsolatos lehetőségeit szeretném áttekinteni. Ezekre a parancsokra a korábbiakban már többször hivatkoztam, hiszen a rajzi funkciók tárgyalásánál se lehetett őket kihagyni vagy kikerülni. Most azonban sok olyan eszközre és parancsra is sor fog kerülni, amelyeket az eddigiekben még nem említettem.

Mit is értünk adatkezelésen a Map-ben ? A megfogalmazás, illetve a fenti cím igazából nem elég pontos, hiszen mindaz, amiről az előző fejezetekben szó volt, lényegében adatkezelés: a grafikus adatok kezelése volt. A továbbiakban azokkal az adatokkal szeretnénk részletesebben foglalkozni, amelyek jellegükben nem grafikusak, de a rajzi-térképi állományhoz szorosan hozzátartoznak. Ezek egy része külön tevékenység nélkül is rendelkezésünkre áll, hiszen része magának a rajznak (pl. a fólia, vonaltípus, szín, terület, stb.), a többit pedig a megfelelő parancsokkal tudjuk hozzákapcsolni (pl. objektumadat, régebbi elnevezéssel attribútum). A lekérdezések használatával az objektumadatok tárolt értékei alapján visszakereshetők a rajzi objektumok.

A fejezet további részében megismerkedünk az objektumadatok használatával, a lekérdezések segítségével elérhető megjelenítésekkel, a külső adattábla csatolásának és használatának előnyeivel és hátrányaival, az SQL nyújtotta sokoldalú lehetőségekkel.

2.1 Az objektumadatok használata

Az AutoCAD Map programmal két módszert használhatunk az objektumokhoz kapcsolódó szöveges információk tárolására. Az ilyen adatokat tárolhatjuk objektumadatként magában a rajzi állományban, valamint elhelyezhetjük őket egy külső, SQL adatbázisban. A két módszer közül a rajzi adattárolást az alábbi esetekben célszerű választanunk:

Az előbbiek alapján könnyen kitalálható és megfogalmazható, hogy mely esetekben célszerű az adatokat külső adatbázisban tárolni. A könnyebb áttekinthetőség érdekében azért foglaljuk ezeket az indokokat is össze:

Az AutoCAD Map program az objektumadatokat un. objektumadat táblában tárolja. A tábla minden egyes rekordja egy-egy rajzi objektumhoz kapcsolódik. Az adott objektumhoz rendelt értékek a tábla mezőiben tárolódnak. Az objektumadat táblák számára és a bennük tárolható adatmennyiségre nincs korlátozás, ezek mérete csak az előzőekben leírtak miatt érdemel figyelmet. Az objektumadat objektumhoz kapcsolásakor egy adott objektumhoz egy meghatározott tábla új rekordja kerül. A tábla létrehozásakor felhasznált lehetőségeknek megfelelően ennek a rekordnak a mezői tartalmazhatnak alapértelmezés szerinti értéket is, amely persze szükség esetén bármikor átírható vagy módosítható. Ugyanahhoz a rajzi objektumhoz több, ugyanabból vagy különböző táblából származó rekord is csatolható.

2.1.1 Objektumadatok definiálása

Az objektumadatok létrehozása két lépésből álló folyamat:

Az első lépés végrehajtásához előbb meg kell tervezni a megfelelő adatszerkezetet, majd ennek megfelelően létre kell hozni az objektumadat táblát. A Map menüből válasszuk ki az Object Data (objektumadat) almenü Define Objekt Data (objektumadatok megadása) parancsát vagy nyomjuk meg az eszközsávon a ikont (2.1 ábra). A megjelenő párbeszédablakban válasszuk a New Table (új tábla) nyomógombot, ennek megnyomása után a 2.1 ábrán látható további ablak jelenik meg előttünk. Ennek segítségével adhatjuk meg a tábla mezőinek tulajdonságait. Először a Table Name (tábla neve) mezőbe írjunk be egy kifejező és egyedi nevet az objektumadat tábla azonosítására. A név szóköz karaktert nem tartalmazhat. Ezt követően a Field Definition (mező meghatározása) területen töltsük ki a Field Name (mezőnév), Type (adattípus), Description (leírás) és a Default (alapértelmezés) mezőket a megfelelő adatokkal. Az adattípus listának négy lehetséges értéke van, ezek: Integer (egész), Character (karakter), Point (pont) és Real (valós), ezek értelmezése a szokásos. A mezők kitöltését az Add (hozzáad) gomb megnyomásával zárjuk, ekkor a megadott mező felkerül az Object Data Fields (objektumadat mezők) területre. A hibásan felvitt mezők külön-külön vagy mindegyik egyszerre törölhetők a Delete vagy a Delete All nyomógombok segítségével.

2.1 ábra Objektumadat megadás párbeszéd ablakai

Az objektumadat tábla módosítása a Define Object Data párbeszédablak Modify (módosítás) nyomógombjával történhet, ekkor a Table (tábla) mezőben kiválasztott objektumadat tábla mezői módosíthatók az előbbiek szerint.

2.1.2 Objektumadatok objektumokhoz kapcsolása és leválasztása

Az objektumadat tábla létrehozása után következik az objektumokkal való kapcsolat kiépítése. Az AutoCAD Map program az objektumadat alapértelmezését minden kijelölt objektumhoz hozzákapcsolja, majd egyesével kiemeli őket, hogy szükség esetén az értékeket módosítani lehessen. Egy objektum egyidőben több objektumadat táblával is kapcsolatban lehet. Ha a kapcsolatra már nincs szükségünk, a leválasztás is megoldható.

Az objektumadat tábla és az objektumok összekapcsolásához válasszuk a Map menü Objeck Data (objektumadat) almenüjéből az Attach/Detach Object Data (objektumadat csatolása/leválasztása) pontot vagy nyomjuk meg az eszközsávban a ikont (2.2 ábra). A Table (tábla) listából válasszuk ki a kapcsolni kívánt táblát, majd ha szükséges, az Object Data Field (objektum adat) listán szereplő mezők értékeit a Value (érték) területen beállíthatjuk annak érdekében, hogy a kijelölt objektumokhoz ezt az értéket hozzárendelhessük. Az Action (művelet) területen az Attach to Objects (objektumok csatolása) gomb megnyomása után jelölhetjük ki a megjelenő térképen a csatolni kívánt objektumokat. Amennyiben az Overwrite (felülír) jelölőnégyzet aktív, akkor a kijelölt objektumokhoz korábban hozzárendelt értékek felülíródnak, ellenkező esetben az új értékeket hozzáadja a program a meglévőkhöz.

2.2 ábra Objektumadat tábla objektumokhoz kapcsolása

Az objektumadatok leválasztása az előbbiekhez hasonlóan történik, csak most értelemszerűen a Detach from Objects (objektumokról leválasztás) nyomógombot kell kiválasztanunk. Arra is lehetőségünk van, hogy az objektumokról csak a hozzájuk kapcsolt adatok egy részét válasszuk le, ilyenkor az Object Data Field területen kell kijelölni a leválasztásra váró mezők neveit.

Az objektumadatok szerkesztésével kapcsolatosan fontos tudni, hogy amennyiben egy objektumadattal rendelkező objektumot több részre törünk vagy vágunk, akkor az objektumadat tábla csak ahhoz az elemhez marad hozzákapcsolva, amelyiknek a kezdőpontja az eredeti kezdőponthoz közelebb esik vagy azzal megegyezik. Az objektumadattal rendelkező objektum másolásakor az objektumadat teljes egészében másolásra kerül.

2.1.3 Objektumadatok szerkesztése

Az objektumadatokkal természetesen műveletek is végezhetők. Az objektumokhoz kapcsolt adatok módosíthatók, eltávolíthatók vagy további objektumokhoz csatolhatók. A műveletek elvégzéséhez rajzszerkesztői jogosultsággal kell rendelkezni az Autodesk Map programban.

A szerkesztés elvégzéséhez nyomja meg az eszköz sáv ikonját vagy válassza ki a Map menü Object Data almenüjéből az Edit Object Data (objektumadat szerkesztése) parancsot (2.3 ábra). A Table (tábla) listából keressük ki a kívánt objektumadat tábla nevét, majd a Select Object (objektum választás) nyomógombbal jelöljük ki sorba a módosítandó objektumokat. Az Object Data Field (objektumadat mező) területen mutassunk rá arra a mezőnévre, amelynek a tartalmát módosítani szeretnénk, majd a Value (érték) területre írjuk be az új értéket. Az Enter billentyű megnyomásával ez az érték bekerül az objektumadat táblába, a kijelölt objektum adataként. Az eljárást további mezőkre, illetve újabb objektumokra folytathatjuk a fentiek szerint.

2.3 ábra Objektumadatok szerkesztése párbeszéd ablak

Az Insert Record (rekord beillesztése) nyomógombbal egy újabb adatrekord fűzhető hozzá a kijelölt objektumhoz. Ilyenkor a Record# területen a 2/1, 3/1 stb. felirat jelzi az objektumhoz csatolt rekordok számát, illetve az éppen szerkesztés alatt álló sorszámát. A Delete Record (rekord törlése) nyomógombbal az aktuálisan kijelölt objektumból a megadott sorszámú rekord törlődik.

2.1.4 Objektumadatok használata lekérdezésben

Az objektumokhoz csatolt adatok jól használhatók lekérdezések létrehozásához. A lekérdezésekkel részletesebben a 2.2 fejezetben foglalkozom, most csak jelezni szeretném, hogy a lekérdezés megadásánál a Data (adat) területen tudjuk maghatározni a keresett objektumok adatait.

2.2 Lekérdezések

Az AutoCAD Map program használatánál szét kell választani a rajzszerkesztési és a térinformatikai funkciókat. A rajzszerkesztéshez mindazok a parancsok felhasználhatók, amelyeket az AutoCAD 14-es verziója ismer. Ezekről a megfelelő kézikönyvekben lehet ismereteket szerezni. A rajzszerkesztés eredményeként kapott rajzokat a Map forrásrajznak nevezi. A forrásrajzokból egy konkrét alkalmazáshoz tetszőleges számú lehet hozzákapcsolva, ezek vagy aktív vagy passzív állapotban lehetnek. A térinformatika feladatok elvégzéséhez ezeket a forrásrajzokat, illetve egy meghatározott részüket át kell másolnunk a munkatérbe, ahol velük a kívánt feladatok elvégezhetők. A kinyerhető objektumhalmazok megadásához felhasználhatók a belső és a külső adatállományok információi is. Az adatok ilyen módon történő átvitele a munkatérbe az AutoCAD Map szóhasználatával a lekérdezés.

A lekérdezés megadásánál az objektumok kiválasztásának a feltételeit tudjuk meghatározni. A feltételeknek négy különböző típusa van, ezek külön-külön és egymással kombinálva is használhatók a lekérdezés létrehozásánál. A négy típus az alábbiak szerint foglalható röviden össze:

A lekérdezés a benne megfogalmazott egyszerű vagy összetett feltételeknek megfelelően átvizsgálja az aktív forrásrajzi állományokat, kiválasztja belőlük a feltételeknek eleget tevő rajzi elemeket, és az így kinyert objektumokat átmásolja a munkatérbe, ahol az eredmény megtekinthető vagy további elemző munkához felhasználható.

A továbbiakban tekintsük át kicsit részletesebben - de ismételten csak a teljesség igénye nélkül - a lekérdezések létrehozásának főbb lépéseit és lehetőségeit.

2.2.1 Lekérdezések létrehozása

A lekérdezés megadásához nyomjuk meg az eszközsáv ikonját vagy válasszuk ki a Map menü Querry (lekérdezés) almenüjéből a Define Querry (lekérdezés megadása) parancsot (2.4. ábra). A megjelenő párneszéd ablakban előbb határozzuk meg a lekérdezés feltételeit. A Querry Type (lekérdezés típusa) területen válasszunk a Location (hely), a Property (tulajdonság), a Data (adat) és az SQL lehetőségek közül. Az egyes lekérdezések összekapcsolására használjuk az And (és), az Or (vagy) illetve a Not (nem) operátorokat. Ezek a logikai operátorok a következő feltételnek az előzőekhez való viszonyát határozzák meg. A lekérdezés típusa opciókat a Map az alábbiak szerint értelmezi:



2.4 ábra Lekérdezés létrehozása párbeszéd ablak

2.5 ábra Hely szerinti lekérdezés megadása

lehetőségek közül egyszerre egy választható ki, de természetesen az utasítás ismételt meghívásával a feltételek itt is összekapcsolhatók. A Boundary Type (határ típusa) opciók közül választhatjuk az All (mind), a Buffer Fence (sáv), a Circle (kör), a Fence (felfűz), a Point (pont), a Polygon (poligon), a Polyline (vonallánc) és a Window (ablak) lehetőséget. A Selection Type (választás típusa) területen jelöljük meg az Inside (belül) illetve a Crossing (metsz) opciók egyikét az elemek kiválasztásának szabályozására. Ezt követően kattintsunk a Define (megad) nyomógombra és a megjelenő rajzi ablakban határozzuk meg a választásunknak megfelelő rajzterületet. A kijelölést az AutoCAD-ben megismert módon végezhetjük el.

2.6 ábra Tulajdonság szerinti lekérdezés megadása

2.7 ábra Adat szerinti lekérdezés párbeszéd ablaka

Az előző három párbeszéd ablakban elvégzett beállítások eredménye a Define Querry párbeszéd ablak tartalmát a 2.8 ábrán látható módon változtatja meg.

2.8 ábra A lekérdezési feltételek beállítása

Az így összeállított lekérdezés a földrészleteket és a rajtuk található épületeket tartalmazó mintaterületen a 2.9 ábrán látható kiválasztást eredményezi. Az ábrán látható kört külön utasítással hívtam a képre, csak az a szerepe, hogy jelezze a lekérdezésben szereplő hely feltételt.

2.9 ábra összetett lekérdezés eredménye

2.2.2 Lekérdezések szerkesztése és futtatása

A létrehozott lekérdezésekben a lekérdezési feltételek utólag is módosíthatók, de nem lehet megváltoztatni a lekérdezés típusát (hely vagy tulajdonság, stb.). Ha erre is szükségünk lenne, csak a feltétel letörlésével és újra definiálásával tudjuk ezt elérni. A feltételekben szereplő logikai operátorok módosítása azonban lehetséges.

A lekérdezés szerkesztése parancsot ugyanúgy kell aktivizálni, mint a lekérdezés létrehozását, vagyis ezt az utasítást is a Define Querry (lekérdezés megadása) párbeszédablak vezérli. Ebben az utoljára létrehozott lekérdezés adatai és paraméterei jelennek meg. A módosításra váró feltételt jelöljük ki a Current Querry (aktuális lekérdezés) listán és nyomjuk meg az Edit (szerkeszt) gombot. A Map megjeleníti a kiválasztott feltételnek megfelelő típusú párbeszédablakot, ahol a feltétel módosítása elvégezhető. Például a hely szerinti feltétel módosításánál a Show (mutat) nyomógomb a képernyőn megjeleníti a korábban beállított feltétel szerinti határvonalat. A javítás elvégzése után az OK nyomógombbal rögzíthetjük a változásokat. A logikai operátor módosításához a Current Querry területen válasszuk ki azt a feltételt, amelyben módosítani szeretnénk az operátort. Kattintsunk az Edit gombra, majd ezt követően nyomjuk meg az OK gombot. Az operátor módosított értéke megjelenik a Current Querry területen.

A definiált lekérdezések végrehajtása három üzemmódban végezhető el. Ennek meghatározása a Querry Mode (lekérdezés módja) területen a megfelelő rádiógomb megnyomásával végezhető el. Az egyes üzemmódok hatása a következő:

A lekérdezés feltételeinek eleget tevő objektumok tulajdonságai, úgymint szín, vonaltípus, vagy a vonallánc vastagsága, stb., valamint a csatolt szövegek jellemzői a munkatérbe történő bemásolás során úgy változtathatók meg, hogy ez a változás az eredeti forrásrajzot nem módosítja. A változtatás elvégzését a Define Querry párbeszéd ablak Alter Properties (tulajdonság megváltoztatása) nyomógombjával hívhatjuk be (2.10 ábra). A Select Property (tulajdonság kiválasztása) területen jelöljük be az elsőként megváltoztatni kívánt tulajdonságot. Az Expression (kifejezés) ablakba


2.10 ábra Tulajdonságok módosítása lekérdezés során

írjuk be a megváltoztatásra szánt tulajdonság értékét. A beírás helyett megnyomhatjuk a Values (értékek) gombot is, ekkor a megjelenő listából választhatjuk ki a kívánt értéket. Az adatok megadása után nyomjuk meg az Add (hozzáad) gombot, ekkor a beállítás felkerül a Current Property Alteration (aktuális tulajdonság változtatások) területre. Minden egyes további tulajdonság megváltoztatásához a fentiek szerint járjunk el, majd befejezésül nyomjuk meg az OK gombot. A lekérdezés végrehajtásához a Define Querry párbeszéd ablakban kattintsunk az Execute Querry nyomógombra. A fenti példának megfelelő lekérdezés módosított eredménye a 2.11 ábrán látható.

2.11 ábra Lekérdezés eredménye a tulajdonságok módosítása után

2.2.3 Lekérdezések elmentése

A létrehozott lekérdezés mindaddig aktív marad és megőrződik, amíg egy újabbat nem hozunk létre. így módosítása vagy bővítése bármikor elvégezhető és a módosított lekérdezés ismételten végrehajtható. Ha azonban egy lekérdezés helyett egy teljesen újat szeretnénk előállítani úgy, hogy közben az előző lekérdezés beállításai ne vesszenek el, akkor ehhez a lekérdezések elmentésére van szükségünk. A Map rendelkezésünkre bocsátja ezt a parancsot, így a mentésnek és a későbbi betöltésnek nincs akadálya.

A Define Querry párbeszéd ablakban a lekérdezés létrehozása után válasszuk a Save (mentés) nyomógombot (2.12 ábra). A lekérdezések kategóriákba sorolhatók, ezért első lépésként a Category (kategória) listából válasszunk egy korábban létrehozott kategóriát vagy hozzunk létre egy újat a New Category (új kategória) gomb megnyomásával. A Name (név) és a Description (leírás) mezőket töltsük ki úgy, hogy a lekérdezés nevének teljesen egyedinek kell lennie még különböző kategóriák használata esetén is. A Save to External File (mentés külső fájlba) opció kiválasztásával egy tetszőleges könyvtárba és fájlba menthető a lekérdezés. A File Name (fájl név) mezőbe közvetlenül beírhatjuk a fájl nevét és elérési útját vagy a Browse (tallóz) nyomógombbal válogathatunk a meghajtók és a könyvtárak között. A Save Options (mentési opciók) területen számos beállítási lehetőséget kínál fel a Map a lekérdezések elmentéséhez és későbbi azonosításához. A mentés elvégzésére az OK gomb megnyomása után kerül sor.

2.12 ábra Lekérdezés elmentése párbeszéd ablak

2.2.4 Elmentett lekérdezések használata

A belsőleg elmentett lekérdezések utólag betölthetők, átdolgozhatók és végrehajthatók. A külsőleg elmentett lekérdezések közvetlenül nem tölthetők be, mivel a formátumok AutoLisp (ez a fájl viszont végrehajtható az AutoLisp környezetben, ott átszerkeszthető, módosítható és futtatható). A külsőleg elmentett lekérdezések a Map menü Querry almenüjének Run External Querry (külső lekérdezés futtatása) parancsával hajthatók végre (2.13 ábra).

A belső lekérdezések betöltéséhez hívjuk meg a Map menü Querry almenüjének Run Querry (lekérdezés futtatása) parancsát (2.13 ábra).

2.13 ábra Belső és külső lekérdezés futtatása

A Category (kategória) listából válasszuk ki a megfelelő nevet majd a Querries (lekérdezések) területen válasszuk ki a végrehajtandó lekérdezés nevét. A Run Querry (lekérdezés futtatása) nyomógombbal intézkedhetünk a lekérdezés betöltéséről és egyidejűleg a végrehajtásáról is. Akár belső, akár külső lekérdezést hajtottunk végre, a Define Querry ablakben ettől kezdve ez a lekérdezés számít aktuálisnak és szerkeszthető vagy módosítható a tartalma.

2.3 Munka külső adatbázisokkal

Az AutoCAD Map programból a külső adatbázisban tárolt adatok könnyen elérhetők és felhasználhatók a különböző lekérdezések vagy leválogatások összeállításához. Ennek elvégezhetőségéhez a külső adatbázisban tárolt adatokat össze kell kapcsolnunk a rajzi objektumokkal, ezt követően már használhatjuk őket a lekérdezésekben.


Objektumadat

Külső adatbázis adat

Kezelhetőség

Egyszerű a használata

összetettebb: konfigurálás, SQL szintaxis. Több előkészületet és karbantartást igényel

Elem és szöveg csatolása

Az objektumok nem választhatók el a kapcsolódó adattól

Az objektum és az adat közötti csatolás törölhető az adat elvesztése nélkül

Lekérdezések

Csak egyszerű lekérdezések

Bonyolult lekérdezések is lehetségesek

Fájlzárolás

Csak olvasható fájlokkal

Az adatokhoz egyidejű hozzáférés biztosítható több felhasználónak is

DWG rajzméret

Növekedés

Nagyon kicsi növekedés: a csatolás az objektumokkal

Adatkezelési követelmények

Karbantartás és biztonsági másolat a DWG fájlban

Karbantartás és biztonsági másolat a DWG fájlban és az adatbázis fájlokban

Adathozzáférés

Csak kapcsolt térképek

Az összes térkép adataihoz kapcsolható. A Map program nélkül is szerkeszthető

Adatszerkezet

Egyszerű: egész szám, valós szám, sztring vagy koordináta

Változó: numerikus, sztring, dátum, logikai, szabad-formátumú, memo

Adatmegosztás

Csak AutoCAD, ADE és AutoCAD Map

AutoCAD, AutoCAD Map és bármelyik adatbázis-kezelő rendszer

2.1 táblázat Az objektumadat tábla és az adatbázis előnyei és hátrányai

Az adatbázisok, adattáblák fogalmával a jelen segédletben nem kívánok foglalkozni, a szükséges ismeretek az irodalomjegyzékben is szereplő vagy más művekből megtudhatók. A továbbiakban az Access programmal létrehozott és feltöltött adattáblákat fogok használni, de a Map lehetőséget ad a DBase, az Oracle vagy az ODBC felületen keresztül bármely más, relációs adatbázishoz való hozzáféréshez. Az adatbázis-tábla sorait a továbbiakban rekordnak, az oszlopait attribútumnak, a sor és oszlop találkozásánál található adatot pedig mezőnek fogom nevezni.

Mielőtt a konkrét tevékenységeket ismertetném, szólni kell egy pár szót az objektumadat tábla és a külső adatbázis használatához kapcsolódó előnyökről és hátrányokról. A 2.1 táblázatban foglaltam össze a kétfajta adatkezelési módszerrel kapcsolatos észrevételeket. A táblázatban felsorolt megállapítások segítenek annak eldöntésében, hogy egy konkrét alkalmazásban a belső objektumadat táblát vagy külső adatbázis kapcsolatot érdemes felépítenünk.

2.3.1 Adatbázisok csatolása és leválasztása

Mielőtt a külső adatbázisokkal bármilyen műveletet végeznénk, a használni kívánt adatbázis táblát hozzá kell kapcsolnunk a munkaterünkhöz. Az adatbázisok munkatérhez kapcsolásához válasszuk a Map menü Database (adatbázis) almenüjéből az Attach Database (adatbázis kapcsolása) parancsot (2.14 ábra). A Select Database Type (adatbázis típus választása) párbeszéd ablakban a Select Type of Database to Attach (a csatlakoztatni kívánt adatbázis típusa) területen jelöljük be annak az adatbázis-kezelőnek a típusát, amelyet használni kívánunk.

2.14 ábra Adatbázistípus kiválasztása

Az OK gomb megnyomása után a Map áttér a 2.15 ábrán látható Attach Database (adatbázis csatolása) párbeszédablakra, ahol megadhatjuk a kapcsolandó adatbázis tábla nevét. A lehetséges fájlok listájából csak azok jelennek most meg a képernyőn, amelyek a kiválasztott adatbázis-kezelő típusának megfelelnek. A csatlakozás elvégzéséhez az adatbázis tábla elérését biztosító jelszó megadására is szükségünk lehet, ezt a Connect to Environment (csatlakozás a környezethez) párbeszéd ablakban tehetjük meg.

2.15 ábra Adatbázis kiválasztása csatoláshoz

A memória felszabadításához lekapcsolhatjuk az éppen nem használt adatbázis táblákat úgy, hogy azok továbbra is a munkatérhez lesznek csatolva, csak ez a kapcsolat az újbóli felépítésig nem lesz aktív, így nem foglalja a memóriát. Ha egy adatbázis táblát már nem kívánunk használni, akkor véglegesen is leválaszthatjuk a munkatérről, ekkor újbóli eléréséhez ismét a munkatérhez kell csatolnunk.

Az adatbázis tábla lekapcsolásához a Map menü Database almenüjéből a Disconnect Database (adatbázis-kapcsolat megszüntetése) parancsot kell választanunk (2.16 ábra). A Select Database to Disconnect (adatbázis választás a kapcsolat megszüntetéshez) listáján jelöljük meg a lekapcsolandó adatbázis nevét, majd nyomjuk meg a Disconnect gombot.

2.16 ábra Az adatbázis lekapcsolás és visszakapcsolás párbeszéd ablakai

A visszakapcsoláshoz a teendők ehhez hasonlóak, csak most a Map menü Database almenüjéből a Connect Database parancsot kell aktivizálnunk (2.16 ábra). Mindkét esetben a Close (bezár) nyomógombbal fejezhetjük be a tevékenységünket.

2.3.2 Adatbázis táblák megtekintése

Az adatbázis csatolása után már lehetőségünk van a táblázatban tárolt adatok megtekintésére. Ehhez a Map menü Database almenüjének Browse Database (adatbázis böngészése) listájából válasszuk ki a Table (tábla) parancsot. A Database listából válasszuk ki az adatbázist, a Table listából pedig a megtekintendő tábla nevét. Az OK gomb megnyomása után a képernyőn megjelenik a kért adatbázis. A táblázat oszlopainak szélessége, a képernyőn megjelenő terület nagysága az egér segítségével átszerkeszthető, a 2.17 ábrán az átméretezett táblát láthatjuk.

2.17 ábra Adatbázis tábla megtekintése

A Data View (adatnézet) ablak önálló menüvel rendelkezik, amelyben parancsok sora segít bennünket az adattábla rendezésében, átméretezésében vagy a legmegfelelőbb nézetének megválasztásában. Ezeket a lehetőségeket most nem kívánom részletesebben tárgyalni, használatuk igen egyszerű és logikus.

2.3.3 Adatbázis rekordok csatolása rajzi objektumokhoz

Az adatbázis tábla előző pontban bemutatott megjelenítése alapján igen sok információhoz juthatunk a tábla tartalmáról, de a térinformatikai lehetőségek tárgyalása szempontjából számunkra az lenne az igazán hasznos, ha a rekordokat a rajzi objektumokhoz tudnánk kapcsolni, majd a különböző lekérdezésekben a tárolt információt felhasználva állíthatnánk elő a rajzi objektum megfelelő részhalmazát. Nos, a Map természetesen kiválóan alkalmas ennek a feladatnak az elvégzésére is.

Az adatbázis tábla rajzi objektumokhoz való hozzákapcsolásának első lépése a Link Path Name (csatolási útvonalnév) megadása. Ez az információ kapcsolja össze az adatbázis tábla egyik (kulcs) oszlopát a rajzi objektum azonosítójával. A rajzi objektum azonosítóját négy lehetőség közül lehet kiválasztani:

Fontos megjegyezni, hogy az utóbbi két esetben a blokknak és a szövegnek egy zárt vonallánc belsejében kell lennie. Nem elegendő tehát a határoló objektumok folytonos csatlakozása, csak a vonalláncok létezése esetén jön létre a kapcsolat. Ezért, amint azt a második példában látni fogjuk, a vonallánc létrehozásához szükségünk lesz némi kis trükk alkalmazására.

Az adatbázis tábla csatolásának két módját szeretném bemutatni példákon keresztül, természetesen most is csak egy-egy alapeset tárgyalásával. A már jól ismert, földrészleteket és helyrajzi számokat tartalmazó rajzunkkal fogunk dolgozni. Előbb a helyrajzi szám szöveghez kapcsoljuk hozzá a Telek adatbázis tábláját, majd ugyanezt az adatbázis táblát a földrészletekkel fogjuk összekapcsolni.

Az első példában csatoljuk a szokott módon a munkatérhez az állományt és végezzünk el egy hely szerinti kiválasztást az összes rajzi objektumra vonatkozóan. Majd csatoljuk a rajzhoz a Telek adatbázis táblát. Most következik a LPN (Link Path Name) létrehozása. Ehhez a Map menü Database almenüjéből válasszuk ki a Define Link Path Name (csatolási útvonalnév megadása) parancsot (2.18 ábra). A Database (adatbázis) és a Name (név) listákból válasszuk ki az adatbázis és a tábla nevét, majd a Link Path Name (csatolási útvonalnév) mezőbe írjunk be egy egyedi nevet a csatolás azonosításához. Egy adatbázis táblát több, egymástól különböző módon csatolhatjuk a rajzunkhoz, ezen csatolásokat különbözteti meg egymástól az itt megadott név. A Key Selection (kulcs kiválasztása) területen az adatbázis tábla oszlopai közül jelöljük meg azt, amelyik a kulcsa lesz a kapcsolatnak. Fontos, hogy olyan oszlopot válasszunk, amelynek az értékei különböznek egymástól, hiszen csak így töltheti be a kulcs szerepét. Ha ezt egy oszlop nem teljesítené, akkor több oszlop is megadható, de ebben az esetben a rajzi objektumnak is ilyen összetett kulcs-értékkel kell rendelkeznie. Az OK gomb megnyomásával a csatolási útvonalnév létrejön, és megjelenik a munkatér intézőben illetve az adatbázis megtekintésekor a Link Path Name listájában.

Miután megadtuk az LPN-t, következhet a kapcsolat létrehozása az adatbázis tábla és a rajzi objektumok között.

2.18 ábra Csatolási útvonalnév megadása

Válasszuk ki a Map menü Database almenüjéből a Generate Links (kapcsolat generálása) parancsot (2.19 ábra). A Linkage Type (kapcsolat típusa) területen a


2.19 ábra Csatolások automatikus létrehozása

Text (szöveg) opciót jelöljük be, a Data Links (adatkapcsolatok) területen pedig a Create ASE Links (ASE csatolások létrehozása) opciót. Ezzel a rajzi szövegeket kívánjuk összekapcsolni az adatbázis táblával. Az LPN listájából keressük ki az előző lépésben megadott csatolási útvonalnevet, ekkor a Key1 (kulcs1) területen megjelenik az adatbázis tábla kijelölt kulcs oszlopának a neve. Az ASE Link Validation (ASE csatolás ellenőrzése) területen a Link Must Exist (kapcsolatnak léteznie kell) opciót jelöljük be, amivel csak azokat a kapcsolatokat hozzuk létre, amelyek mind a két területen léteznek (a rajzban és az adatbázis táblában). Az OK gomb megnyomása után a megjelenő kérdésre az All (minden) választ adjuk, amivel az összes szöveg objektum kapcsolását kérjük a programtól.

Miután létrejött a kapcsolat, tekintsük meg ennek eredményét! Hívjuk be az adatbázis táblát és jelöljünk be rajta néhány olyan rekordot, amelyekhez kapcsolt rajzi objektumokat szeretnénk megtekinteni. A Data View (adatnézet) ablakban a Highlight (kiemelés) menüből válaszuk a Zoom Scale (zoom lépték) parancsot és adjunk meg a listából egy nagyítási értéket (2.20 ábra). A kijelölt objektumokat ilyen mértékben kinagyítva fogja a Map megjeleníteni a képernyőn. Ugyancsak a Highlight menüben jelöljük ki az Auto Zoom (automatikus zoom) opciót, ennek hatására a megtalált objektumokat automatikusan nagyítva jeleníti meg a program.

2.20 ábra

A Highlight menü Highlight Object (kiemelt objektumok) parancsának választása után a képernyőn megtekinthetjük azokat a szöveg objektumokat (szaggatott vonallal rajzolva), amelyeket az adatbázis táblában kiválasztottunk (2.21 ábra). A kapcsolat értelemszerűen fordítva is működik, ha a rajzon választunk ki szöveg elemeket, akkor a velük kapcsolatban álló rekordok az adatbázis táblában jelennek meg kiemelten (jelen esetben sárga színnel) (2.22 ábra). Amennyiben a kijelölésben bármelyik oldalon több elem is részt vett, akkor a nekik megfelelő elemeket egyenként is megtekinthetjük a Highlight menü megfelelő parancsaival.

2.21 ábra Adatbázis táblában kijelölt rekordok megjelenítése a rajzban

2.22 ábra A rajzban kijelölt rekordok megjelenítése az adatbázis táblában

A második példában az adatbázis táblát a földrészletek poligonjához szeretnénk hozzákapcsolni, hogy magukról a földrészletekről nyerhessünk információkat. Mivel a rajzi állományban a földrészletek határvonalait önálló vonal elemként hoztuk létre, az adatbázis kapcsolatot közvetlen módon nem tudjuk felépíteni. Ezért előbb a földrészletek határvonalát zárt vonalláncokká alakítjuk a korábban létrehozott Földrészletek topológia felhasználásával. Az így nyert objektumokkal a csatolás már elvégezhető. Az ehhez szükséges utasításokat tekintsük most át röviden.

A Map menü Map Tools (Map segédeszközök) almenüjéből válasszuk ki a Create Closed Polylines (zárt vonalláncok létrehozása) parancsot (2.23 ábra). A


2.23 ábra Zárt vonallánc létrehozása topológiából

Name (név) mezőben adjuk meg az átalakítandó topológia nevét, a Create on Layer listából pedig válasszuk ki annak a rétegnek a nevét, amelyre a létrejövő vonalláncokat szeretnénk elhelyezni. Az OK gomb megnyomása után az átalakítás eredménye a 2.24 ábrán látható, a vonalláncok rétegének zöld a színe.

2.24 ábra Topológiai objektumok átalakítása zárt vonalláncokká

Most már rendelkezésünkre állnak az adatbázis tábla és a földrészletek közötti kapcsolat kiépítéséhez a zárt vonalláncok, így nincs akadálya a parancs végrehajtásának. Most a Map menü Database almenüjéből a Define Link Path Name paranccsal létrehozunk egy új csatolási útvonalnevet, majd ennek felhasználásával a Generate Link (kapcsolat generálása) parancs értelemszerű, az előzőektől kicsit eltérő használatával hozzuk létre a kívánt kapcsolatot (2.25 ábra).

2.25 ábra Adatbázis tábla kapcsolása zárt szöveg objektumon keresztül

Ezek után az előzőekben leírt módon hajthatjuk végre a lekérdezést az adatbázis tábla elemeinek elhelyezkedésére vonatkozóan, és amint az a 2.26 ábrán megfigyelhető, a keresett objektumok most a földrészletek határvonalaival lesznek azonosítható, ezeket láthatjuk a rajzon szaggatott vonallal (kiemelten) megjelenítve.

2.26 ábra Adatbázis tábla kijelölt rekordjainak megtekintése a rajzban

2.3.4 Az SQL lekérdezések használata

Miután a külső adatbázis táblánkat összekapcsoltuk a rajzi objektumokkal, az aktuális visszamentési halmaz összes objektumát a hozzájuk tartozó csatolásokkal együtt mentsük vissza a forrásrajzunkba. Ezt a Map menü Save Back (viszamentés) almenüjének Save to Source Drawings (visszamentés a forrásrajzokba) parancsával végezhetjük el. Ezt követően már lehetőségünk van arra, hogy az adatbázisban ún. SQL lekérdezéseket hajtsunk végre. Az SQL (Structured Querry Language - strukturált lekérdező nyelv) segítségével egyszerű és összetett lekérdezéseket hozhatunk létre az adatbázis tábla tetszőlegesen kiválasztott oszlopainak tartalma alapján. Ezek a lekérdezések a korábban már tárgyalt másik három típussal együtt vagy önmagukban is használhatók a megjelenítendő objektumok halmazának kiválasztására.

Az előző fejezetben létrehozott második csatolás felhasználásával válogassuk most ki azokat a földrészleteket, amelyeken - az adatbázis táblában tárolt adatok felhasználásával megállapíthatóan - a beépítettségi százalék értéke nagyobb, mint 30 %, és vegyük hozzá ehhez a lekérdezéshez a terület összes épületét. A lekérdezés adatainak megadásához válasszuk ki a Map menü Querry almenüjéből a Define Querry parancsot. A szokásos párbeszéd ablakban előbb állítsuk be a Property területen az épület réteg megjelenését, majd az SQL nyomógombbal hívjuk meg az SQL lekérdezés összeállításához a párbeszéd ablakot és a Condition (feltétel) területen állítsuk be a megfelelő értéket (2.27 ábra).

2.27 ábra SQL lekérdezés összeállítása

A lekérdezés végrehajtása után kapott eredményt a 2.28 ábrán tekinthetjük meg. Fontos megjegyezni, hogy SQL lekérdezést csak a forrásrajz alapján lehet szerkeszteni, ezért volt arra szükség, hogy az előzőekben a Save Back utasítást végrehajtsuk: ennek eredményeként kerültek be a szükséges adatok a forrásrajzba.

2.28 ábra SQL lekérdezés eredménye