Tartalomjegyzék 0. Előszó 1. Bevezetés 1.1
A térinformatika feladata, a térinformatikai rendszerek felépítése
1.2
A MapInfo alapelve, alkalmazásának lehetőségei
2. A MapInfo kezelői felülete 2.1
Elindítás után
2.2
Menürendszer
2.3
Eszköztárak
2.4
A MapInfo elemei és kapcsolataik
2.5
Párbeszédpanelok és jellegzetes elemeik
3. A MapInfo-ban kezelt adatok 3.1
Táblák létrehozása és adatszerkezetük módosítása
3.2
Táblák megnyitása 3.2.1 MapInfo állományok 3.2.2 Egyéb közvetlenül kezelt állományok 3.2.3 ODBC táblák
3.3
Táblák feltöltése és adataik módosítása
3.4
Raszteres adatok kezelése 3.4.1 Raszteres állományok megnyitása 3.4.2 Raszteres kép regisztrálása (beillesztése, tájékozása) 3.4.3 Kép dinamikai jellemzőinek beállítása
3.5
Állományok exportálása
3.6
Állományok importálása
3.7
ArcLink
3.8
Universal Translator
4. A geometriai objektumok modellezése 4.1
Koordinátarendszerek és vetületek
4.2
Pontszerű (0D) objektumok 4.2.1 A pont vagy szimbólum
4.2.2 A szimbólum megjelenítési jellemzői 4.3
Vonalas (1D) objektumok 4.3.1 Egyenes szakasz (line) 4.3.2 Ellipszis ív 4.3.3 Vonal (Polyline) 4.3.4 Vonalas elemek megjelenítési jellemzői
4.4
Felületszerű (2D) objektumok 4.4.1 Ellipszis 4.4.2 Téglalap 4.4.3 Lekerekített sarkú téglalap 4.4.4 Felület (Region) 4.4.5 Felületszerű elemek megjelenítési paraméterei
4.5
Feliratok 4.5.1 A felirat 4.5.2 A felirat betűtípusának jellemzői
5. Lekérdezések, leíró adatok kezelése 5.1
Keresés leíró adatok alapján
5.2
Egyszerű lekérdezések
5.3
A MapInfo-ban alkalmazható kifejezések 5.3.1 A kifejezésekben használható operátorok 5.3.2 A kifejezésekben használható függvények 5.3.3 A kifejezések megszerkesztésére szolgáló ablak
5.4
Az objektumok geometriai jellemzőinek lekérdezése 5.4.1 Mértékegységekre való hivatkozás 5.4.2 Area 5.4.3 Perimeter 5.4.4 ObjLen 5.4.5 CentroidX, CentroidY 5.4.6 Distance
5.5
Lekérdezések SQL SELECT parancs segítségével 5.5.1 Select
5.5.2 From 5.5.3 While 5.5.4 Group by 5.5.5 Order By 5.6
Hasonló szövegek keresése
5.7
Geometriai objektumok közt alkalmazható logikai operátorok 5.7.1 Contains 5.7.2 Within 5.7.3 Contains Entire 5.7.4 Entirely Within 5.7.5 Intersect
5.8
Oszlopok kapcsolása más táblákból (Join)
5.9
Sorok hozzáfűzése
6. Browser ablakok 6.1
Browser ablakok jellemzői
6.2
Oszlopok megjelenítésének módosítása
7. Térképablakok 7.1
A térképablakok kezelése és általános jellemzői
7.2
A kozmetikai réteg
7.3
Vektoros rétegek és jellemzőik
7.4
Raszteres képek megjelenítése
7.5
Objektumok létrehozása (rajzolása) a térképablakban
7.6
Objektumok kijelölése a térképablakban
7.7
Térképi objektumok módosításának egyszerűbb esetei
7.8
Térképablakból való lekérdezést támogató eszközök 7.8.1 Info Tool 7.8.2 Vonalzó 7.8.3 Gyorsstatisztikák
7.9
Objektumok címkézése
7.10
Kivágatok használata a megjelenítés során
8. Tematikus térképek 8.1
A tematikus térkép rendeltetése
8.2
Tematikus térképek létrehozásának lépései és módosításuk
8.3
Egyedi megjelenítési paraméterek (Individual)
8.4
Fokozatos ábrázolás (Ranges)
8.5
Különböző méretű szimbólumok (Graduated)
8.6
Pontsűrűség (Dot Density)
8.7
Oszlopgrafikonok (Bar Chart)
8.8
Tortagrafikonok (Pie Chart)
8.9
Raszteres adatok generálása interpolálással (Grid)
8.10
Jelmagyarázat a tematikus rétegekhez
9. Grafikonok 9.1
A grafikon és kiegészítő elemei a MapInfo-ban
9.2
Grafikonok létrehozása
9.3
Grafikonok jellemzőinek módosítása
10. Térbeli nézetek (3D Map) 10.1
Térbeli nézet létrehozása
10.2
Térbeli nézet mozgatása
10.3
Lekérdezési lehetőségek
11. Elrendezések (Layout) 11.1
Az elrendezések rendeltetése
11.2
Az elrendezés jellemzői
11.3
Más ablakok tartalma, mint az elrendezés elemei
11.4
Díszítő jellegű elemek
12. Munkaterületek 12.1
Munkaterületek létrehozása és beolvasása
12.2
A munkaterületek tartalma
12.3
A munkaterület állományának felépítése
13. Szerkesztési műveletek 13.1
Egyszerűbb szerkesztések
13.2
13.1.1
Másolás és kivágás
13.1.2
Beillesztés
13.1.3
Törlés
13.1.4
Csak a geometriai elem törlése
13.1.5
Szerkesztés visszavonása
Összetett szerkesztések 13.2.1
Tárgy kijelölése és szerepe
13.2.2
A létrejövő objektumok leíró adatai
13.2.3
Egyesítés (Combine)
13.2.4
Darabolás (Split)
13.2.5
Kitörlés (Erase)
13.2.6
Kilógó részek törlése (Erase outside)
13.2.7
Metszéspontok beszúrása (Overlay Nodes)
13.3
Felületszerű és (zárt) vonalas objektumok közti konverzió
13.4
Vonalas objektumok képének simítása
13.5
Hatászóna (pufferzóna, övezet) generálás
13.6
Befoglaló konvex sokszög generálása
13.7
Egyesítés leíró adatok alapján
13.8
Pontok létrehozása leíró adatok alapján
13.9
Geokódolás
14. Beállítási lehetőségek 14.1
Rendszer beállítások (System Settings)
14.2
Térképablak beállításai (Map Window Preferences)
14.3
Indítási beállítások (Startup)
14.4
Címek szerkezete (Addres Maching)
14.5
Könyvtárak (Directories)
15. Egyéb lehetőségek 15.1
Digitalizáló tábla használata
15.2
GPS vevő használata
15.3
Új vetületek definiálása
15.4
Jelentések készítése Cristal Reports-szal
16. A telepítéssel kapcsolatos tudnivalók 16.1
A MapInfo régebbi verzióinak telepítése
16.2
A MapInfo 6.0 telepítése és regisztrálása
16.3
Külön telepítést igénylő kiegészítő modulok
17. Alkalmazásfejlesztés MapBasic-kel 17.1
MapBasic programok alkalmazásának lehetőségei
17.2
A MapBasic feladata és jellemzői
17.3
Fordítási direktívák
17.4
Változók
17.5
Elágazások és ciklusok
17.6
Alprogramok és függvények
17.7
Felhasználói felület kezelése
17.8
Leíró adatok kezelése
17.9
Térképi objektumok kezelése
17.10
Fejlesztési lehetőségek más programnyelveken
0. Előszó Jelen segédletet abból a célból kezdtem el írni, hogy a Jáky József Műszaki Szakközépiskola ötödéves térinformatikai technikus tanulóinak segítséget nyújtson a MapInfo megismerésében. Mivel a program elsajátítására bőséges időkeret áll rendelkezésünkre (háromhetente nyolc óra), célom elsősorban egy olyan kézikönyv megírása, melyben a tanulók utánanézhetnek az órán tanultaknak, és szükség esetén a feladatok végrehajtása során is segítségül vehetik. Azon célból, hogy a leírtak minél hamarabb eljussanak a diákokhoz, a segédlet elkészült részeit folyamatosan közzéteszem az Interneten. A munka során nem feltétlenül fogok fejezetek szerint sorban haladni, és könnyen elképzelhetőnek tartom azt is, hogy korábban megírt részeket módosítok, máshová helyezek át. Az anyag tanulmányozását nem csupán az ötödéveseknek, hanem a többi térinformatikus osztálynak is ajánlom. A közzétett részekkel kapcsolatos bármilyen észrevételt vagy ötletet örömmel fogadok az
[email protected] címen, vagy személyesen. Mivel a reményeim szerint elkészülte után nyomtatott formában is kiadott segédletet Wordben készítem, a HTML konverzió során kisebb hibák léphetnek fel, melyekért az olvasó szíves elnézését kérem.
1. Bevezetés 1. A térinformatika feladata, a térinformatikai rendszerek felépítése Ide még írnom kell valamit.
2. A MapInfo alapelve, alkalmazásának lehetőségei
A MapInfo egy vektoros térinformatikai rendszer. Ez azt jelenti, hogy alapvetően vektoros adatokkal végzendő műveletekre fejlesztették ki, bár a megjelenítés szintjén képes raszteres adatok kezelésére is. A térinformatikai rendszerek egyszerre valósítják meg a leíró és a geometriai adatok kezelését, ebből adódik, hogy programnak többek közt egy adatbázis kezelő eszközeivel is rendelkeznie kell a leíró adatok kezeléséhez. A MapInfoban (és a legtöbb hozzá hasonló szoftverben) ez a relációs adatbázismodell segítségével történik. Ennek lényege az, hogy az adatokat táblákba (relációkba) rendezzük. Ezen táblák egy oszlopa egy tulajdonságnak (attribútum), egy sora pedig egy egyednek fog megfelelni. A sorok és oszlopok metszésében lévő mezők tartalmazzák az adatokat, vagyis mondják meg azt, hogy egy bizonyos egyednek egy bizonyos tulajdonsága éppen mi. A programnak kezelnie kell tudnia még geometriai adatokat is. Ezt a MapInfo úgy oldja meg, hogy az objektum geometriáját, azt a vektoros adatot, mely az objektum térbeli elhelyezkedését és kiterjedését határozza meg, egy speciális mezőnek tekinti. (Erre a speciális mezőre a későbbiekben OBJ vagy OBJECT néven hivatkozhatunk.) Ezáltal az objektum geometriája és leíró adatai szorosan kötődnek egymáshoz, a felhasználónak nem kell a kettő közi kapcsolat megadásával törődnie. A fenti elvek egyszerű megoldást adnak a térképi és leíró adatok kapcsolására. Az egy táblában (az obj mezőben) található térképi objektumok összessége ad egy vektoros réteget. Ez nem teljesen azonos a táblával, de a MapInfo-ban szoros összefüggésben van vele. (Ellentétben sok más rendszerrel, ahol a réteg egy külön, önálló egység, melyhez ezt követően akár több relációs táblából is rendelhetünk attribútumokat valamilyen kulcs alapján.) A MapInfo egyszerűségének kulcsa, de egyszersmind komolyabb feladatokra való alkalmazásának nagyon sokszor hátráltatója, hogy a réteg és az (attribútum) tábla máshol jól elkülönülő fogalmát teljesen egybemossa. Ezzel gyakorlatilag teljesen elrejti a felhasználó, de még a MapBasic-ben fejlesztő programozó elől is a geometriai és a leíró adatok kapcsolásának máshol komoly problémáit. Természetesen a MapInfo-ban előfordulnak olyan táblák is, amelyek soraihoz nem tartozik geometriai elem.
2. A MapInfo kezelői felülete 1. Elindítás után A program elindítása után egy párbeszédpanel jelenik meg. Ebben négy lehetőség közül tudunk választani, vagy a Cancel gombra kattintva bezárhatjuk az ablakot. A legfelső lehetőség a legutóbbi munkaterület betöltése. A MapInfo szabályos kilépés esetén kilépés előtti állapotát a windows könyvtárban található mapinfow.wor állományba menti el, ennek megnyitására ad itt lehetőséget. A második lehetőség, hogy a legutoljára megnyitott munkaterülete nyitjuk meg ismét. A harmadik illetve a negyedik lehetőség, hogy egy munkaterületet vagy egy táblát nyitunk meg. Ilyenkor megjelenik egy szokásos párbeszédpanel, ahol ki tudjuk választani a kívánt állományt.
2. Menürendszer A MapInfo ablakának felső részén, mint azt már sok más programban megszokhattuk, egy menüsor található. Ennek a menüsornak vannak állandó elemei (File, Edit, Objects, Query, Table, Options,) és vannak olyan pontok, amelyek csak akkor jelennek meg, ha a munkaterületnek egy meghatározott eleme aktív. (Map, Browse, Graph, Layout, 3DMap) Ezekben az esetekben a menüből elérhető parancsok arra az elemre vonatkoznak, amelyik aktív. A fenti menüsoron túl létezek gyorsmenük, melyek akkor jelennek meg, ha valamelyik elem felett az egér jobb gombjával kattintunk. A menüben található parancsok a kérdéses elemre vonatkoznak, és nagy átfedést tapasztalhatunk köztük, és az elem aktív állapotában a menüsoron megjelenő pont között. A menüsorban MapBasic programok hatására újabb pontok tűnhetnek fel, esetleg meglévők tűnhetnek el.
3. Eszköztárak A MapInfo-ban eszköztárakat is találunk, melyek használata teljesen megegyezik a más programokban megszokottal. Az eszköztárak elhelyezkedhetnek közvetlenül a menüsor alatt, vagy lehetnek lebegőek,
amikor egy külön, szabadon mozgatható kis ablakban jelennek meg ikonjaik. A lebegő eszköztáraknak a méretét is tudjuk változtatni. A MapInfo-ban viszonylag kevés eszköztárral találkozunk. Ezek egyike a Tools eszköztár, amely az állományok kezelésével, alapvető szerkesztési funkciókkal valamint új elemek létrehozásával kapcsolatos funkciókat tartalmaz és alapértelmezésben a menüsor alatt található. Másik két fontos eszköztár a Main és Drawing, melyek alapvető rajzolási és térképszerkesztési eszközöket tartalmaznak, alapértelmezett helyzetben lebegőek és ikonjaik két gomb széles oszlopokba vannak rendezve. Ha később valamelyik gombra helyzetével hivatkozunk, akkor azt ebben az alapértelmezett elrendezésben kell érteni. Amennyiben a lehetőséget telepítettük, megjelenik a kezelőfelületen az ODBC eszköztár is. Ennek ikonjai a külső adatbázisok kezelésében nyújtanak majd segítséget. Természetesen MapBasic programok segítségével az eszköztárak is tetszőlegesen átalakíthatóak. Az eszköztárak jellemzőit az Options menü Toolbars pontjával tudjuk beállítani. Itt egy listában tudjuk szabályozni, hogy az egyes eszköztárak láthatóak, legyenek-e illetve ha láthatóak helyzetük lebegő legyen vagy a menüsor alatt helyezkedjenek el. Ugyanitt lehet beállítani még azt is, hogy a gombok színesek legyenek-e, illetve milyen legyen a színük.
4. A MapInfo elemei és kapcsolataik A MapInfo-ban minden, a program által kezelt adatállományt táblának hívunk, legyen az térképi elemekkel rendelkező vagy térképi elemek nélküli adattábla vagy akár raszteres állomány. A MapInfo minden további elemének közvetlenül vagy közvetve ezek a táblák lesznek a kiindulási alapjai. A lekérdezések sok szempontból hasonlítanak a táblákra. Több helyen, például további lekérdezések forrásaként is, gyakorlatilag ezekkel teljesen egyenértékűen alkalmazhatjuk őket. Létrehozásuk alapvetően az SQL SELECT parancsa szerint történik, de a program egyszerűbb lekérdezési lehetőségeket is nyújt. A MapInfo lekérdezései valahol a pillanatfelvételek és a nézettáblák között helyezkednek el, mert adataik követik a forrás változásait, de a szűkítési feltételek nem. A lekérdezések közt speciális helyet tölt be a kijelölt objektumok halmaza. Erre a Selected néven tudunk hivatkozni. Ez mindig egy meghatározott táblának tartalmazza azon elemeit, melyek kijelölt állapotban vannak. (Kijelölés mindig egyszerre csak egy táblából lehetséges!) Relációs táblák és lekérdezések leíró adatait Browser ablakokban jeleníthetjük meg. Egyszerre több ilyen ablak is nyitva lehet sőt, egy azonos táblához (lekérdezéshez) is tartozhat egyszerre több ilyen elem. A geometriai objektumokkal is rendelkező relációs táblákat és a raszteres táblákat térképablakokban tudjuk megjeleníteni. Ezekben a térképablakokban a fenti elemek mint rétegek (layer) fognak megjelenni. Természetesen itt is igaz, hogy egyszerre több térképablak is meg lehet nyitva. Egy tábla több helyen is szerepelhet rétegként, sőt ugyanabban a térképablakban is többszörösen lehet jelen. A fenti elemekhez kötődik egy speciális réteg, a Cosmetic Layer, amely ha több térképablak is van, térképablakonként különböző. Szintén a térképablakhoz kötődnek a tematikus rétegek. A kozmetikai réteghez hasonlóan ezek sem hívhatók be más térképablakokba mint rétegek, csak ott szerepelhetnek ahol létrehoztuk őket. A program lehetőséget kínál még grafikonok készítésére is. Ezek forrása valamilyen relációs tábla vagy lekérdezés lehet. Az eredmény a fentiekhez hasonlóan külön ablakban jelenik meg. Szintén külön ablakban jelennek meg a tematikus rétegek jelmagyarázatai. (Legend) A 6.0 verziótól lehetőségünk van a térképablak tartalmából térhatású nézete (3DMap) létrehozni. Ez bár mindig egy meghatározott térképablakból kiindulva jön létre, önálló ablakként jelenik meg. Abból a célból, hogy munkánkat nyomtatásra előkészítsük (bár az eddig felsorolt ablakok egyenként is kinyomtathatóak), a nyomtatandó elemeket egymáshoz, illetve a meghatározott méretű papírlaphoz viszonyítva elhelyezzük, a MapInfo lehetőséget kínál elrendezések létrehozására. Ezekben szerepelhet valamennyi eddig felsorolt ablak tartalma, sőt akár a későbbiekben bemutatásra kerülő segédeszközök ablakai is.
A fenti ablakok mindegyikére jellemző, hogy amennyiben éppen aktuálisak, akkor egy speciális, az ablak típusával megegyező nevű menüpont jelenik meg a menüsoron, melynek tartalma jelentős átfedést mutat az ablak gyorsmenüjével. A menü parancsai segítségével a kérdéses elemre vonatkozó művelteket és beállításokat tudunk elvégezni. Ezek mindig az éppen aktuális elemre vonatkoznak, azaz például több térképablak esetén csak az aktuális térképablakra! A MapInfo-ban számos segédeszköz áll rendelkezésünkre (Ruler, Info Tool, Legend, stb.) melyekhez szintén külön ablak tartozik. Ezek többek közt abban térnek el az eddig látottaktól, hogy a programban egyszerre csak egy ilyen elem lehet, továbbá nem jelenik meg hozzájuk tartozó menüpont a menüsoron. A fenti elemek mindegyike valamilyen módon a megnyitott táblához kapcsolódik, azok adataiból ered. Fontos tehát, hogy a különféle helyeken felhasználni kívánt táblák meg legyenek nyitva. Attól még, hogy egy tábla meg van nyitva, még nem feltétlenül kell “megjelennie” valamilyen formában a program kezelői felületén. Hiába zárjuk be a térképablakokat és a Browsereket, a bennük található állományok még megnyitott állapotban maradnak, amit legkönnyebben azon láthatunk, hogy az eszköztárak és menük számos eleme aktivizálható állapotban marad. (például nem szürkül el a New Mapper és a New Browser menüpont) Ha munkánk során tiszta lappal akarunk indulni, akkor használjuk a File menü Close All parancsát Ennek hatására valamennyi tábla és ezzel együtt valamennyi belőlük származtatott elem bezáródik, miközben szükség esetén a program rákérdez ezek mentésére. A táblák egyenként a Close Table menüpont segítségével zárhatóak be. Ha több tábla volt nyitva, akkor ilyenkor listából kell kiválasztanunk a bezárni kívántat. A megnyitott táblák, és a belőlük származtatott elemek összességét munkaterületnek (Workspace) nevezzük. A munkaterületet el tudjuk menteni a File menü Save Workspace parancsával egy .WOR kiterjesztésű állományba. Ez egy szöveges állomány, amely hivatkozásokat tartalmaz a megnyitott táblákra, valamint megtalálható benne a többi elem (Browser és térképablakok, elrendezések, stb.) beállításainak, tartalmának és elrendezésének részletes megadása. Ezt az állományt később a File menü Open Workspace parancsával nyithatjuk meg. Ilyenkor a korábban elmentett dolgok mintegy rátöltődnek a már meglévő elemekre, vagyis a munkaterület megnyitása nem jár együtt az addigi munkák bezárásával. Ez abból adódik, hogy a MapInfo-ban nincsenek olyan elkülönített elem, mint például az ArcView project fájljai, a .WOR állomány sorai utasítások, melyeket végrehajtva a mentéskori környezetet kapjuk, a már meglévő elemek ezzel kiegészülnek.
5. Párbeszédpanelok és jellegzetes elemeik A MapInfo-ban a legtöbb beállítást párbeszédpanelokban (ablakokban) kell megadnunk. Ezek legtöbb eleme a más programokban megszokottaknak teljesen megfelelően működik, vannak azonban olyanok, melyek speciálisan a MapInfo-ra jellemzőek. Ezek a MapInfo által picker-nek nevezett gombok, melyek magukon hordozzák a beállított érték jellemzőit. A gombra kattintva egy újabb párbeszédpanel jön be, ahol a kérdéses értékeket be tudjuk állítani. Például a Symbol Picker gomb egy szimbólumot ábrázol, egy olyan szimbólumot, amilyen éppen az adott beállításhoz tartozik. Ha ezt meg szeretnénk változtatni, akkor rákattintunk erre az ikonra, és bejelentkező párbeszédpanelban beállítjuk a szimbólum kívánt jellemzőit. A vonaltípusok jellemzőinek beállítására szolgáló elem egy minta vonaldarabot hordoz magán. Ez régebbi verzióknál egyetlen átlós szakasz, újabb verziókban viszont két egymást X szerűen keresztező vonal. Ennek oka, hogy az újabb verziókban a vonalak kereszteződésének módját is be lehet állítani. Felületek kitöltésének, illetve határvonalaik vonaltípusának jellemzőit a beállításukra való ikon egy ötszög alakú minta formájában viseli magán. Bizonyos esetekben, ha ilyen ikonnal találkozunk, csak a kitöltést tudjuk beállítani a határvonalat nem. (Például a Bar Chart típusú tematikus térképek oszlopainak kitöltésekor.) A betűtípusok beállítására szolgáló ikon egy “Aa” szöveget tartalmaz, olyan jellemzőkkel, mint amiket az aktuális beállítása tartalmaz. Jellegzetesek még azok a legördülő listaelemek, melyekből színeket tudunk kiválasztani. Ebben 16 oszlopból és 17 sorból álló palettából tudjuk kiválasztani a kívánt színt. A jobb alsó sarokban lévő … jelre kattintva egy kis panel jelenik meg, ahol tetszőleges színeket tudunk kikeverni komponenseik (pl. RGB szerint) változtatásával. A kiindulási alap mindig az előzőleg kijelölt szín. Az egyedileg kevert színeink a legalsó sorba kerülnek, innen a későbbiekben már egyszerűen kiválaszthatóak.
3. A MapInfo-ban kezelt adatok 1. Táblák létrehozása és adatszerkezetük módosítása Új táblát létrehozni a File menü New table parancsával vagy az ennek megfelelő ikonnal (tiszta lap) tudunk. Elsőként azt kell tisztáznunk egy párbeszédpanelban, hogy milyen ablakokban jelenjék meg az új tábla a munkaterületen. Az Open New Browser opcióval új Browser ablakot tudunk létrehozni, az Open New Mapper-rel egy új térképablakot. Az Add to Current Mapper hatására a táblázathoz tartozó réteg az éppen aktuális térképablakhoz adódik hozzá. A három lehetőség tetszőlegesen kombinálható. A következő lépésben kell megadnunk a létrejövő tábla szerkezetét. Az erre szolgáló ablak bal felső részében található listában fel vannak sorolva a létrehozandó tábla oszlopainak nevei, típusai, valamint egy jelölőnégyzet, ahol az oszlop indexelt voltát lehet beállítani. A lista kijelölt elemének jellemzőit a lista alatt, a Field Information csoportban lehet megadni. Ilyen jellemző a mező neve, mely betűkből, számokból és aláhúzás karakterekből állhat. Az első karakter nem lehet számjegy. Megengedett, de nem ajánlott az ékezetes betűk használata. Az oszlop típusát egy legördülő listából kell kiválasztani. A típus függvényében esetenként egyéb adatokat is meg kell adni. A MapInfo-ban alkalmazható mezőtípusok: Character: Megadott hosszúságú szöveges mező Integer: előjeles egész számok 32 biten. Small Integer: előjeles egész számok 16 biten Float: 64 bites lebegőpontos számok Decimal: szövegszerűen ábrázolt számok, megadott hosszal és megadott számú tizedessel. Date: Dátum Logical: Logikai (igaz/hamis) Ha egy újabb oszlopot szeretnénk beszúrni, akkor az Add Field gombra kell kattintani. Az oszlopok sorrendjét az Up és a Down gombok segítségével lehet megváltoztatni. Az éppen aktuális oszlopot a Remove Field gomb segítségével tudjuk törölni. Mint már sokszor említettük, a MapInfo-ban az egyes adatrekordokhoz térképi elemek is csatlakozhatnak, bár ezt a lehetőséget nem kötelező kihasználni. Ha a Table is Mappable négyzet bejelölt állapotban van, akkor a táblához térképi elemek is tartoznak. Ha az első lépesben kiválasztottunk olyan opciót, aminek eredményeként a tábla térképablakban is megjelenik, akkor ennek a beállításnak a kijelölt állapotát nem is lehet megszűntetni. Amennyiben a táblához térképi elemek is tartoznak, meg kell adni, hogy ezeket milyen vetületben és milyen alkalmazási tartományban ábrázoljuk. A projection gombra kattintva egy párbeszédpanel segítségével lehet a kívánt vetületet kiválasztani. Mivel a MapInfo rengeteg vetületet támogat, először a fenti legördülő listából kell kiválasztani a kategóriát, ezután pedig a lenti listából a kategórián belül a kívánt vetületet. A következő lépésben meg kell adnunk az alkalmazási tartomány határai. Itt X és Y koordináta szerint tudjuk megadni a maximum és minimum értékeket. (az X itt mindig a vízszintes tengely) Ha később módosítani szeretnénk egy táblát, akkor azt a Table menü Maintenance/Table Structure pontjával tudjuk. Ha több tábla is meg van nyitva, akkor először egy listából ki kell választanunk, hogy melyik szerkezetét szeretnénk megváltoztatni. Az a párbeszédpanel, ahol a kívánt módosításokat el tudjuk végezni lényegében megegyezik a tábla létrehozásakor bemutatottal.
2. Táblák megnyitása 1. MapInfo állományok Már meglévő MapInfo állományokat a File/Open Table menüpont vagy az ennek megfelelő ikon
segítségével tudunk megnyitni. Az ekkor a szemünk elé táruló panel nagyban hasonlít a Windowsban már megszokottra. Az ablak alján azonban találunk egy legördülő listát, melyben azt tudjuk beállítani, hogy megnyitás után a tábla miként jelenjék meg. Ha csak a táblához tartozó adatokat akarjuk közvetlenül a tábla megnyitása után a munkaterületen megjeleníteni, akkor válasszuk a Browser pontot. Ennek hatására egy Browser ablak jön létre a tábla leíró adataival. A Current Mapper hatására a táblához tartozó réteg bekerül az aktuális térképablakba. Ha nincs a munkaterületen térképablak, akkor létrehoz egyet. A New Mapper segítségével tudjuk azt elérni, hogy egy teljesen új térképablak jöjjön létre a tábla számára függetlenül attól, hogy a munkaterületen van-e már más térképablak megnyitva. Alapértelmezésben az Automatic pont van kiválasztva. Ekkor, amennyiben táblához tartoznak térképi elemek, hozzáadja az aktuális térképablakhoz, illetve ha ilyen nincs, létrehoz neki egyet. Ha nincsenek térképi elemek, akkor egy Browser ablakot nyit meg a táblának. Lehetőségünk van a No View pont választására is, hiszen a MapInfo-ban egy tábla megnyitott állapotának nem feltétele, hogy a munkaterületen a benne tárolt adatok vizuálisan is megjelenjenek.
2. Egyéb közvetlenül kezelt állományok A fenti panelban a már megszokott helyen tudjuk beállítani a megnyitandó állomány típusát. Ez alapértelmezésben MapInfo, ilyenkor a MapInfo állományainak .tab fájljait tudjuk kiválasztani. A fájltípus módosításával lehetőség nyílik más közvetlenül megnyitható állományok kiválasztására. Nem keverendő ez össze a későbbiekben bemutatásra kerülő exportálással! Akkor miközben a forrás érintetlen marad, adatai alapján egy MapInfo állomány jön létre. Ha itt nyitunk meg egy fájlt, akkor annak adatait a MapInfo közvetlenül fogja kezelni. Nem jön tehát létre önálló MapInfo állomány, minden művelet, így az adatok módosítása is, az eredetin hajtódik végre! Meg tudunk a fenti módon nyitni szöveges formátumban tárolt adatbázisokat (delimited ASCII). Ezek szöveges állományok, melyeknek minden egyes sorát egy rekordnak tekintjük. Kiválasztásuk után meg kell adni, hogy milyen karakter szolgál a sorokon belül a mezők elválasztására és, hogy milyen karaktertábla érvényes a szöveges adatokra. Módunkban áll megnyitni a Lotus 1-2-3 és az Excel táblázatkezelők tábláit is. Lehetőség van a dbase .dbf és az Access .mdb fájljainak megnyitására. Az Access esetében, mivel egy állományon belül több tábla is lehet, a fájl kiválasztása után ezt tisztáznunk kell.
3. ODBC táblák A MapInfo-ban lehetőségünk van ODBC kapcsolat létesítésére is.
3. Táblák feltöltése és adataik módosítása A táblák leíró adatainak feltöltésére és ezek későbbi módosítására több helyen is lehetőségünk nyílik. A legkézenfekvőbb talán az, ha nyitunk egy Browser ablakot és ebben végezzük el a kívánt módosításokat. Ha a térképről szeretnénk kiválasztani azokat az elemeket, melyeknek leíró adatait módosítani szeretnénk, akkor az Info Tool-t tudjuk alkalmazni, mely a leíró adatok megjelenítésén túl azok módosítására is lehetőséget teremt.
4. Raszteres adatok kezelése 1. Raszteres állományok megnyitása A raszteres adatokat is a File menü Open Table pontjával tudjuk megnyitni. A megjelenő párbeszédablakban a fájltípus legördülő listából válasszuk ki a Raster Image pontot. Ezt követően a panelban már csak azok a raszteres képet tartalmazó állományok láthatóak, melyeket a MapInfo ismer.
Miután kiválasztottuk itt a kívánt állományt (ez tipikusan egy szekennelt térkép, távérzékelt adat vagy esetleg digitális ortofotó) egy kérdést tesz fel nekünk a program, hogy egyszerűen csak meg akarjuk nézni a képet vagy el kívánjuk-e helyezni valamilyen a MapInfo által ismert koordináta rendszerben. Válasszuk ez utóbbit! Amennyiben a regisztrálást már elvégeztük, az így létrehozott .tab kiterjesztésű állományt más MapInfo táblákhoz hasonlóan tudjuk megnyitni. A különbség csupán annyi, hogy nem egy relációs adatbázis és esetleg hozzá kapcsolódó vektoros térképi elemek, hanem egy raszteres állomány fog megjelenni.
2. Raszteres kép regisztrálása (beillesztése, tájékozása) Egy ablakba jutunk, ahol elvégezhetjük a kép beillesztését. Az ablak közepe felé a kép illetve egy kinagyított részlete látható. Ezen a részen az egérrel a megfelelő részletre kattintva tudjuk lemérni az illesztéshez használt jelek (control point - őrkeresztek vagy egyéb alkalmas illesztőpontok) a raszteres képen lévő koordinátáit. Ezt követően egy ablak jelenik meg, melyben a kérdéses jel geodézia koordinátáit tudjuk megadni. Megadhatunk még itt egy azonosító címkét (label) is a pont számára. A kép alatt elhelyezkedő + és – gombokkal nagyíthatunk, illetve kicsinyíthetünk. A mért illesztőpontok a képen piros kereszttel és címkéjükkel jelennek meg. Ezzel párhuzamosan bekerülnek a panel tetején lévő listába címkéjükkel, geodéziai x és y koordinátáival valamint a maradék eltérésekkel. Ezeket úgy kapjuk, hogy az azonos pontok alapján számított transzformációt elvégezzük az ismert pontpárokon és az így kapott értékeket összehasonlítjuk az ismertekkel. Lehetőségünk van a geodéziai koordinátákat nem bebillentyűzni, hanem a Table/Raster/Select Control Point from Map menüpont segítségével a munkaterület valamely térképablakából kiválasztani. Ilyenkor az egérkurzor a térképablak felett szálkeresztté alakul, mellyel megirányozhatjuk az azonos pontok térképi helyzetét. Ügyelni kell arra, hogy ilyenkor mindig a fenti listában kijelölt pont térképi koordinátáit mérjük le, ha a listában egyetlen pont sincs kijelölve, akkor új pontot hozunk létre, melynek a képkoordinátája (0,0) lesz! A lista mellett lévő gombok segítségével módosíthatjuk a listában éppen kijelölt pont geodéziai koordinátáit (Edit) eltávolíthatjuk a listából (Remove) vagy a képére ugorhatunk (Goto). Ha a listában ki van jelölve egy elem, akkor a képen ennek képkoordinátáit tudjuk módosítani az egér segítségével. Ha ismét újabb pontokat szeretnénk felvenni, akkor a New gombra kell kattintani, mellyel a kijelölést meg tudjuk szüntetni. Vigyázzunk, mert ha ki van jelölve egy elem a listából, akkor a képre kattintva ennek a képkoordinátáit fogjuk változtatni új pont megadása helyett! A panel alján lévő gombok közül az Ok, Cancel és Help gombok jelentése magától érthető. A Projection és a Units gombokkal a vetületet és a mértékegységet tudjuk beállítani. Ez nagyon fontos a koordináták értelmezéséhez. Mindig az őrkeresztek mérése előtt állítsuk be ezeket a paramétereket!
3. Kép dinamikai jellemzőinek beállítása A későbbiekben a Tables/Raster/Modify Raster Registration menüpont segítségével tudjuk módosítani a kép elhelyezését. Ilyenkor ugyanabba a panelba jutunk mint az előbb. A Tables/Raster/Adjust Image Styles menüpont segítségével a kép fényerősségét és kontrasztját lehet szabályozni. Itt akár fekete-fehér módba is átválthatunk.
5. Állományok exportálása Az exportálás során egy megnyitott MapInfo állomány adataiból valamilyen más formátumú állományt hozunk létre. A művelet a Table menü Export pontjával történik. Ilyenkor egy panel jelenik meg melyben meg kell adni az exportálással létrehozandó állomány nevét és típusát. Ezen a helyen négyféle formátumba tudunk adatokat kiírni: MIF, DXF, DBF vagy szöveg. A DXF és a DBF általánosan elterjedt, kvázi-szabványként elfogadott formátumok. A MIF állományokat térinformatikai programok jelentős része képes kezelni. A MIF (MapInfo Interchange Format) a MapInfo saját szöveges adatcsere formátuma. Két szöveges
állományból áll. Egy .mif kiterjesztésű fájl egy fejlécet követően tartalmazza az egyes objektumok geometriájának leírását. Egy másik, .mid kiterjesztésű állományban a leíró adatok találhatóak, minden egyes sor egy objektumnak felel meg, abban a sorrendben, ahogy a .mif állományban voltak felsorolva. Exportáláskor a forrásként felhasznált MapInfo tábla és a létrehozandó fájl nevén túl más adatot nem kell a programnak megadni. A felhasználandó tábla kiválasztása egy külön panelban egy listából történik, de ha csak egyetlen tábla van nyitva akkor a program ezt a pontot automatikus átugorja. A DXF az AutoCAD adatcsere formátuma. Az forrásként felhasználandó tábla és a létrehozandó .dxf kiterjesztésű állomány nevének a fentiekhez hasonlóan történő megadása után egy párbeszédpanelban kell meghatároznunk az exportálás egyéb jellemzőit. Ilyen beállítások (fentről lefelé haladva), hogy a több poligonnal határolt felületek poligonjai egy blokkba kerüljenek-e a .dxf állományban (Preserve MultiPolygon Regions as DXF Blocks), vagy hogy a leíró adatok átvételre kerüljenek-e (Preserve Attribute Data). Megadhatjuk, hogy szöveges vagy bináris .dxf állományt akarunk-e létrehozni. A gyakorlatban általában az előbbit szokás használni, sok program a bináris .dxf fájlokat nem is tudja kezelni. Megadható még továbbá, hogy a számok az állományban hány tizedessel legyenek ábrázolva, és hogy 12-es vagy 13-as AutoCAD verzióhoz tartozó adatcsere állományt kívánunk-e létrehozni. A fenti beállításokat a fogadó program jellemzőinek ismeretében célszerű megválasztani. Esetenként többszöri próbálgatással kell kitapasztalni a legkedvezőbb beállítást. A létrejövő állományban egyetlen egy réteg lesz, minden az adott MapInfo rétegből ide kerül. Lehetőségünk van még az adatok DXF formátumba való kiírása előtt egy egyszerűbb transzformáció végrehajtására. Ehhez a Set Transformation gombra való kattintás után megjelenő panelban kell megadnunk két pont (Point1, Point2) koordinátáit a MapInfo által alkalmazott koordináta rendszerben és a DXF állomány koordináta rendszerében. Ezzel tulajdonképpen egy Helmert-transzformációt tudunk végrehajtani. (eltolás, elforgatás, méretarány változtatás) Amennyiben szöveges állományokat (Delimited ASCII) szeretnénk létrehozni a fentiekhez hasonlóan kell eljárnunk. A forrás, mely itt akár egy lekérdezés is lehet, és a létrehozandó fájl kiválasztása után egy párbeszédpanel jelenik meg. Ebben megadhatjuk az alkalmazandó elválasztó karaktert és karakterkészletet. (bővebben lásd a függelékben) Ha kívánjuk, a program a létrehozott állomány első sorába a MapInfo-ban használt megnevezést felhasználva beírja az oszlopok nevét. Ezt a funkciót használva, amennyiben a fogadó program (pl. az Access) is támogatja, megtakaríthatjuk az oszlopnevek újbóli begépelését. A DBF állományokba exportálás nagyban hasonlít szöveges állományok létrehozásához. Itt csupán az alkalmazandó karakterkészletet kell megadnunk. A művelet eredményeképpen egy .dbf kiterjesztésű állomány jön létre, amelybe a forrásként felhasznált tábla vagy lekérdezés adatai kerülnek, a MapInfo-ban alkalmazott oszlopnevekkel és mezőméretekkel. Természetesen itt is, mint a szöveges állományok (Delimited ASCII) esetében, csak a leíró adatok kerülnek átvitelre.
6. Állományok importálása Importálás során valamilyen más formátumú adatból MapInfo állományokat hozunk létre. Az eredeti állományon a program nem hajt végre változtatásokat, a művelet után már nincs szükség rájuk. Más formátumú fájlok importálására szolgál a Table menü Import parancsa. Ezt meghívva az első megjelenő panelban ki kell választani az importálandó állományt és típusát. A következő lépésben meg kell adnunk az importálás egyes paramétereit, ha szükséges, ezt követően pedig azt, hogy melyik létrehozandó állományba kerüljenek az adatok. Ez az állomány az importálás után megnyitott állomány lesz, de automatikusan a térképablak(ok)ba nem kerül be, illetve nem jön létre leíró adataihoz Browser ablak. Az importálható fájltípusok közül három a MapInfo DOS alatti változatainak különböző állományai, ezekkel a gyakorlatban ritkán találkozunk, valamint az exportáláskor megismert MIF és DXF típusú állományok. MIF típusú állományok importálásakor elsőkét a .mif fájlt kell kiválasztani. A .mid fájl neve megegyezik a .mif fájléval, ezért nem kell külön kiválasztani, hiánya természetesen hibaüzenethez vezet. Mivel a MIF a MapInfo szöveges adatcsere formátuma, tartalma tulajdonképpen megfelel a hagyományos MapInfo állományok tartalmával. Ennek köszönhetően, akár csak az exportáláskor, itt sem szükséges semmilyen kiegészítő információt megadnunk, a művelet egyből annak az állománynak a kijelölésével folytatódik, ahova az adatok kerülnek. Bonyolultabb a helyzet a DXF állományok importálásakor. Ilyenkor az állomány kiválasztása után megjelenő panelban többféle dolgot tudunk beállítani. Ezek közül a Preserve DXF Blocks… és a Preserve Attribute
Data funkciója megegyezik az exportáláskor leírttal, de most az importálásra vonatkozik. A felmerülő problémák egy része abból adódik, hogy a DXF állomány több réteget tartalmaz. Ezek a rétegek a panel tetején lévő listában láthatóak, itt lehetőségünk van kijelölni azokat, amelyek az eredményként létrejövő táblába kerülnek. Arra is módunk van, hogy a DXF állomány egyes rétegeit külön-külön MapInfo állományokba tegyük. Ilyenkor a kijelölt rétegek nem egyetlen táblába kerülnek, hanem egy következő panelban egyenként tudjuk megadni az egyes állományok nevét és elérési útvonalát. (A listában kijelölt állományét, a Change Table Name gomb megnyomását követően) Lehetőség van az attribútumok átvételének (Preserve Attribute Data) és a DXF blokkok több poligonnal határolt felületként való kezelésének rétegenkénti beállításra (Preserve DXF Blocks…). Az esetleg már létező állományok felülírását is rétegenként kell szabályozni. A problémák másik része onnan ered, hogy a DXF állományban nem találhatóak meg a MapInfo számára lényeges adatok a használt koordinátarendszer vetületének típusáról és elhelyezéséről. Ezt a Projection… gombra kattintva tudjuk pótolni a már megismert módon. Második lépésben lehatárolhatjuk az ábrázolt területe, szintén a táblák létrehozásakor már megismert módon. A harmadik ablakban bekapcsolhatjuk az Autoflip funkciót, ezzel elérhetjük, hogy a térképet a program megpróbálja automatikusan illeszteni.
7. ArcLink 8. Universal Translator
4. A geometriai objektumok modellezése A MapInfo alapvetően egy vektoros térinformatikai rendszer. Ez azt jelenti, hogy az objektumok geometriáját alakjelző pontjaik koordinátáival (helyvektorával) adjuk meg. Az egyértelmű meghatározáshoz persze ezen túl még az is szükséges, hogy koordinátarendszert egyértelműen és pontosan meghatározzuk. Az ebben a fejezetben bemutatott pontszerű, vonalas, felületszerű és szöveges objektumok szerepelhetnek térképi vonatkozással rendelkező táblákban, mint geometriai elemek, kozmetikai rétegekben és elrendezés ablakokban, mint díszítő elemek. A vonalas és felületszerű elemek esetében többféle típus közül is választhatunk. Mindkét kiterjedés esetében van egy általános típus (polyline illetve region) és ezen túl lehetőségünk van speciális, szabályos elemek rajzolására is. A szabályos elemek jellemzői, hogy geometriájuk előre meghatározott számú adattal megadható és, hogy bármikor átalakíthatóak általános típusú elemmé. A valós világ elemeit általában symbol, polyline vagy region típusú objektumokkal modellezik, más megoldás csak elvétve fordul elő. A MapInfo-ban a térképi elemek megjelenítési jellemzőit (jelkulcsát) elemenként egyedileg lehet beállítani. Ezek a jellemzők a geometriai adatokkal együtt jellemzik az egyes elemeket, képezik a térképi objektumot.
1. Koordinátarendszerek és vetületek Alapvetően a MapInfo síkbeli koordinátákkal, síkbeli objektumokkal (az objektumok síkbeli vetületével) dolgozik. Ha magassági jellemzőket is szeretnénk kezelni, akkor azokat mint leíró adatokat tudjuk tárolni. A MapInfo-ban mindig következetesen meg kell adni hogy milyen vetületi rendszert (koordinátarendszert) alkalmazunk, legyen szó akár geometriai vonatkozással rendelkező tábláról (raszteres vagy vektoros), akár térképablakról. Ha helyesen járunk el, akkor a tetszőleges számú, eltérő vetületi rendszerben adott réteget tudunk egy térképablakban megjeleníteni úgy, hogy a térképablak vetületi rendszerét ezektől függetlenül határozhatjuk meg. A program az ehhez szükséges vetületi átszámításokat automatikusan elvégzi! A vetületet jellemzi az alapfelület, a koordináták mértékegysége, a vetület típusa és ezen utóbbi függvényében a vetület különféle paraméterei. (pl.: kezdőpont helye, redukció, eltolás, stb.) Alapvetően kétféle koordinátarendszert alkalmazhatunk: alapfelületit, melyben a pontok helyzetét szélességgel és hosszúsággal adjuk meg (longitude / latidue) fokban, tizedes tört alakban, egy meghatározott alapfelületen és vetületi, amelyben valamilyen vetületi rendszerben adjuk meg a pontok koordinátáit, meghatározott hosszmértékegységben. Lehetőségünk van még vetület nélküli rendszer (Non-Earth) alkalmazására is. Ekkor is meghatározott hosszmértékegységben tudjuk megadni a koordinátáinkat, melyeket nem tudunk pontosan elhelyezni a Föld
felületén. A vetületi rendszerek paramétereit szerencsére nem nekünk kell egyenként megadni, hanem a Choose Projection párbeszédpanelban már előzőleg definiált vetületek közül kell választanunk. Mivel a MapInfo rengeteg vetületi rendszert ismer, a panelban ezeket kategóriákba gyűjtve találjuk meg. A kategóriát a felső legördülő listából tudjuk kiválasztani. Ekkor az alsó listában megjelennek a kiválasztott kategóriába tartozó vetületek. Ha kiválasztottuk a kívánt vetületet, döntésünket az OK gombbal tudjuk jóváhagyni. Ha valahol a MapInfo-ban egy Projection feliratú gombot látunk, akkor mindig a fent leírt panel megjelenésére számíthatunk. A hazánkban alkalmazott vetületek sajnos nem találhatóak meg ebben a felsorolásban. A gyakorlatban általában a Non-Earth meter vetületet alkalmazzuk az EOV helyett. A 6.0 verzió már ismeri az EOV alapfelületét és dátumát (HD-72), nem találjuk azonban a vetületek közt az EOV-t. A vetületekkel kapcsolatban további hasznos tudnivalók olvashatóak az Egyéb lehetőségek fejezetben. Itt írom le, hogyan lehet a Magyarországon használatos vetületekkel a MapInfo alapértelmezett listáját kibővíteni.
2. Pontszerű (0D) objektumok 1. A pont vagy szimbólum Legegyszerűbb esetünk akkor van, ha a modellezni kívánt entitás geometriáját pontszerűnek tekintjük. Az objektum kiterjedésétől ekkor eltekintünk, egyetlen jellemző pontjával adjuk meg. Ez két adatot, vagyis egy koordinátapárt jelent. A pontszerű elemeket a MapInfo Symbol-nak hívja.
2. A szimbólum megjelenítési jellemzői A pontszerű elemek megjelenítése az adott pontban elhelyezett szimbólum segítségével történik. A 4.0 verziótól kezdődően bármilyen, a számítógépre telepített szimbólumkészlet (fontkészlet) használható erre a célra. A szimbólum kiválasztása a Symbol Style párbeszédpanelban történik. Itt ki lehet választani a kívánt fontkészletet, és meg tudjuk adni a szimbólum méretét. A szimbólum mindig az itt kiválasztott méretű lesz, függetlenül a térkép méretarányától! Meg tudjuk még adni a szimbólum színét. Ilyenkor a legördülő elemben egy 16× 16 négyzetből álló táblát kapunk, melyből 256 színt tudunk kiválasztani. A táblázat alján, a jobb alsó sarokban egy … ikon látható. Erre kattintva egy további panelba jutunk, melyben az alapszínekből tudunk kikeverni egy tetszőleges árnyalatot. (Alapszínenként 256 fokozat = 2563 = 16777212 különféle árnyalat) Az így létrehozott egyedi színek a táblázat aljára kerülnek. (Később más helyeken is ugyanilyen legördülő listákból tudjuk majd kiválasztani a kívánt színeket) Lehetőségünk van arra, hogy a kiválasztott szimbólumot elforgassuk. Az elforgatás szögét (Rotation Angle) fokban kell megadni az óramutató járásával ellentétes értelemben. Meg tudjuk határozni, milyen legyen a szimbólum háttere (Background). A szimbólum vonalai fekete (Border) vagy fehér (Halo) vonalakkal lehetnek kihúzva. Alapértelmezésben egyikkel sem (None). A szimbólumhoz még speciális hatásokat (Special Effects) is rendelhetünk. Ezek segítségével árnyékhatást (Drop Shadow) érhetünk el, vagy megvastagíthatjuk a szimbólumot (Bold) A fent leírt panelba jutunk többek között akkor, ha a Drawing eszköztár ikonjára kattintunk. Ilyenkor a kijelölt pontszerű elemek megjelenítési jellemzőit tudjuk beállítani, illetve az eztán rajzolandó pontokra vonatkozó alapértelmezett értéket tudjuk meghatározni. Párbeszédpanelokban gyakran találkozunk speciális nyomógombokkal, melyek valamilyen szimbólumot ábrázolnak, mutatva hogy milyen érték tartozik a panelban hozzájuk rendelt beállításhoz. Erre, az ún. Symbol Picker-re kattintva szintén a Symbol Style panelba jutunk, ahol módosíthatjuk a kérdéses értéket.
3. Vonalas (1D) objektumok 1. Egyenes szakasz (line) Ez az elem két pontot köt össze egy egyenes szakasszal. Az elem geometriája négy adattal adható meg. Ez a négy adat a kezdő és végpont koordinátái. A MapInfo megkülönbözteti a kezdő és a végpontot, ezáltal meg tudjuk adni a szakasz irányítottságát. Az objektum középpontja a szakasz felezőpontja.
2. Ellipszis ív Egy ellipszis (ld. felületszerű objektumoknál) határvonalának egy szakasza, mint vonalas elem is lehet objektum. Ezen objektumok geometriáját a kérdéses ellipszis adataival (Center X, Center Y, Radius X, Radius Y) valamint az ív kezdő és záró szögével (start angle, end angle) tudjuk megadni.
3. Vonal (Polyline) Ezek az elemek egymáshoz csatlakozó egyenes szakaszok összességei. A MapInfo-ban egy ilyen vonalsorozatot (vonalsztringet) szekciónak hívunk, azokat az egyenes szakaszokat, melyekből felépülnek szegmenseknek nevezzük. Egy objektum több, egymástól geometriai értelemben független szekcióból is állhat. Az objektum geometriáját tehát a vonal töréspontjainak szekciónként felsorolt koordinátáival tudjuk megadni. A sorrendből következik a vonal irányítottsága. A vonalakat az egyenesen túl a töréspontokat összekötő szakaszokhoz simuló görbével is ábrázolhatjuk a térképen. A két mód között az Object menü Smooth és Unsmooth parancsai segítségével válthatunk. Fontos viszont megjegyezni, hogy sok műveletnél a program a görbe vonalakat is úgy értelmezi, mintha egyenes szakaszok lennének.
4. Vonalas elemek megjelenítési jellemzői A vonal megjelenítését a vonal típusával, színével és vastagságával adhatjuk meg. A 6.0 verziótól lehetőségünk van továbbá a vonalak kereszteződésének módját megadni. Ezek beállítása egy a pontnál leírthoz hasonló párbeszédpanelban történik. Ez az ablak jelenik meg, amikor az alapértelmezést vagy az éppen aktuális objektum vonaltípusát állítjuk, illetve ha valahol egy dialógusablakban egy Pen Pickerre kattintunk. Ez a jellegzetes elem egy nyomógomb, mely az éppen beállított értéket hordozza magán. A vonal típusát egy legördülő listából választhatjuk ki. A listában a minták fekete színnel szerepelnek, de természetesen majd a kiválasztott színnel fognak megjelenni. Vannak olyan vonaltípusok, amelyek mintájában a fekete mellett a vörös szín is szerepel. Ilyenkor az általunk kiválasztott szín a vörös helyét fogja betölteni, a fekete és fehér részek feketék illetve fehérek maradnak. Különleges szerepe van a lista bal felső sarkában található, “N” betűvel (None) jelzett típusnak. Ezt kiválasztva érhetjük el, hogy a vonal ne jelenjék meg. Természetesen több vonalas elem keresztezheti egymást, vagy találkozhat egy pontban. Ezeket alapértelmezésben úgy ábrázolják, hogy egyszerűen csak egymásra helyezik őket. A program a 6.0 verziótól kezdődően lehetőséget nyújt arra, hogy az ilyen estekben csomópontszerű ábrázolást alkalmazzunk. Ha nem választjuk ki ezt a lehetőséget, akkor minden úgy történik, mint a régebbi verziókban.
4. Felületszerű (2D) objektumok 1. Ellipszis A felületszerű objektumok lehetnek ellipszisek. Nem akármilyen ellipszisek, hanem csak olyanok, melyeknek tengelyei párhuzamosak a koordinátarendszer tengelyeivel. Az ellipszis egy speciális esete a kör, amikor a két tengely hossza megegyezik. Ilyenkor tulajdonképpen indifferens a tengelyek iránya. Geometriai értelemben való megadása négy adattal lehetséges: az ellipszis középpontjának két koordinátájával (Center X, Center Y) és a két koordináta tengely irányába eső sugárral (Radius X,
Radius Y).
2. Téglalap Az ellipszisekhez hasonlóan, a téglalapok is csak speciális helyzetűek lehetnek. Oldalaiknak párhuzamosnak kell lenniük a koordináta tengelyekkel. A téglalap által tartalmazott pontok koordinátáinak mind X, mind Y értelemben egy-egy meghatározott intervallumba esnek. Most is négy adat szükséges tehát a geometria megadásához: Ezen intervallumok határai (Bounds X1, Bounds Y1, Bounds X2, Bounds Y2), melyek nem mások, mint a bal alsó és a jobb felső sarok koordinátái. A fenti adatokból számítani lehet a téglalap középpontjának koordinátáit (Center X, Center Y), szélességet (Width) és magasságát (Height). Az elem geometriája ezek segítségével is megadható.
3. Lekerekített sarkú téglalap Ez az elem annyiban különbözik az előbbitől, hogy sarkai lekerekítettek. Megadásához a téglalap négy jellemzőjén túl szükségünk van sarkok lekerekítésénél alkalmazott sugárra. (Corner Radius)
4. Felület (Region) Fontos az elején tisztázni a poligon és a felület fogalmát, valamint a két dolog közti különbséget. A poligon egy zárt vonallánc, melyet megadhatunk töréspontjainak körüljárási irány szerint felsorolt koordinátáival. A töréspontos közt a poligont egyenes szakaszok határolják. Ezzel egyetlen összefüggő területet tudunk meghatározni. A felület (region) állhat egyetlen poligonból (ez a leggyakoribb eset és rajzolni is csak ilyeneket tudunk), de felépülhet tetszőleges számú külső, illetve belső poligonból. A külső poligonok egymástól függetlenül, elkülönülve helyezkednek el, csupán logikai szintű összerendelés eredménye, hogy az általuk lefedett területeket egyetlen felületnek, egyetlen geometriai elemnek tekintjük. A felület külső poligonjain belül egy vagy akár több belső poligon is elhelyezkedhet. Az ezek által lehatárolt terület mintegy kivágódik, kiesik az objektum területéből, nem része a felületnek. A MapInfo nem tesz éles különbséget a külső és a belső poligonok közt. Ha egy felület típusú elem adatait lekérdezzük (dupla kattintás vagy F7), akkor csak azt látjuk, hogy a felület hány poligonból épül fel (külsők és belsők együtt) és, hogy ezek a poligonok összesen hány töréspontot tartalmaznak. A felület jellemzésére tetszőlegesen definiálhatjuk középpontját, amit a MapInfo centroidnak hív. A későbbiekben ennek nagy jelentősége lesz, mert az automatikus címkézés feliratai, a tematikus térképek diagramjai és szimbólumai mind ide szúródnak be. Bizonyos geometriai elemzések során, mikor az objektumokat pontszerűnek kell tekinteni, szintén a centroid az irányadó. A felülethez hasonlóan más geometriai elemeknél is szükség lehet arra, hogy egyetlen ponttal jellemezzük őket. Szabályos elemeknél (pl.: szakasz, téglalap, ellipszis, stb.) és persze a pontnál ilyenkor egyértelműen a kérdéses elem középpontja tölti be a centroid szerepét, nincs lehetőségünk ilyen módosításra. Megjegyzés: Hazánk településhálózatában nem túl gyakran, de előfordul olyan eset, hogy egy település ún. domíniummal rendelkezik. Ilyenkor vannak olyan, közigazgatásilag a kérdéses városhoz/községhez tartozó településrészek, melyek területileg nem függenek össze a település központi részével. Az ilyen települést kettő (vagy több) poligonból álló felülettel lehet modellezni. Olyan is előfordul, hogy ez domínium teljes egészében egyetlen másik település területén belül helyezkedik el. Ilyenkor a másik település is két poligonból áll. Ezek közül az egyik belső poligon.
5. Felületszerű elemek megjelenítési paraméterei A felületszerű objektumoknak mind a kitöltését, mind a határvonalát be tudjuk állítani. Az előzőekben már
megszokott módon a MapInfo egy külön erre a célra létrehozott párbeszédpaneljában tudjuk e jellemzőket beállítani. Ebbe a panelba jutunk más panelok jellegzetes nyomógombjaival, melyek egy ötszög formájában mindig magukon hordozzák az éppen aktuális beállításokat, vagy a Drawing eszköztár Region Style ikonjával, mellyel az újonnan rajzolt és az éppen kijelölt felületszerű elemek jellemzőit tudjuk meghatározni. A felületeket határoló vonalak tekintetében a vonalas objektumok esetében megismert lehetőségek állnak rendelkezésünkre, ennek megfelelően tudjuk kiválasztani a vonal típusát, színét illetve vastagságát. A különbség csak annyi, hogy a kereszteződések típusát nem áll módunkban kiválasztani, de ennek most nincs is értelme. A felület kitöltésénél három dolgot tudunk beállítani: a kitöltés mintáját, valamint az előtér és a háttér színét. A kitöltés mintáját (Pattern) egy legördülő listában felajánlott típusok közül kell kiválasztanunk. A listában a minták fekete-fehéren vannak ábrázolva. A fekete részeknek az előtérszín (Foreground), a fehéreknek a háttérszín (Background) fog megfelelni. A lista legelején, a bal felső sarokban egy “N” betűvel jelzett minta található. Ezt kiválasztva tudjuk elérni azt, hogy a felület teljesen átlátszó legyen. Ilyenkor előtér- és háttérszínről nincs értelme beszélnünk. Közvetlenül az előbbi minta mellett találhatunk egy teljesen kitöltött négyzetet. Akkor használjuk ezt a “mintát” ha azt szeretnénk, hogy a felület kitöltése egyetlen homogén színnel (az előtérszínnel) történjék. A háttérszínt természetesen ilyenkor sem értelmezzük. A háttérszín legördülő listája előtt egy kijelölő négyzet található. Ez alapértelmezetten be van jelölve, ami azt jelenti, hogy a minta fehér részeinek színét a listából szeretnénk kiválasztani. Ha nincs bejelölt állapotban, akkor az azt eredményezi, hogy a felület a minta fehérrel jelzett részein átlátszó lesz.
5. Feliratok 1. A felirat A MapInfo lehetőséget nyújt feliratoknak, mint térképi elemeknek a létrehozására is. Ezek a fentiekben megismertekhez hasonló térképi elemek lesznek, amelyekhez ugyanúgy rendelhetőek a táblának megfelelő leíró adatok is. Ezeket a feliratokat nem szabad tehát összekeverni az objektumok címkézése során keletkező címkékkel. A feliratot jellemzi szövege, amely akár több sorból is állhat, beszúrási pontja és a megírás iránya. Ezen túl jellemzi még betűtípusa, amit alább részletezünk majd. Beállíthatjuk továbbá a felirat néhány egyéb jellemzőjét. Ilyen a sorok távolsága (Line Spacing), amely a többsoros szövegek esetében szimpla, másfeles vagy dupla lehet. Megadható a szöveg igazítása (Justification), ami szintén többsoros feliratoknál jelentős és balra, középre vagy jobbra zárt lehet. Lehetőség van továbbá zászlós feliratok elhelyezésére (Label Line), ha a Simle Line vagy az Arrow Line lehetőséget választjuk. Az utóbbi esetben a vonal nyílban fog végződni. Természetesen lehetőség van meghatározni a feliratot és a vonatkozási pontot összekötő vonal típusát is. Új felirat létrehozására akkor van lehetőségünk, ha kiválasztjuk a rajzoló eszköztár megfelelő ikonját. Ekkor a térképablak egy pontjára kattintva Lehetőségünk van az új felirat szövegét begépelni a megadott helyre. Mivel a MapInfo támogatja a több soros feliratokat, az ENTER leütése nem a bevitel jóváhagyását, hanem a soremelést eredményez. A megírás szöge alapértelmezetten 0 fok lesz, a felirat betűtípusa pedig az, amit a rajz eszköztár megfelelő ikonjával (jobb oldalt legalul) beállítottunk. Amennyiben egy feliratra a kijelölő nyíllal rákattintunk, kijelölt állapotba kerül, és kis négyzetek jelennek meg körülötte. Ezen négyzetek elmozgatásával tudjuk változtatni a felirat beszúrási pontját, a megírás irányát, illetve ha van zászló, akkor annak a vonatkozási pontját. Dupla kattintásra (vagy F7) egy párbeszédpanel jelentkezik be, ahol részletesen beállíthatjuk a fent már részletezett jellemzőket.
2. A felirat betűtípusának jellemzői A feliratok fontos jellemzője betűtípusuk. Ezt egy olyan párbeszédpanelban lehet beállítani, amellyel a MapInfo-ban sok más helyen is találkozhatunk, ahol valamilyen szövegnek a betűtípusát kell meghatározni. A betűtípus egyik legfontosabb jellemzője a fontkészlet, ami esetünkben bármely a Windows-ban telepített fontkészlet lehet. Fontos még a betűk mérete, amit pontban kell megadni és színe, amit egy szokásos legördülő listából kell
kiválasztani. További jellemző a szöveg háttere (Background). Ez alapértelmezett esetben ki van kapcsolva, de lehetőségünk van a szöveg körvonalainak (Halo) vagy teljes szövegdobozásnak kiszínezésére egy megadható színnel. A program lehetőségeket nyújt a szöveggel kapcsolatban néhány speciális hatás beállítására. Ezek: félkövér (Bold), dőlt (Italic), aláhúzott (Underline), csupa nagybetűs (All Caps), Árnyékolt (Shadow) illetve széthúzott (Expanded). A panel jobb felső részében folyamatosan nyomon követhetjük a beállítások hatását egy mintaszövegen.
5. Lekérdezések, leíró adatok kezelése 1. Keresés leíró adatok alapján Gyakori feladat, hogy van egy meglehetősen sok objektumot tartalmazó digitális térképünk, melyen meg szeretnénk valamit keresni egy leíró adat után. Például rendelkezésünkre áll egy térkép egy ország összes településével, melyek közül meg szeretnénk keresni valamelyiket a neve alapján. Ha a Query menü Find parancsára kattintunk vagy lenyomjuk a CTRL+F billentyűkombinációt, akkor egy párbeszédpanel jelenik meg, ahol beállíthatjuk a keresés jellemzőit. (Ha ezt már korábban megtettük, akkor a program a későbbiekben majd automatikusan a második lépésre ugrik.) A két legfontosabb dolgot, hogy melyik táblából és annak melyik oszlopa alapján a panel felső részén tudjuk legördülő listák segítségével. Fontos, hogy az oszlopnak, amely alapján keresni akarunk, indexeltnek kell lennie! Az Options gombra kattintva tudjuk beállítani a keresés néhány egyéb jellemzőjét. Az első opció a rövidítésekre vonatkozik. Ha bejelöljük akkor a program a keresés során figyelembe fogja venni a mapinfo.abb fájlban talált rövidítéseket. Ez egy szöveges állomány melyet akár mi is bővíthetünk. A másik két opció a címek vizsgálatára vonatkozik, nem szoktuk őket használni. A panel középső részén opcionálisan be lehet állítani egy másik táblát. Ha a program esetleg a megadott néven több objektumot is találna, akkor azokat a szerint fogja egymástól megkülönböztetni, hogy ennek a táblának melyik objektuma tartalmazza őket. A táblának meg kell adni egy oszlopát, melynek értékeivel a kigyűjtött elemeket megkülönböztetjük majd egymástól. Például, ha az Egyesült Államokban szeretnénk megkeresni egy várost, akkor célszerű itt a szövetségi államok tábláját és az államok nevét tartalmazó oszlopot megadni, így ha azonos néven több helyen is megtalálható az adott város, akkor az állam szerint tudjuk közülük kiválasztani azt, amelyikre gondoltunk. A panel alsó részén tudjuk megadni azt a szimbólumot, amivel majd a program a keresett objektumot megjelöli. Második lépésben történik maga a tényleges keresés. Ilyenkor meg kell adni a keresett szöveget. A MapInfo megkeresi az ehhez tartozó objektumot és megjelöli a térképen úgy, hogy a kozmetikai rétegben egy megadott típusú szimbólumot helyez el. Ha netán több elem is megfelel a feltételnek, akkor azok közül a lenti listából tudunk választani. Ha nem találja a program a megadott szöveget, akkor szintén a lenti listában a hozzá leginkább hasonlítóak jelennek meg. A Respecify gombbal tudunk visszatérni az első lépésben megismert panelhoz, és tudjuk megváltoztatni a keresésé paramétereit.
2. Egyszerű lekérdezések A Query menü Select pontjával könnyedén tudunk egyszerű lekérdezéseket készíteni. Ezek az egyszerű lekérdezések tulajdonképpen egy táblának egy megadott feltétel alapján képzett szelekciói, melyeket, ha kell sorba is tudunk rendezni egy oszlop alapján. A megjelenő ablakban be kell állítani, hogy melyik tábla legyen a lekérdezés forrása. Alatta meg kell adni a szelekció alapjául szolgáló feltételt, mint logikai kifejezést. Azok a sorok, melyek esetében ez az érték igaz, bekerülnek a lekérdezés eredményébe, amelyekre nézve hamis kimaradnak. A logikai kifejezést a sorok egyes mezői alapján kell megalkotni, szükség esetén az Assist gombra kattintva egy külön segédpanelban tudjuk megszerkeszteni. A kifejezésekkel bővebben a következő alfejezetben foglalkozunk. Meg kell még adni, hogy a létrejövő lekérdezésnek mi legyen a neve (Store Results in Table), illetve hogy mely oszlop szerint legyenek a sorok rendezve (Sort Results by Column). A Browse Results négyzet
segítségével azt tudjuk beállítani, hogy a lekérdezéshez létrejöjjön-e automatikusan egy Browser ablak.
3. A MapInfo-ban alkalmazható kifejezések A MapInfo-ban számos helyen van lehetőségünk kifejezéseket alkalmazni. Ekkor nem csak arra van lehetőségünk, hogy egy értéket a tábla sorainak valamelyik mezőjétől tegyünk függővé, hanem ezek mezőkből tetszőleges kifejezéseket alkothatunk. A kifejezések mezőkre való hivatkozásokból, konstans értékekből, operátorokból és függvényekből állnak. A MapInfo-ban az objektum térképi részét jelképező obj nevű mezőre speciális operátorok és függvények alkalmazhatóak, melyekkel külön alfejezetekben foglalkozunk. A mezőkre a képletben nevükkel hivatkozunk. A konstans számokat egyszerűen csak számként adjuk meg, a konstans szövegeket viszont idézőjelek közé kell tenni.
1. A kifejezésekben használható operátorok Az operátorok két érték vagy kifejezés között állnak. A MapInfo-ban a számok közti műveletekre használható a négy alapművelet (+, -, *, /), valamint a hatványozás (^) és az osztási maradék képzése (mod). Két szám összehasonlítására relációs jeleket (=, <>, <, >, <=, >=) alkalmazhatunk. Logikai kifejezések közt is tudjuk használni a szokásos operátorokat (not, and, or). Szövegek összefűzésére a + és az & jel egyaránt használható. Az műveletek végrehajtási sorrendje a szokásos: hatványozás, negáció, szorzás és osztás, összeadás és kivonás, relációjelek és térképi elemek közti műveletek, majd a not, and és or logikai operátorok. A műveletek sorrendjét zárójelek segítségével tudjuk befolyásolni.
2. A kifejezésekben használható függvények A függvényeknek egy vagy több meghatározott típusú argumentuma van. A függvény ezek értéke alapján visszaad egy meghatározott típusú értéket. A függvényeket általában a szerint szokás csoportosítani, hogy milyen típusú értéket adnak vissza.
3. A kifejezések megszerkesztésére szolgáló ablak A kifejezéseket egy külön ablakban is meg lehet szerkeszteni. Ez a panel jön például be, ha valamilyen listában az Expression gombra kattintunk. A bal felső oldalon lévő beviteli mezőbe tudjuk beírni a kifejezést. A panel jobb oldalán három legördülő lista van, melyekből könnyedén és egyszerűen tudjuk kiválasztani a mezőket, az operátorokat valamint a függvényeket. A Verify gomb segítségével tudjuk ellenőrizni a begépelt szöveget szintaktikailag.
4. Az objektumok geometriai jellemzőinek lekérdezése 1. Mértékegységekre való hivatkozás Az alábbiakban részletezett függvényeknél lényeges annak a megadása, hogy a lekérdezni kívánt geometriai jellemzőt milyen mértékegységben szeretnénk megkapni. Ezt, mint látni fogjuk, a függvények szöveges argumentumaként tudjuk megadni. Ezeknek a szöveges kifejezéseknek a lehetséges értékei hosszegységek esetében: mm: milliméter cm: centiméter m: méter
km: kilométer yd: yard mi: mérföld nmi: tengeri mérföld in: inch () ft: láb (30.48 cm) És még jó pár olyan mértékegység melyeket Magyarországon sehol sem használnak. Területeknél: sq mm: mm2 sq cm: cm2 sq m: m2 hectare: hektár sq km: km2 sq mi: négyzetmérföld A sort itt is hosszan lehetne folytatni egzotikus mértékegységgel. A hazánkban még gyakran használt négyszögölt (1 öl=3.5967m2) és kataszteri holdat (1600 öl=5755m2) a program sajnos ennek ellenére sem ismeri, így ha valamilyen értéket ilyen mértékegységben szeretnénk megkapni, akkor egy plusz osztást vagy szorzást kell a képletbe beiktatni. Vigyázzunk, mert a MapInfo gyakran az angolszász mértékegységeket ajánl fel alapértelmezettként!
2. Area Az Area(obj, me) alakú függvény egy felületszerű objektum területét adja. Nem felületszerű objektumok esetében az eredmény 0. Az obj a térképi objektumra való hivatkozás, az me a függvény által adott eredmény mértékegysége, az előző részben leírtak szerint. Például az Area(telep.obj, ”sq km”) függvénnyel egy SQL lekérdezésben a telep nevű tábla (felületszerű) elemeinek területét tudjuk lekérdezni négyzetkilométerben.
3. Perimeter Az Perimeter(obj, me) alakú függvénnyel egy felületszerű objektum kerületét kapjuk eredményül. Nem felületszerű objektumok esetében az eredmény 0. Az obj a térképi objektumra való hivatkozás, az me a függvény által adott eredmény mértékegysége. Például a Perimeter(telep.obj, ”km”) függvénnyel egy SQL lekérdezésben a telep nevű tábla (felületszerű) elemeinek kerületét tudjuk lekérdezni kilométerben.
4. ObjLen Az ObjLen(obj, me) alakú függvénnyel egy vonalas objektum hosszát adja eredményül. Nem vonalas objektumok esetében az eredmény 0. Az obj a térképi objektumra való hivatkozás, az me a függvény által adott eredmény mértékegysége. Például az ObjLen(vasut.obj, ”km”) függvénnyel egy SQL lekérdezésben a vasut nevű tábla vonalas
elemeinek hosszát tudjuk lekérdezni.
5. CentroidX, CentroidY A CentroidX(obj) és a CentroidY(obj) függvények a geometriai objektumok X és Y koordinátáit adják eredményül. Pontszerű objektumok esetében ez elég egyértelmű. Ezeket a függvényeket azonban vonalas, felületszerű és szöveges objektumokra is értelmezi a program, a középpontra, centroidra illetve beszúrási pontra vonatkozólag. Mértékegységet itt nem kell megadni, az mindig ahhoz a táblához tartozó koordinátarendszernek a mértékegysége, amelyben a kérdéses objektum található. Például a CentroidX(pontok.obj) függvénnyel a pontok tábla objektumainak X koordinátáit tudjuk lekérdezni abban a koordinátarendszerben (vetületben) és abban a mértékegységben, melyben a tábla elemeit tároljuk.
6. Distance A függvény alakja: Distance(x1,y1,x2,y2) Paraméterei kizárólag szám típusú kifejezések (melyeket persze akár egy Centroid függvény segítségével is előállíthatunk). A négy számmal, mint koordinátákkal két pont síkbeli helyzetét adhatjuk meg, amelyek közt a program számítja a távolságot. Tulajdonképpen egy egyszerű Pitagorasz tételről van csak szó.
5. Lekérdezések SQL SELECT parancs segítségével A korábban bemutatottnál jóval tágabb lehetőségeink vannak lekérdezések készítésére a Query menü SQL Select pontja segítségével. Az SQL Select parancsának megfelelő lekérdezéseket tudunk szerkeszteni egy párbeszédpanelben. Az SQL egyes predikátumai utáni részeket külön-külön beviteli mezőkbe kell értelemszerűen begépelni. A munkánkat segítik a panel jobb oldalán lévő legördülő listák, melyekből táblákat, oszlopokat, operátorokat, csoportfüggvényeket és függvényeket tudunk kiválasztani. A panel alján lévő into Table Named és Browse Results beállítások a sima lekérdezésekhez hasonlóan azt szabályozzák, hogy mi legyen a létrejövő lekérdezés neve illetve, hogy megjelenjék e tartalma egy Browser ablakban. Az ablakban mindig a legutóbbi lekérdezés látható. Ez sokszor hasznos, de ha egy teljesen új lekérdezést akarunk létrehozni, akkor a Clear gombra kattintva “tiszta lappal” indulhatunk. A Verify gomb segítségével lehetőségünk van a lekérdezés előzetes szintaktikai ellenőrzésére. Az SQL nyelv részletes bemutatása meghaladná jelen segédlet kereteit, ezért a következőkben csak röviden foglaljuk össze az egyes predikátumok utáni részeket.
1. Select A Select után meg kell adnunk a létrehozandó lekérdezés oszlopait, mint kifejezéseket. Ezek a kifejezések egyszerű esetben egy forrástáblának valamelyik oszlopára hivatkoznak. Ha több táblából végezzük a lekérdezést, akkor az oszlopokra a tábla nevével együtt hivatkozhatunk táblanév.oszlopnév alakban, ponttal elválasztva. Természetesen a fenti mezőkből kiindulva kifejezéseket is tudunk szerkeszteni, a korábban már bemutatott módon. Ilyenkor fel lehet használni azokat a függvényeket, melyek az objektum geometriai adatait adják eredményül. Az egyes kifejezéseket vesszővel kell elválasztani egymástól. Lehetőség van egyszerre több oszlop megadására is a * vagy a táblanév.* kifejezéssel. A lekérdezésnek legalább egy oszlopot tartalmaznia kell.
2. From Itt kell felsorolnunk vesszővel elválasztva azokat a táblákat, melyek a lekérdezés alapját képezik majd. Legalább egy táblát meg kell adni.
3. While Meg lehet adni egy logikai feltételt, ami alapján az eredmény sorait szűkítjük. Ez jelenthet a gyakorlatban valamilyen válogatást a sorok közt, de táblák összekapcsolását is, amivel a From után megadott táblák Descartes féle szorzatából válogatjuk ki a kapcsolási feltételnek megfelelőeket. Itt tudjuk hasznát venni azoknak az operátoroknak, melyekkel a különböző táblák térképi elemeinek geometriai viszonyait tudjuk lekérdezni. Ezek segítségével össze lehet kapcsolni két táblát anélkül, hogy klasszikus értelemben vett kulcsokat tartalmaznának. Természetesen ebben a logikai kifejezésben tetszőleges operátorokat használhatunk, sőt akár még allekérdezéseket is tudunk használni. Ha ez a mező üres, akkor szelekció nem történik.
4. Group by A Group By után egy vagy több oszlopot tudunk megadni, amelyek alapján a program csoportokat képez a szelekció utáni sorokból. Egy csoportba azok a sorok fognak tartozni, melyeknek a megadott az összes megadott mezőjében azonos érték található. A továbbiakban egy csoporthoz fog tartozni a lekérdezés eredményének egy sora. A csoportosítás alapjául szolgáló oszlopokat megadhatjuk nevükkel, vagy egy sorszámmal, ami a Select kulcsszó utáni felsorolásban elfoglalt helyre utal. Kifejezések esetében ez utóbbi az egyetlen megoldás. A fentiekből következik, hogy csoportosítás esetén a Select predikátum után nem hivatkozhatunk akármelyik oszlopra, hanem csak a csoportosítás feltételében szereplőkre, illetve a többi oszlopnak a csoportfüggvényeire. A MapInfo-ban ezen szabály megszegése nem eredményez hibaüzenetet, hanem a lekérdezésbe kerülő mezők kiszámíthatatlanul veszik fel a csoport valamelyik tagjának az értékét. A fent említett csoportfüggvények a csoport különböző értékű mezőiből valamilyen statisztikai jellegű elemzés után képeznek egyetlen értéket. A MapInfo a következő csoportfüggvényeket ismeri: Count(): számosság. Count(*) megadja a csoport elemeinek számát, Count(oszlop) megadja azoknak a soroknak a számát, ahol az adott oszlophoz tartozó mező nem NULL. Avg(): számtani közép WtAvg(,): súlyozott számtani közép Min(): minimum Max(): maximum Sum(): összeg A csoportosítás eredményének további szelekciójára (Having) sajnos nem nyílik lehetőség. Ha ez a mező üres, akkor csoportosítás nem történik.
5. Order By Lehetőség van a lekérdezés sorainak valamely oszlop vagy oszlopok szerinti sorba rendezésére. Ebben a mezőben kell megadni azokat az oszlopokat, amelyek szerint a rendezés történni fog. Több oszlopot is megadhatunk vesszővel elválasztva. A rendezés alapjául szolgáló oszlopokat a csoportosításhoz hasonlóan megadhatjuk nevükkel, vagy egy sorszámmal, ami a Select kulcsszó utáni felsorolásban elfoglalt helyre utal. Kifejezések esetében ez utóbbi az egyetlen megoldás.
Az oszlopra való hivatkozás után megadható a DESC kulcsszó, aminek hatására a rendezés csökkenő sorrendben történik az alapértelmezett növekvő sorrend helyett. Ha több rendezési feltételt adunk meg, akkor azoknak a sorrendje fogja meghatározni a rendezés során elfoglalt sorrendjüket. Ha a rendezés során az elsőként megadott mezőben lévő érték azonos, akkor a program a második rendezési feltételben megadott mezők értékeit veti össze, és így tovább. Ha ez a mező üres, akkor rendezés nem történik.
6. Hasonló szövegek keresése A MapInfo-ban lehetőségünk van a szövegek összehasonlításánál az SQL helyettesítő karaktereinek az alkalmazására. Ilyenkor az = jel helyett a Like operátort kell alkalmaznunk. A Like operátor már eleve nem különbözteti meg a kicsi és a nagy valamint az ékezetes betűket. Az “Uj” Like “új” kifejezés például igaz értéket ad. Ha egy tetszőleges hosszú rész akarunk helyettesíteni, akkor a % jelet kell használnunk. A “A%D” kifejezés például ráillik az “ABCD”, az “axd” vagy akár az “AD” szövegekre is. Látható tehát, hogy a jel helyén akár egy nulla karakter hosszúságú szöveg is állhat.
7. Geometriai objektumok közt alkalmazható logikai operátorok A geometriai objektumoknak (az obj nevű oszlop elemeinek) nem csupán egyenként tudjuk geometriai tulajdonságaikat lekérdezni. Vannak a MapInfo-ban olyan operátorok, melyeket két ilyen objektum közt értelmezünk és eredményül mindig egy logikai értéket adnak. Ezek segítségével SQL lekérdezésekben két tábla elemei közt tudunk speciális kapcsolatot létesíteni aszerint, hogy elemeik milyen viszonyban vannak. Ilyen operátorból a MapInfo ötfélét ismer.
1. Contains A Contains B A kifejezés igaz, ha A objektum tartalmazza B objektum középpontját (centroidját). Egyébként hamis. B objektum összes többi pontja közömbös a feltétel szempontjából.
2. Within A Within B A kifejezés igaz, ha A objektum középpontja (centroidja) B objektumon belül található. Egyébként hamis. A objektumnak kizárólag a középpontja számít.
3. Contains Entire A Contains Entire B A kifejezés igaz, ha A objektum tartalmazza B objektum valamennyi pontját. Ha B objektumnak akár csak egy apró része is “kilóg” B alól, a feltétel hamis.
4. Entirely Within A Entirely Within B A kifejezés igaz, ha A objektum valamennyi pontja B objektum területén belül található. Egyébként hamis.
5. Intersect A Intersect B
A kifejezés igaz, ha A és B objektumnak legalább egy közös pontja van. Ha nincs közös pontjuk, akkor hamis.
8. Oszlopok kapcsolása más táblákból (Join) A relációs adatbázisok táblát közt többszörösen tárolt oszlopok, a kulcsok segítségével tudunk kapcsolatot teremteni. Kulcs lehet például földrészletek esetében a helyrajzi szám, települések estében a KSH kód, de lehet egy kimondottan csak az adott rendszeren belül használatos adat. A MapInfo a táblák kapcsolására oszloponként ad lehetőséget, tehát nem az egész táblát, hanem csak egyes oszlopait kapcsoljuk a másik táblához. A művelethez válasszuk a Table menü Update Column pontját. Látni fogjuk, hogy itt nem csupán a kapcsolásra van módunk, hanem arra is, hogy egyes oszlopok mezőinek új értéket adjunk a többi oszlopra hivatkozó képletek segítségével. A legfelső legördülő listából kell kiválasztani azt, hogy melyik táblához akarjuk az oszlopot csatolni vagy, hogy melyik tábla valamely oszlopának szeretnénk új értéket adni. Alatta tudjuk beállítani, hogy melyik oszlop értékét akarjuk módosítani. Kapcsolás esetén ez a beállítás lényegtelen. Fontos még, hogy melyik táblából szeretnénk az oszlopot kapcsolni, amit közvetlenül a fenti két beállítás alatt lehet kiválasztani egy legördülő listából. Attól függően, hogy itt melyik elemet válasszuk, dől el, hogy máshonnan csatolunk egy oszlopot, vagy egy meglévő oszlop mezőinek adunk új értékeket. Ha ez a tábla ugyanaz, mint a legfelül beállított, akkor ennek a táblának a kiválasztott oszlopában lévő elemeknek fogunk új értéket adni. A Value mezőbe tudjuk begépelni a kívánt kifejezést, amiben az Assist gombra kattintva a már jól ismert kifejezés szerkesztő párbeszédpanel is a segítségünkre van. Ha egy másik táblát választunk, akkor abból a táblából egy oszlopot fogunk csatolni. A Join gombra kattintva tudjuk beállítani a kapcsolás módját, ami alapvetően kétféle lehet. Az általános rendeletetésű adatbázis-kezelőkben is használatos módszer az, hogy a két táblát valamely leíró adat oszlopa alapján kapcsoljuk. Ekkor meg kell adni, hogy a kapcsoláshoz használatos kulcsot mely oszlop tartalmazza az egyik, illetve a másik táblában. Ezt két legördülő listában tehetjük meg. Amennyiben mind a kettő táblához tartoznak térképi elemek, lehetőségünk van a kapcsolást ezek viszonya alapján megtenni. Itt azt kell csak kiválasztanunk, hogy az első tábla elemének kell-e tartalmaznia a második tábla elemét (contains) vagy fordítva (is within), esetleg megelégszünk ha közös metszetük létezik (intersects). Akármelyik lehetőség szerint történik is a kapcsolás, egy sorhoz a másik táblából a megadott feltétel alapján több sor is tartozhat, tehát a több érték is rendelkezésünkre állhat. Egy legördülő listából van lehetőségünk kiválasztani, hogy milyen módszert kövessünk ilyen esetekben. Alatta meg lehet adni, hogy melyik oszlop értékét szeretnénk csatolni. A csatolt érték kiszámításának módszerei: Value: Egy értéket vesz fel a kapcsolási feltételnek megfelelő sorok adataiból. Akkor használható célszerűen, ha a kapcsolási feltétel és a kapcsolandó táblák ismeretében biztosak vagyunk abban, hogy a kapcsolódó sorokban kérdéses mezőiben csak egyféle adat szerepel. Avg: a kapcsolási feltételnek megfelelő sorok kérdéses mezőinek számtani közepe. (átlaga) Count: a kapcsolási feltételnek megfelelő sorok száma. Min: a kapcsolási feltételnek megfelelő sorok kérdéses mezőiben lévő legkisebb érték. Max: a kapcsolási feltételnek megfelelő sorok kérdéses mezőiben lévő legnagyobb érték. Sum: a kapcsolási feltételnek megfelelő sorok kérdéses mezőinek összege. WtAvg: a kapcsolási feltételnek megfelelő sorok kérdéses mezőinek súlyozott számtani közepe (átlaga) Három további típussal területtel súlyozott számításokat (Proportion) lehet végezni. Súlyozott átlag esetében a csatolt oszlop mellett azt az oszlopot is meg kell adni, melyben a súlyok értékei vannak.
9. Sorok hozzáfűzése Lehetőségünk van arra, hogy egy táblához hozzáfűzzük egy másik tábla vagy lekérdezés sorait a Table menü Append Rows to Table pontjával. Ezt követően legördülő listák segítségével be kell állítanunk, hogy melyik táblához csatolunk újabb sorokat, mely táblából vagy lekérdezésből.
6. Browser ablakok 1. Browser ablakok jellemzői A Browser ablakok szolgálnak a MapInfo-ban megnyitott táblák leíró adatainak táblázatos formában történő megjelenítésére és módosítására. Browser ablakokban megjelenhetnek térképi vonatkozással rendelkező vagy nem rendelkező táblák leíró adatai, valamint a lekérdezések eredményei. Új Browser ablakot a Window menü New Browser Window pontjával, az F2 funkcióbillentyűvel, vagy a tools eszköztár megfelelő ikonjával tudunk létrehozni. Ha több alkalmas forrás (több megfelelő megnyitott tábla vagy lekérdezés) is van, akkor egy panelban egy listából kell kiválasztanunk, hogy ezek közül melyiket szeretnénk megjeleníteni, itt akár több táblát is kiválaszthatunk, ha csak egyetlen tábla van megnyitva, akkor ez a lépés kimarad és a kérdéses táblához egyből létrejön egy Browser ablak. Bizonyos esetekben egy tábla megnyitásakor automatikusan is létrejön Browser ablak. Az ablak felső részén, a táblázat első sorában találhatjuk az egyes oszlopok megnevezéseit. Ha az egérkurzort valamelyik oszlopcímke felé visszük az ott mancs alakúvá alakul. Ekkor az egér bal gombjának folyamatos lenyomása mellett lehetőség van az oszlop elmozdítására, az egyes oszlopok sorrendjének ily módon történő megváltoztatására. Ha az egeret két oszlopcímke közé visszük ott egy másik alakot vesz fel, amellyel, szintén az egér bal gombjának folyamatos lenyomása mellett, az egyes oszlopok szélességének szabályozására nyílik lehetőség. A táblázat bal oldalán minden sor előtt találhatunk egy négyzetet, amely üres vagy kitöltött lehet. A Browser ablakban ez szolgál annak jelölésére, hogy az adott elem kijelölt állapotban van-e. Ha igen, akkor ez a négyzet kitöltött, ellenkező esetben üres. Magunk is kijelöltté tehetünk elemeket úgy, hogy az egérrel egy ilyen négyzetre kattintunk. Ilyenkor egyben megszűntetjük az addigi kijelölést, kivéve ha eközben a SHIFT billentyűt is nyomva tartjuk, mert ekkor az addigi kijelölés megmarad és kibővül az érintett sorral. Ha SHIFT lenyomása mellett egy már kijelölt sor négyzetére kattintunk, akkor annak az egyetlen sornak a kijelölését szűntetjük meg, a többi kijelölés (ha volt ilyen) megmarad. Az ablak jobb oldalán és alul görgetősávok vannak az ablak tartalmának vízszintes és függőleges mozgatására. Az egész Browser ablak a megszokott módon méretezhető és elmozgatható az egér segítségével. A Browser ablak segítségével lehetőségünk van a leíró adatok megtekintésére és módosítására. Ha valamelyik mezőre rákattintunk az egérrel, akkor lehetőségünk nyílik a mező tartalmának megváltoztatására a billentyűzetről segítségével. A CTRL+E billentyűkombináció hatására, illetve az ennek megfelelő New Row parancsot kiválasztva az Edit menüből vagy a Browser ablak gyorsmenüjéből, egy új sort tudunk beszúrni. A létrejövő sorhoz nem tartozik geometriai elem, még akkor sem, ha a táblához egyébként igen. Ezt később kell megrajzolnunk egy olyan térképablakban, ahol a kérdéses réteg a szerkeszthető, miután az új elemet (és csak azt) a kijelöltté tesszük.
2. Oszlopok megjelenítésének módosítása A Browse menü mindössze két pontot tartalmaz. Az Options pontra kattintva csupán egyetlen dolgot, a táblázat vonalainak megjelenítését tudjuk szabályozni. A Pick Fields paranccsal tudjuk beállítani az ablakban megjelenő oszlopokat egy párbeszédpanel segítségével. A panel felső részén két lista található. A bal oldali felsorolja a tábla összes oszlopát, a jobb oldali pedig azokat, melyek az ablakban szerepelnek. A két lista közt az Add és Remove gombokkal elemeket átcsoportosítani, ezzel szabályozva azt, hogy mely elemek jelenjenek meg az ablakban. A jobb oldali lista alatt található Up és Down gombok segítségével tudjuk módosítani az oszlopok sorrendjét. Ez azért lényeges, mert az oszlopok ennek a sorrendnek megfelelően fognak megjelenni az ablakban. A bal oldali panelban lévő felsorolás kiegészül kifejezés megadásának lehetőségével (Expression). Ennek hatására nem valamely mezők tartalmai jelennek meg a táblázat soraiban, hanem egy vagy több mezőből származtatott
mennyiségek. Ezeknek megjelenése a többi mezőéhez hasonló, de értékük megváltoztatására érthető okokból nem nyílik lehetőség. Ha a jobboldali listának valamely elemét kijelöljük, annak jellemzői megjelennek a panel alsó részén. Itt lehetőség nyílik külön beállítani az oszlop nevét a Name mezőben. Ez az a megnevezés, ami táblázat fejlécében fog szerepelni az oszlop tetején. Ezt itt kötetlenül tudjuk beállítani, függetlenül a forrásban használatos névtől, szabadon használva szóközt vagy ékezetes karaktereket. Alatta, az Expression mezőben az oszlophoz tartozó kifejezés áll. Ez többnyire az oszlopnak a forrásbeli megnevezése, de ha valamilyen kifejezéssel származtatjuk a mezők értékeit, akkor azt láthatjuk itt. Ha a kifejezést a már megszokott panelban akarjuk szerkeszteni, akkor az Assist gombra kell kattintanunk.
7. Térképablakok 1. A térképablakok kezelése és általános jellemzői Egy térképablakban különféle rétegeket jeleníthetünk meg, meghatározott kitakarási viszonyok és egyéb jellemzők mellett. A térképablakban rétegként megjelenhetnek egyrészt azok az állományok melyek relációs táblaiban térképi elemeket tartalmazó mező is található, másrészt raszteres képek is. Kimondottan az egyes térképablakokhoz kötődnek a tematikus rétegek és a kozmetikai réteg. Térképablakot a Window menü New Map Window parancsával, ez ennek megfelelő ikonnal vagy az F3 funkcióbillentyű lenyomásával hozhatunk létre. Az ekkor megjelenő ablakban ki kell választani azt a legalább egy, de legfeljebb négy táblát, amelyeket a térképablak kezdetben tartalmazni fog. A választás legördülő menükből történik, melyekben megjelenik minden olyan tábla, amely térképablakban szerepelhet. Ha csak egy erre alkalmas tábla van, akkor a fenti párbeszédpanel elmarad, és a térképablak egyből megnyílik azzal az egyetlen táblával. Bizonyos esetekben táblák megnyitásakor a program automatikusan is létrehoz egy térképablakot a megnyitott állománynak. A munkaterületen természetesen több térképablak is elhelyezkedhet. Ha a munkaterület ablakai közül egy térképablak van éppen kijelölve, akkor a menüsorban megjelenik egy új, Map nevű menüpont. Ennek tartalma jelentős átfedést mutat azzal a gyorsmenüvel, amit a térképablakra az egér jobb gombjával kattintva kapunk. Ebben a menüben végezhetjük el a térképablakra vonatkozó beállításokat és egyéb műveleteket. (Mindig az aktuális térképablakra vonatkozólag!) A térképablak jellemzőit a Map menü legalján elhelyezkedő Options menüponttal tudjuk beállítani. Itt tudjuk megadni, hogy milyen legyen a térképlak vetülete és, hogy milyen mértékegységben értelmezzük a hosszakat, a területeket illetve a koordinátákat. Ez utóbbi erősen függ a beállított vetülettől. Meg tudjuk még adni a Display is Status Bar alatt, hogy a státuszsorban a kurzor koordinátái vagy a méretarányt kifejező valamilyen mennyiség jelenjék-e meg. A When resizing Window alatt lehet meghatározni, hogy hogyan viselkedjék a térképablak átméretezéskor, a tartalmat vagy a méretarányt kövesse-e. A térképablakban szerepelő rétegeket, azok sorrendjét illetve egyedi jellemzőit a Layer Control panelban tudjuk beállítani. A párbeszédablak több helyről is elérhető, ha több térképablak van a munkaterületen, akkor természetesen mindegyikhez külön beállítások tartoznak. Ha egy térképablak felett az egér jobb gombjával kattintunk, akkor egy menü jeleni meg melynek legelső pontja a Layer Control. Szintén megtalálható ez a menüpont a Map menüben. (Map menü csak akkor jelenik meg ha egy térképablak aktív! Ennek az aktív térképablaknak a rétegbeállításait tudjuk itt megtenni.) Használhatjuk a Layer Control ikont is a Main eszköztáron. Ez szintén csak akkor aktív, ha egy térképablak van kijelölve.
2. A kozmetikai réteg A kozmetikai réteg (Cosmetic Layer) egy speciális réteg, melyben tetszőleges vektoros rajzi elemeket helyezhetünk el, azokkal ott műveleteket végezhetünk. Az elemekhez leíró adatok nem tartoznak. Ez szolgálhat egyrészt arra, hogy a térképre firkákat, jegyzeteket helyezzünk, másrészt bizonyos szerkesztéseket elvégzésére is használhatjuk, ilyenkor a művelet eredményének megtekintése után tudjuk eldönteni, hogy azt átmásoljuk-e a végleges rétegébe. A fenti műveletre a Map/Save Cosmetic Object menüpont használható. Egy párbeszédpanelben csupán azt kell csak kiválasztanunk egy legördülő listából, hogy melyik vektoros rétegbe szánjuk az objektumokat. A lista elején, a munkaterület vektoros táblái előtt egy
pont található. Ezt választva a kozmetikai réteg elemeinek egy új táblát tudunk létrehozni. A táblában leíró adatként mindössze egy ID nevű, integer típusú oszlop lesz.
A kozmetikai rétegben lévő elemeket egyébként csak a munkaterülettel együtt tudjuk elmenteni. A kozmetikai rétegben lévő elemek törlésére a Map/Clear Cosmetic Layer menüpont alkalmas. A program ezt követően még rákérdez egyszer a törlésre, majd eltávolítja a kozmetikai rétek valamennyi elemét. Az egyes térképablakok kozmetikai rétegei függetlenek egymástól, vagyis ha az egyikbe rajzolok valamit, annak eredménye egy másikban nem fog jelentkezni. A kozmetikai réteg mindig a legfelül helyezkedik el a kitakarási sorrendben és láthatóságát sem lehet kikapcsolni.
3. Vektoros rétegek és jellemzőik A MapInfo-ban a leíró adatokhoz a már említett módon térbeli (térképi, grafikus) adatok is csatlakozhatnak, ezek táblánkénti összessége képez egy réteget, melyeket a térképablakokban meg tudunk jeleníteni. Az egyes rétegek jellemzőit a Layer Control panelban tudjuk beállítani. Módosíthatjuk a rétegek sorrendjét és ezzel együtt a kitakarási viszonyokat az Up és a Down gombok segítségével. Új réteget tudunk a térképablakhoz hozzáadni az Add gomb segítségével a megnyitott táblák közül vagy a listában éppen kijelölt réteget tudjuk eltávolítani a Remove gombra kattintva. A rétegek nevei mellett jelölőnégyzeteket is találunk melyekkel négy fontos jellemzőt tudunk beállítani. Az első a réteg megjelenítését szabályozza. Ha nincs bejelölve, akkor réteg nem látszódik, melynek következtében nem is szerkeszthető, kijelölhető vagy címkézető. A második jelölőnégyzettel a réteg szerkeszthetőségét lehet beállítani. Ha a réteg szerkeszthető, akkor egyben látható és kijelölhető is. A harmadik beállítási lehetőség a réteg kijelölhetőségére vonatkozik. Ez azon túl, hogy a réteg elemeit a későbbiekben bemutatásra kerülő eszközökkel ki tudjuk jelölni a térképablakban, az illesztésre (SNAP) és az Info Tool használatára is vonatkozik. A negyedik jellemző a réteg elemeinek felcímkézése, melyről később még bővebben szó lesz. A réteg további jellemzőit tudjuk beállítani a Display gombra kattintva a Display Options panelban. Az ablak függőlegesen három részre tagolt. Legfelül van lehetőségünk a réteg térképi elemeinek megjelenítési jellemzőit az adott esetre vonatkozólag felülbírálni. A jelölőnégyzetet bejelölése után aktívvá válnak azok az ikonok, melyek segítségével az új jellemzőket be tudjuk állítani külön-külön a pontszerű, a vonalas valamint a felületszerű elemek, illetve a feliratok esetében. A panel középső részén a réteg megjelenítését egy méretarány intervallumhoz tudjuk kötni. A jelölőnégyzet kiválasztása után be kell állítani a méretarány tartománynak a két végpontját, a már ismert módon, a térképablak szélességében megadva. Ha egy réteg az előbbi okból nem lesz látható, akkor a Layer Control panel listájában a réteg mellett a pipa színe lilára változik. A panel alján a térképi objektumok geometriai jellemzőinek megjelenítésével kapcsolatos dolgokat tudunk beállítani. Ezek: Show Line Direction: Bekapcsolt állapotban a vonalas elemek irányítottságát az adott réteg elemeinek esetében egy nyíllal jelöli. Show Nodes: Bekapcsolt állapotban az elemek töréspontjait kicsiny kék négyzetekkel jelöli meg. Show Centroids: Bekapcsolt állapotban a felületek középpontjait (centroidjait) kicsiny kék négyzetekkel jelöli meg. Ha a réteg szerkeszthető, lehetőségünk nyílik ezen négyzetek segítségével az egeret használva a centroid módosítására.
4. Raszteres képek megjelenítése A térképablakokban raszteres rétegek is megjelenhetnek. Ezek jellemzőit néhány korlátozással a vektoros rétegekhez hasonló módon tehetjük meg. Jellegéből adódóan a raszteres rétegeket nem lehet kijelölni, szerkeszteni és címkézni, egyedül a megjelenítést tudjuk ki és be kapcsolni. Nem lehet továbbá, szintén magától érthető okokból, megjelenítési paramétereit felülbírálni, töréspontjait megjeleníteni. Ebből következően a Display Options panelnak csupán a középső része használható, ahol a megjelenítést méretarány intervallumhoz tudjuk kötni.
5. Objektumok létrehozása (rajzolása) a térképablakban
Térképi objektumokat rajzolni a Drawing eszköztár felső részén elhelyezkedő ikonok segítségével tudunk. Ilyenkor alapértelmezésben egy új objektumot hozunk létre üres leíró adatmezőkkel. Ha szerkesztésre kijelölt táblában éppen egy olyan elem van kijelölve, melyhez nem tartozik térképi elem, akkor a megrajzolt elem ehhez a rekordhoz fog tartozni. A rajzolás egér segítségével történik. Pontszerű objektumok esetében egyszerűen csak a kívánt helyre kell kattintani, hogy létrejöjjön a térképi elem, alapértelmezés szerinti jelkulccsal. Szabályos geometriájú elemek esetében az egér folyamatos nyomva tartása mellett kell megadnunk a befoglaló téglalapot. Polygon és Polyline típusú elemek esetében a töréspontok helyeit kell sorban megadni az egérrel a kívánt helyekre kattintva. A művelet befejezését azzal tudjuk elérni, hogy az utolsó ponton duplán kattintunk vagy hogy az utolsó pont után lenyomjuk az ALT billentyűt. Polyline típusú elem esetében legalább kettő, Polygon esetében legalább három töréspontot meg kell adni. A legtöbb gyakorlati esetben követelmény, hogy a felületszerű elemek egymáshoz hézag és átfedés nélkül csatlakozzanak, vagy hogy a vonalas elemek pontosan ugyanabba a csomópontban fussanak össze. A MapInfo-ban ilyenkor az illesztés (Snap) módot be kell kapcsolni. A Snap mód ki- és bekapcsolására az S betű szolgál. Ha a Snap mód be van kapcsolva, a státuszsorban megjelenik a SNAP felirat. Ilyenkor ha az egeret egy már meglévő objektum alakjelző pontjának közelébe visszük, a ponton egy halvány kereszt fog megjelenni jelezvén, hogy az egér kattintását pontosan azon a helyen fogja értelmezni a program, ahol a már létező pont van. (A Snap művelet toleranciáját vagyis, hogy milyen közel kelljen vinni az egérkurzort a már létező ponthoz, a Map Window Preferences panelban lehet beállítani.) Feliratok létrahozásánál első lépésben a beszúrási pontra kell kattintani. Ekkor a kívánt helyre be tudjuk gépelni a kívánt szöveget. Akár pontszerű, vonalas vagy felületszerű objektumokról illetve feliratokról van szó mindig az alapértelmezés szerinti megjelenítési paramétereket veszik fel. Ezek beállítására használhatjuk a rajzoló (Drawing) eszköztár alján található ikonokat, az Options menü felső részében lévő pontjait vagy a megfelelő billentyűkombinációkat.
6. Objektumok kijelölése a térképablakban Az objektumokon végzett műveletek szempontjából lényeges, hogy melyik elemek vannak kijelölve. Alapvető szabályként elmondhatjuk, hogy egyszerre csak egy rétegből lehetnek kijelölve elemek. A kijelölés nem korlátozódik az aktuális térképablakra, a MapInfo egész felületén érvényes, nem csak a többi térképablakban, hanem pl. a Browserekben is. A kijelölt elemek egy speciális lekérdezést alkotnak, melyre a Selection néven tudunk hivatkozni. Objektumok kijelölésére a Main eszköztár felső részén található ikonokat használhatjuk. Legegyszerűbb esetben az egyes objektumokat egyenként, az egérrel egyszerűen rájuk kattintva tudjuk kijelölni. Ha több objektum is található egymáson a térképablakban, akkor a CTRL billentyűt lenyomva tartva az egymás utáni kattintások során más és más objektumok kerülnek kijelölt állapotba. Objektumok tömeges kijelölésére használhatunk téglalapot, kört vagy poligont. Téglalap esetében az egér bal gombjának lenyomása közben kell a kívánt téglalapot kijelölni. Kör használatakor először a középpontot kell megadni, majd szintén a bal gomb lenyomása közben ki kell jelölni a kör egy pontját. A művelet közben a státuszsorban folyamatosan látjuk a kör sugarának értékét. A poligonnal történő kijelölés a poligon rajzolásához hasonlóan történik. Ezeknél a módszereknél azok az objektumok kerülnek kijelölt állapotba, melyek középpontja (centroidja) az alkalmazott síkidom területébe esik. Kijelöléskor, történjék a fenti módszerek bármelyikével, alapesetben az addigi kijelölés megszűnik. Ha ezt el szeretnénk kerülni, tartsuk lenyomva a SHIFT billentyűt, minek következtében az eddig kijelölt elemek kijelölt állapota megmarad, az újabb kijelölés ezekhez adódik hozzá. A SHIFT gomb lenyomása mellett az objektumok egyenkénti kijelölését végző eszköz segítségével lehetőségünk van egyes elemek kijelölésének megszűntetésére is.
7. Térképi objektumok módosításának egyszerűbb esetei Az objektumok szerkesztésekor fontos, hogy a módosítani kívánt elemeket tartalmazó réteg szerkeszthető legyen. Ilyenkor pontok esetében a kijelölés formája is megváltozik. Az egyszerű kijelöléseknél használt nyíllal egy elemre kattintva, a jobb gomb folyamatos nyomva tartása
mellett lehetőségünk van az elem eltolására. Kiterjedéssel rendelkező elemek esetében a befoglaló téglalap négy sarkában megjelenő négyzetek segítségével az objektumot méretezni tudjuk. Ha az elemek geometria jellemzőit nem az egér segítségével akarjuk módosítani, hanem számszerűen szeretnénk megadni, akkor kattintsunk duplán az érintett objektumra vagy kijelölés után nyomjuk az F7 funkcióbillentyűt. Az ilyenkor már megszokott panelban megjelennek a geometriai jellemzők számszerű értékei, de ha a réteg szerkeszthető, módosítani is tudjuk őket. Polyline és Polygon típusú elemek esetén szükség lehet az egyes töréspontok módosítására. Ezt az objektum kijelölése után a Drawing eszköztár középső részének bal oldali ikonjára kattintva tehetjük meg. Ekkor az elem befoglaló téglalapjának sarkaiban elhelyezkedő négy kis fekete négyezet helyett valamennyi törésponton megjelenik egy-egy ilyen kis négyzet, melyeket az egér segítségével megfoghatunk és elmozdíthatunk. A SHIFT billentyű lenyomása mellett lehetőség nyílik egyszerre több töréspont kijelölésére, melyeket a következőkben közösen tudunk mozgatni. Új töréspontot beszúrni az eszköztár középső részének jobb oldali ikonjával tudunk. Amennyiben valamely vonalszakaszra kattintunk, a kijelölt helyen egy újabb töréspontot iktathatunk be, amely a szakasz egyenesében lesz. Ha nem ezt szeretnénk, akkor a bal oldali gombot lenyomva húzzuk az egeret a kívánt helyre, ahová az új töréspontot helyezni akarjuk.
8. Térképablakból való lekérdezést támogató eszközök 1. Info Tool Az Info Tool nagyon hasznos eszköz, ha a térkép alapján beazonosított objektumok leíró adataira vagyunk kíváncsiak. Alkalmazásához a Main eszköztár jellegzetes i betű alakú ikonjára kell kattintani. A kis keresztté alakult egérkurzorral a térképablak egy pontjára kell kattintani. Amennyiben az adott helyen egyetlen objektum sincsen (fontos, hogy csak azokból a rétegekből tudunk így lekérdezni, melyek kijelölhetőek!) akkor az Info Tool ablakban a “No record” üzenet jelenik meg. Ha a kérdéses pontban egy objektum helyezkedik el, akkor az Info Tool ablakában az objektum leíró mezőinek nevei és értékei jelennek meg egymás alatt elrendezve. Amennyiben az objektumot tartalmazó réteg szerkeszthető, a mezők adatait módosítani is tudjuk. Ha a kijelölt pontban több objektum is található, akkor az Info Tool ablakban első lépésben ezen objektumok listája jelenik meg, melyből ki tudjuk választani, melyik objektum adataira vagyunk kíváncsiak. A lista elemei táblanév, kettőspont, az első szöveges mező tartalma vagy ennek híján az első mező tartalma szerkezetűek. Az ablak alján ilyenkor három nyomógomb is megjelenik, mellyel a különböző objektumok közt lépkedhetünk, illetve a listához tudunk visszatérni.
2. Vonalzó A vonalzót (Ruler) akkor használjuk, ha a térképen távolságokat akarunk lemérni. Nem csupán egyetlen egyenes szakasz hosszának lemérésére van lehetőségünk, egyenes szakaszokból álló útvonal hosszát is egyszerűen meg lehet határozni. Alkalmazásához a Main eszköztár vonalzó alakú ikonjára kell kattintani. Az útvonal töréspontjait egymás után kell az egér segítségével megadni. A megjelenő Ruler ablakban folyamatosan látjuk, hogy az éppen aktuális egérpozíció mekkora távolságra van a legutóbbi csomóponttól, melyet egy egyszerű egérkattintással adtunk meg, és mekkora az egyenes szakaszokból álló útvonal teljes hossza. A távolság mértékegysége a Map/Options Distance units beállításától függ. A művelet befejezéséhez, illetve egy újabb útvonal mérésének megkezdéséhez duplán kell kattintani vagy le kell nyomni az ESC vagy az ALT billentyűk valamelyikét.
3. Gyorsstatisztikák Ha az éppen kijelölt objektumokra vonatkozó statisztikákra vagyunk kíváncsiak, akkor kattintsunk a Main eszköztár szumma jel (Σ ) alakú ikonjára. A megjelenő ablakban folyamatosan nyomon tudjuk követni a kijelölt objektumok szám típusú leíró mezőinek összegét és átlagát.
9. Objektumok címkézése
A MapInfo lehetőséget nyújt egy réteg objektumainak automatikus feliratozására, címkézésére. Ezt a Layer Control panelban tudjuk bekapcsolni, mint ahogy korábban volt már szó volt róla. A címkézés jellemzőit is itt tudjuk beállítani a Label gombra kattintva. Az ilyenkor bejelentkező panel legfelső részében tudjuk beállítani egy legördülő lista segítségével azt a mezőt vagy kifejezést (Expression), ami alapján a címkézés történni fog. A párbeszédpanelnek az előbbi elem alatt elhelyezkedő részében a címkék megjelenésének feltételeit tudjuk szabályozni. A bal oldalon ki illetve be tudjuk kapcsolni, vagy méretaránytól tudjuk függővé tenni a címkék megjelenését. ki illetve be tudjuk kapcsolni, vagy méretaránytól tudjuk függővé tenni a címkék megjelenését. Jobb oldalon beállíthatjuk a szövegek duplázásának, átfedésének engedélyezését, valamint a címkék maximális számát. A panel bal alsó részében tudjuk beállítani a címkék betűtípusát, valamint a címke és az objektum közötti vonal típusát. Ez alapértelmezésben ki van kapcsolva (None), de lehet egy egyszerű (Simple) vagy egy nyíllal ellátott (Arrow) vonal is. A jobb alsó részen lehet meghatározni a címke elhelyezkedését, értelemszerű ikonok segítségével, az objektum középpontjához (centroid) viszonyítva. Vonalas objektumok esetében lehetőség van a címkének a vonalra történő illesztésére is (Rotate Label with Line). Be tudjuk állítani a címkének a középponttól, illetve a vonaltól mért távolságát (Label Offset).
10.Kivágatok használata a megjelenítés során Lehetőség van arra, hogy térképablakban csak egy bizonyos terület felett rajzoltassuk ki az objektumokat. Ehhez első lépésben ki kell jelölni azokat az objektumokat melyek a kívánt területet lefedik, a Main eszköztár jobb alsó sarkában lévő Set Clip Region ikon segítségével. Ha már ki van jelölve valami, akkor a program rákérdez a cserére. A bal alsó sarokban lévő ikon segítségével ki és be kapcsolhatjuk a kivágat alkalmazását.
8. Tematikus térképek 1. A tematikus térkép rendeltetése A tematikus térképek feladata az objektumok valamely attribútumának térképi ábrázolása, úgy hogy az objektumot képviselő térképi megjelenését valamilyen szabályos elv szerint az objektum kérdéses tulajdonságától tesszük függővé. Ez történhet úgy, hogy az objektum rajzolatát (pontját, vonalát vagy felületét) átvéve és azt más, a ábrázolandó értéktől függő, megjelenítési paraméterekkel rajzoljuk ki, például annál sötétebb vagy világosabb színben jelennek meg az objektumok a térképen, minél nagyobb a kijelölt mezőben tárolt érték. Másik gyakori megoldás, hogy az objektumokra (szintén az ábrázolandó adatoktól függően) különböző grafikai elemeket helyezünk, melyek legfeljebb csak nagyjából követik az objektum geometriáját. A fenti feladatra számos eljárást dolgoztak ki, melyek közül a könyvben azokat mutatom csak be, amiket a MapInfo Professional 6.00 verziója támogat.
2. Tematikus térképek létrehozásának lépései és módosításuk A MapInfo-ban a tematikus rétegek a térképablakokhoz kötődnek, azokban mint speciális rétegek jelennek meg. Ez azt eredményezi, hogy a kezelésükkel kapcsolatos parancsokat a Map menüben találhatjuk meg. Mivel a térképablakhoz kötődnek, elmenteni is csak úgy lehet őket, hogy az egész munkaterületet elmentjük a térképablakkal együtt. A tematikus rétegek térképablakok közti másolására nincs mód. Tematikus térképet a Map menü Create Thematic Map… pontjával tudunk létrehozni. (A Map menü eleve csak akkor jelenik meg, ha egy térképablak aktív. Ha több térképablak is van a munkaterületen, akkor a tematikus réteg ahhoz fog tartozni amelyik éppen aktív.) A tematikus réteg létrehozása ezt követően három lépésben történik. Első lépésben ki kell választanunk, hogy milyen típusú tematikus térképet szeretnénk létrehozni. Ez régebbi verzióknál egy egyszerű panelban történt, ahol 3x2-es tömbbe rendezve a hat támogatott típust jelképező ikonok közül választhattunk. A 6.00-ás verziótól az ikonok a párbeszédpanel bal oldalán, oszlopba rendezve sorakoznak, tőlük jobbra egy lista található, ahonnan a típusokon belül az előre definiált stílusok közül választhatunk, és a panel jobb oldalán egy mintát is láthatunk a kiválasztott stílusról. Ilyen stílusokat az alapbeállításban szerepelőkön túl mi is létre tudunk majd hozni.
Második lépésként meg kell adni, hogy melyik táblából és mely attribútum alapján szeretnénk tematikus réteget létrehozni. A panel tetején egy legördülő listából tudjuk kiválasztani a táblát azok közül a táblák közül, melyek az aktuális térképablakban mint vektoros rétegek szerepelnek. Ez alatt tudjuk beállítani, hogy a tematikus térkép készítéséhez a tábla mely oszlopának (oszlopainak) adataiból kívánunk kiindulni. Ezt általában szintén egy legördülő listából lehet kiválasztani, de vannak olyan tematikus térképtípusok (oszlop és torta diagrammok) ahol egyszerre több jellemző ábrázolására is lehetőségünk nyílik. Ilyenkor egy a panel bal oldalán elhelyezkedő listából tudjuk kiválogatni a kívánt mezőket, kiválasztásuk után az Add gombra kattintva. Ezek a mezők ezután a jobboldali panelba kerülnek ahonnét eltávolításuk az előbbiekhez hasonlóan a Remove gomb segítségével történik. A mezők sorrendjét az Up és Down gombokkal tudjuk változtatni. (A sorrend a későbbiekben fontos lehet) Akármelyik eset is áll fenn a rendelkezésünkre álló oszlopok listája azonos. Szerepelnek benne a fent kiválasztott tábla attribútumai (a tematikus térkép típusától függően, általában csak a számszerűek), és még két speciális lehetőség. A táblához másik táblából (vagy lekérdezésből) kapcsolhatunk egy oszlopot a Join… pont segítségével. Ilyenkor egy Update Column for Thematic nevű panelba jutunk, amely megegyezik az Update Column panellal, csak az első két paraméter már adott és nincs Browse Result jelölőnégyzet. Az ilyenkor létrehozott oszlopkapcsolat a későbbiekben is fennmarad. Másik speciális lehetőség, hogy nem egy konkrét mezőre hivatkozunk, hanem egy kifejezést adunk meg, amelyben a tábla valamennyi oszlopa szerepelhet. Itt szintén egy ismerős panelba jutunk, ahol az alkalmazni kívánt kifejezést meg tudjuk szerkeszteni. Lehetőség van arra, hogy az üres vagy 0 értékű mezőket tartalmazó (a MapInfo-ban nincs külön NULL érték) elemeket ne vegyük figyelembe a tematikus térkép készítésekor, erre szolgál az Ignore Zeroes or Blanks jelölőnégyzet. Ha ezt bejelöljük, akkor a 0 vagy üres mezőkhöz tartozó objektumok a kérdéses tematikus térkép szempontjából olyanok lesznek, mintha nem is léteznének. Harmadik lépésként a tematikus térkép stílusát és egyéb jellemzőit kell beállítanunk. (a Customize csoport felső két gombja) Ezek nagy része a tematikus ábrázolás típusától függ és ezért a kérdéses típusoknál tárgyaljuk őket. Másik részükkel a tematikus réteghez generálódó jelmagyarázat jellemzőit állíthatjuk be (Legend… gomb), ezzel a későbbiekben szintén részletesen foglalkozunk. Ezeket a beállításokat a 6.00-ás verziótól kezdve el is tudjuk menteni. Ilyenkor a továbbiakban az általunk összeállított stílus a megadott néven lesz elérhető az első lépésben említett listából. A harmadik lépésben beállított jellemzőket a későbbiekben is lehetőségünk lesz módosítani. A Map menü Modify Thematic Map… pontját választva egy panelba jutunk. Ha több tematikus réteg is van az aktuális térképablakban akkor itt tudjuk kiválasztani, hogy melyiket akarjuk módosítani. Ha csak egyetlen tematikus réteg van az aktuális térképablakban akkor az előbbi panel kimarad, egyből a tematikus réteg módosítását szolgáló párbeszédablakba jutunk. Ez teljes egészében megfelel a létrehozáskor használt harmadik panelnak, csupán a címe más a fejlécben és a Back gomb hiányzik róla, mivel az első két lépésben beállított jellemzőket később már nem lehet megváltoztatni. Mivel minden a jellemzők utólagos megváltoztatását szolgáló művelet teljesen megegyezik a létrehozáskor alkalmazandó eljárással, ezekre az egyes típusok leírásánál külön nem térünk ki. A Layer Control panelban a tematikus rétegek a listában kissé beljebb kezdve, mindig a forrástábla rétege felett jelennek meg, sorrendjüket csupán egymás közt tudjuk változtatni (ha egy táblából több tematikus réteget hozunk létre). Mivel a tematikus rétegeket szerkeszteni, címkézni és elemeiket kijelölni nem lehet, az ezeknek megfelelő jelölőnégyzetek és a Label gomb szürkék. Csupán a tematikus réteg megjelenítését tudjuk kikapcsolni. A Display gomb hatására megjelenő panelban is csak az ablak középső részén lévő beállításokat tudjuk alkalmazni, melyek segítségével a tematikus réteg megjelenítését a méretaránytól (a térképablak szélességétől) tehetjük függővé, a hagyományos rétegeknél megszokott módon. A Thematic gomb hatására a tematikus térkép jellemzőit módosító, feljebb már ismertetett panelba jutunk.
3. Egyedi megjelenítési paraméterek (Individual) Ezzel a típussal az objektumok egy kiválasztott tulajdonságát, ami akármilyen típusú mezőben lehet, úgy ábrázoljuk, hogy minden egyes előforduló értékhez más és más megjelenítési jellemzőket rendelünk. Az objektumok kiterjedése bármilyen lehet, hiszen ezt meg tudjuk oldani akár felületekkel akár vonalakkal vagy pontokkal. A program automatikusan különböző megjelenítést rendel minden egyes előforduló értékhez, amelyet később természetesen módosíthatunk a Modify Thematic Map panel Styles gombjára kattintva. Az ekkor megjelenő ablakban egy listát találunk az előforduló értékekről, és módosíthatjuk az ezekhez rendelt megjelenítési paramétereket.
4. Fokozatos ábrázolás (Ranges) Ezzel az ábrázolási móddal mennyiségeket lehet szemléletesen ábrázolni. Ebből fakadóan csak egyetlen, szám típusú oszlopot (vagy kifejezést) lehet kiindulási alapul megadni. A program megvizsgálja ezeket az értékeket és meghatározott számú osztályba sorolja őket nagyságuk szerint. Ez az osztályba sorolás többféle szempont szerint történhet: Azonos számosság (Equal Count): A program az egyes intervallumok széleit úgy határozza meg, hogy a létrejövő osztályokba azonos számú elem essék. Ez úgy valósítható meg, hogy az elemeket sorba rendezzük, majd ezt a rendezett mintát osztjuk meghatározott számú részre, tehát ilyenkor az értékek sorrendjén túl azoknak az ezen túlmenő egymáshoz való viszonya nem lényeges. Azonos szélesség (Equal Ranges): A program az egyes intervallumok széleit úgy határozza meg, hogy azok azonos szélességűek legyenek. Ilyenkor meg kell keresni a legnagyobb értéket, majd a kettő közötti részt meghatározott számú egyenlő szélességű intervallumra osztjuk. Nem számít, hogy az egyes intervallumokba mennyi elem fog esni, az is könnyen előfordulhat valamelyikbe egyetlen egy sem. Egyedi (Custom) beállítás esetén a felhasználó teljesen szabadon állíthatja be, hogy milyen intervallumokat akar, egyenként megadva azok határait. Mindegyik módszer esetében meg kell adni, hogy hány darab intervallumot akarunk és, hogy hány tizedesre kerekítsen a program a kívánt besorolás elvégzése előtt. Ezen kívül lehetőség nyílik egyes speciálisan az adott módszerhez szükséges paraméter megadására is. A kívánt beállítások elvégzése után a Recalc gombra kattintva tudjuk elérni, hogy a program a kívánt paraméterekkel a felosztást ismételten elvégezze. A program a létrejövő kategóriákhoz automatikusan olyan megjelenítési paramétereket rendel, amelyek kifejezik a kategóriák sorrendjét. Ez bármilyen kiterjedésű objektum esetében történhet a megjelenített elem színének fokozatos változtatásával. Pontszerű objektumoknál szóba jöhet még a pontra helyezett jelkulcs méretének vagy elforgatási szögének változtatása, vonalasoknál pedig a vonalvastagság változtatása.
5. Különböző méretű szimbólumok (Graduated) Az előbbiekhez hasonlóan itt is egyetlen, számszerű érték ábrázolására nyílik lehetőség. Az objektumokra szimbólumokat helyezünk a térképen, melyek mérete az ábrázolandó értéknek a függvénye. Ez a függvény lehet lineáris ilyenkor a szimbólum átmérője egyenesen arányos a kívánt mennyiséggel. Lehet még négyzetes is, ilyenkor az ábrázolt mennyiség a szimbólum területével egyenesen arányos. A harmadik lehetőség, hogy az arányosság logaritmikus legyen. Ez bár geometriailag nem szemléletes, de hasznos, ha egymástól több nagyságrenddel eltérő értékeket szeretnénk megjeleníteni. A fentiek beállítása a programban úgy történik, hogy megadunk egy értéket, és megadjuk a hozzá tartozó szimbólumot. Miután ugyanebben a panelban megadjuk, hogy milyen összefüggés van a méret és az ábrázolandó mennyiség közt, más értékek esetére a szimbólum mérete a megadott arányossággal már számítható. Előfordulhatnak olyan esetek is, amikor az ábrázolandó érték negatív. Ezekre az esetekre megadhatunk egy negatív értékekhez tartozó szimbólumot, melynek mérete ugyanúgy fog váltakozni a negatív számtartományban, az abszolút érték függvényében. Az objektumokra helyezett szimbólumok pozíciója pontszerű elemeknél nyilvánvalóan maga a pont. Vonalas vagy felületszerű kiterjedés esetében a szimbólum az objektum középpontjára kerül, ez szabályos elemek (pl. téglalap) esetében a szabályos vonalszakasz vagy síkidom geometriai középpontja, region típusú felületeknél pedig a centroid, az objektum tetszőleges szempontok szerint szabadon változtatható középpontja. A negatív értékekre és az összefüggés fajtájára vonatkozó beállításokhoz tartozó elemek csak az Options gombra kattintva, a panel oldalra való kigördítése után jelennek meg.
6. Pontsűrűség (Dot Density) Sűrűség jellegű jellemzők ábrázolására alkalmas típus, ami ebből adódóan kizárólag felületszerű objektumok esetében, szám típusú mezők értékeinek demonstrálására használható. Lényege hogy az objektumok felületére az ábrázolandó mennyiség arányában meghatározott számú pontot szórunk szét.
Be tudjuk állítani, hogy mekkora értékhez tartozzék egy pont. Például ha a világ országainak népsűrűséget szeretnénk ábrázolni, miután kiválasztottuk az államok népességét tartalmazó mezőt beállítjuk az 1 000 000 értéket (unit). Ennek hatására a térképen minden egyes pontnak egymillió ember fog megfelelni. Azokban az országokban, ahol nagyobb a népsűrűség, ott sok pontot kell szétszórni egy viszonylag kis területen, míg máshol jóval nagyobb területeken fognak elhelyezkedni az embermilliókat jelképező pontok. Hazánk területén például tíz pont fog elhelyezkedni, Lengyelországén pedig 38, de mivel Lengyelországnak a területe is kb. négyszerese hazánkénak a pontsűrűség azonosnak tekinthető. Hollandia esetében viszont másfélszer annyi pontot kell szétszórni Magyarország területének alig több mint egyharmadán, így itt a pontok jóval sűrűbben helyezkednek el. Ezzel ellentétes példának Oroszországot lehetne felhozni, melynek bár népessége majdnem tizenötszöröse hazánkénak, de területe viszont közel 180-szor nagyobb mint Magyarország, ebből adódóan a pontok jóval ritkábbak lesznek. Oroszország példáján azt is jól be lehet mutatni, hogy az aggregált adatok esetenként félrevezethetőek lehetnek. A pontok elhelyezkedése egyenletes, pedig jól tudjuk, hogy az Európai részeken jóval nagyobb a népsűrűség, mint mondjuk Szibériában. Ezt persze a számítógép nem tudja, neki csak egy felület és egyetlen, az egész objektumra vonatkozó adat áll a rendelkezésére, ez alapján hozza létre a tematikus térképet. A pontoknak beállíthatjuk méretét (kicsi/nagy – small/large) illetve magasabb verziók esetén a színét is. Ilyenkor akár több mennyiséget is ábrázolhatunk kihasználva, hogy a különböző jellemzők alapján készült Dot Density típusú rétegek egymásra helyezhetőek.
7. Oszlopgrafikonok (Bar Chart) A következő két típusnak nagy előnye, hogy egyszerre több mennyiség ábrázolását is lehetővé teszik. Ennek megfelelően a típus kiválasztása után megjelenő ablakban egyszerre több mező kiválasztására nyílik lehetőség. A létrejövő grafikonokon minden egyes mezőnek egy-egy oszlop fog megfelelni. A tematikus réteg jellemzőit a Customize csoport Styles gombjára kattintva tudjuk változtatni. Az ekkor megjelenő panel tetején lévő listában fel vannak sorolva az egyes mezők a lista mellett levő ikonra kattintva pedig be lehet állítani, hogy a mezőkben lévő értéket ábrázoló oszlopok milyen mintázatban és színekben jelenjenek meg, a felületszerű objektumok kitöltésénél leírtaknak megfelelően. Ha a panel közepén lévő Char Type csoportban a Stacked lehetőséget választjuk, akkor a program az egyes oszlopokat egymásra helyezve jeleníti meg. Ha a választógombtól balra található Gradueted Stack lehetőséget is kiválasztjuk, akkor ennek az oszlopnak a magassága arányos lesz a mezők értékeinek összegével, egyébként pedig egységnyi magasságú oszlopokon a mennyiségek objektumonkénti arányait jelenítjük meg. Ha a Multiple Bars lehetőséget választjuk, akkor oszlopok egymás mellett fognak megjelenni. Az Independent Scales jelölőnégyzetet kiválasztva ezeknek az oszlopoknak a léptéke független lesz egymástól, a beállított oszlopmagassághoz minden esetben az adatok közt fellelhető maximális fog tartozni. Egyébként a különböző oszlopokhoz egységes lépték fog tartozni. A Char Dimensions csoportban be kell állítani az oszlopok méreteit. Legfelül a magasságot kell beállítani, ha Graduated Stacks vagy az Independent Scales jelölőnégyzet nincs beállítva, akkor be kell állítani, hogy ez a magasság milyen értékhez tartozik. Alul tudjuk meghatározni, hogy az oszlopok milyen szélesek legyenek. További beállítási lehetőségek tárulnak elénk, ha az Options gombra kattintunk. A kigördülő részen legfelül a grafikon irányultságát, az oszlopok növekedésének irányát tudjuk beállítani magukért beszélő ikonok segítségével. A grafikon beszúrása a térképre a Graduated típusnál ismertetett elvek szerint történik. Középen a grafikon elemeinek kihúzási vonaltípusát, valamint hátterének kitöltését tudjuk beállítani két ikon segítségével. Legalul azt lehet megadni, hogy a mennyiségek és az oszlopok magasságai közt milyen arányosság legyen. Az arányosság lehet lineáris, négyzetes vagy logaritmikus, szintén a Graduatednél megismert módon.
8. Tortagrafikonok (Pie Chart) Az előzőhöz nagyban hasonlító típus, minek lényege, hogy az objektumokra tortagrafikonokat helyezünk. Ezek az ábrázolt mennyiségek arányát cikkelyeik arányával fejezik ki. A Customize csoport Styles gombjára kattintva megjelenő párbeszédpanel nagyban hasonlít az oszlopgrafikonoknál látottra. Az ablak tetején megjelenő listaelem, melyben az egyes cikkelyek kitöltését tudjuk meghatározni.
Alatta található a Bar Chart Type csoport, mely két egymástól független jelölőnégyzetből áll. A Graduated mezőt kipipálva el tudjuk érni, hogy a diagramok mérete az ábrázolt mennyiségek függvényében változzék hasonlóan, mint az azonos nevű típusnál a szimbólumok nagysága, a Half Pie opciót választva pedig a torták nem egész, hanem félkör alakúak lesznek. A Pie Dimensions is nagyban hasonlít az oszlopdiagramoknál látottra. Be tudjuk állítani a torták átmérőjét, és amennyiben a Graduated opciót kiválasztottuk azt is, hogy mekkora mennyiséghez tartozzék a megadott érték. Az Options gombra kattintva itt is újabb lehetőségek bukkannak fel. Az Orientation lehetőségei nagyban hasonlítanak az oszlopdiagramoknál megismertekre, amennyiben félbevágott tortákat (Half Pies) alkalmazunk, akkor fél torták talpa is követi a kijelölt irányt. A Start Angle mezőben tudjuk beállítani, hogy az első cikkely (a listában elsőként szerepelő mezőhöz tartozó cikkely) kezdővonala milyen szögben helyezkedjék el. Az alapértelmezett érték 180 fok. A Clockwise négyzettel szabályozható, hogy a cikkelyek az óramutató járásával megegyezően vagy azzal ellentétesen kövesék-e egymást. (Sorrendjük megfelel a tematikus térkép létrehozásakor a második lépésben megadottnak, ennek módosítására később sajnos már nincs lehetőség) A Border Pen ikon segítségével azt a vonaltípust tudjuk beállítani, amivel a diagram éleit kihúzzuk. Legalul található Graduated Size By csoport, ahol három lehetőség közül választhatunk a Graduated és a Chart típusoknál már megszokott módon, amennyiben a Graduated opciót megjelöltük. Az összefüggés itt is háromféle lehet: lineáris, négyzetgyökös vagy logaritmikus.
9. Raszteres adatok generálása interpolálással (Grid) 10.Jelmagyarázat a tematikus rétegekhez Minden típushoz rendelhető jelmagyarázat. Ezeket minden esetben a létrehozáskor harmadik lépésben megjelenő ablakból vagy a vele gyakorlatilag megegyező Modify Thematic Map panelból kiindulva, a Custimize csoport legalsó gombjára a Legend-re kattintva megjelenő ablakban tudjuk módosítani. A panel bal oldali részén tudjuk beállítani a főcím és az alcím szövegét és betűtípusát, a bal oldalt legalul található négyzet segítségével pedig lehetőségünk van kikapcsolni az egész jelmagyarázatot, ha nincsen rá szükségünk. Ekkor a Legend ablakban nem fog megjelenni a kérdéses réteghez tartozó jelmagyarázat. Az ablak jobb oldalán az egyes tételekhez tartozó megírásokat tudjuk meghatározni. A betűtípust csak egységesen az összes tétel feliratára vonatkozólag áll módunk beállítani a csoport tetején. A középen lévő listában ki tudjuk választani az egyes tételeket alatta pedig megadhatjuk a hozzájuk tartozó szöveget. Az alapértelmezetten megadott értékek, akár csak a főcím esetében itt is szabadon megváltoztathatóak. A legalul lévő jelölőnégyzet segítségével ki tudjuk kapcsolni az adott tételhez tartozó megírást. Az, hogy milyen tételek vannak, nagyban függ a kérdéses tematikus térkép típusától. Ranges illetve Individual estében minden egyes kategóriához, ami a térképen különböző színnel jelenik meg, tartozik egy réteg. A Don Density esetében csupán egyetlen tétel van, ami azt közli, hogy egy pont hány egységnek felel meg. Graduated típusnál néhány kiemelt kerek mérethez tartoznak tételek, a Bar Chart és a Pie Chart típusnál pedig az egyes oszlopokhoz illetve cikkelyekhez tartozik egy-egy tétel. A Grid típus esetében jellemző színfokozatok képezik a tételeket. A jelmagyarázat tételeihez grafikus elemek is tartoznak, amik a tematikus térkép értelmezését lehetővé teszik. Ezek módosítására nincs lehetőség.
9. Grafikonok 1. A grafikon és kiegészítő elemei a MapInfo-ban 2. Grafikonok létrehozása 3. Grafikonok jellemzőinek módosítása
10.Térbeli nézetek (3D Map)
1. Térbeli nézet létrehozása 2. Térbeli nézet mozgatása 3. Lekérdezési lehetőségek
11.Elrendezések (Layout) 1. Az elrendezések rendeltetése Gyakran előfordul, hogy a munkánk során létrejövő térképeket, táblázatokat, grafikonokat és a MapInfo-ban előforduló egyéb elemeket megfelelő kiegészítő szövegekkel és grafikákkal el szeretnénk rendezni egy kinyomtatandó papírlapon. Ez megoldható úgy is, hogy az egyes ablakok tartalmát raszteres állományként elmentjük (Save Window), majd egy megfelelő programban ezek felhasználásával elkészítjük a kívánt eredményt. Van amikor ez a célravezető, de az estek többségében sokkal kényelmesebb, ha mindezt magában a térinformatikai szoftverben meg tudjuk csinálni, mégpedig úgy, hogy az egyes beszúrt elemek folyamatosan kövessék az adatok esetleges változásait. Erre nyújt lehetőséget a MapInfo, számos más programhoz hasonlóan, az elrendezésekkel.
2. Az elrendezés jellemzői Amikor egy elrendezés aktív, a menüsorban megjelenik a Layout menü. Ennek a menünek legalsó pontja az Options, mellyel az elrendezés általános jellemzőit lehet beállítani. A legfontosabb ezek közül talán a megjelenő panel alján található Layout Size csoport, amellyel a papírlap méretét lehet beállítani. Ezt úgy tudjuk megtenni, hogy mind szélességében, mind magasságában megadjuk hány lapon férjen el a kívánt nyomtatni kívánt kép. A lap méretét és fekvő vagy álló helyzetét a File menü Page Setup pontjában tudjuk beállítani. Itt lehet egyébként meghatározni a margók méretét és a lapadagolás módját Be tudjuk még itt állítani a beszúrt keretek frissítésének módját. Választhatjuk azt a lehetőséget, hogy soha sem frissítsen a program (Never), ilyenkor a keretek helyén kék téglalapok lesznek, dönthetünk úgy, hogy a frissítés mindig folyamatos legyen (Always), de meghagyhatjuk az alapértelmezett beállítást, vagyis, hogy csak akkor legyen frissítés, ha a kérdéses elrendezés ablak az aktív. A panel tetején be lehet állítani az oldalsó vonalzók, illetve több lapos nyomtatvány esetén a hajtások megjelenítését.
3. Más ablakok tartalma, mint az elrendezés elemei Az elrendezés létrehozásakor a program feltesz egy kérdést, hogy melyik ablak vagy ablakok tartalmát szeretnénk kezdetnek beszúrni. Három választásunk van: ha csak egyetlen keretet akarunk, akkor a felső lehetőséget kiválasztva a mellette lévő legördülő listából tudjuk kiválasztani azt, hogy melyik legyen ez az ablak, ha az összes lehetséges ablakot be akarjuk szúrni, akkor a középső lehetőséget kell választanunk, ha üres lappal szeretnénk indulni, akkor pedig a legalsót. Keretet persze ezt követően is lehetőségünk lesz beszúrni. Vegyük észre, hogy a rajz eszköztárnak egy a térképablakok esetében eddig szürke gombja most aktiválhatóvá vált. Ennek a sárga keretnek a segítségével tudunk új keretet létrehozni, úgy hogy az egeret bal gombjának lenyomása mellett végighúzzuk az elrendezés kívánt helyén. Miután felengedtük az egér gombját, egy párbeszédpanel jelenik meg, ahol a beszúrt kép jellemzőit tudjuk beállítani. Az panel legtetején tudjuk egy legördülő listából megadni, hogy megadni, hogy melyik ablak legyen a beszúrt kép forrása. A többi beállítási lehetőség a keret méreteinek numerikus megadására szolgál. Térképablak esetében lehetőség van a méretarány pontos beállítására, ami az ablak méretének változását vonja maga után. A térképablakokhoz tartozó keretek tartalma egyébként szoros összefüggésben van a térképablak tartalmával és helyzetével. Ha később módosítani akarjuk a keret jellemzőit, akkor az elemre duplát kattintva a fent bemutatatott ablakba
jutunk vissza. Lehetőség van a keret méretének és helyzetének interaktív megváltoztatatására is, ha kijelöljük a kívánt elemet, majd az egeret lenyomva tartva eltoljuk, illetve a sarkaiban lévő négyzeteknél fogva a széleit változtatjuk.
4. Díszítő jellegű elemek Az elrendezésben el tudunk helyezni mindenféle olyan rajzi elemet, amelyekkel objektumok geometriai részét is tudjuk modellezni. Itt persze nem földrajzi vonatkozásuk lesz, hanem a papírlap koordináta rendszerében fognak elhelyezkedni. Elsősorban a feliratok jönnek számításba, de az elrendezés esztétikussá tételében hasznos segítségünkre lehet a többi típus is. Például szimbólumok beszúrásával észak jelet tudunk könnyen és egyszerűen létrehozni, MapInfo Arrows, vagy bármilyen, akár általunk készített, hasonló funkciójú fontkészlet felhasználásával. A különböző elemek kitakarási viszonyát az elem kijelölése után az egér jobb gombjának megnyomására megjelenő gyorsmenü két pontjával lehetséges. Ezek az előtérbe hozás (Bring to Front) és a háttérbe küldés (Send to Back). Lehetőség van árnyékolásra is, de ez csupán azt jelenti, hogy a program kissé eltolva létrehoz egy hasonló, fekete színű elemet, amelyet az előző elem alá helyez. Ha törölni akarunk egy elemet, akkor miután kijelöltük, nyomjuk meg a DEL gombot.
12.Munkaterületek 1. Munkaterületek létrehozása és beolvasása Korábban már esett szó a munkaterületekről. Ezek célja az, hogy a MapInfo-ban a munkánk során megnyitott különféle táblákat, a belőlük származtatott elemeket és ezek beállításait el tudjuk menteni, illetve később be tudjuk olvasni. A munkaterületek elmentésére gyakorlatilag mindig lehetőségünk van, még akkor is, ha egyetlen tábla sincs megnyitva. Az aktuális munkaterület elmentéséhez a File menü Save Workspace pontjára kell kattintanunk, amit követően egy szokványos panelban kell megadnunk azt a .wor kiterjesztésű állományt ahová a munkaterület kerül. A létrehozott munkaterületet a később a File menü Open Workspace parancsával vagy a Ctrl+A billentyűkombinációval lehet. Ilyenkor szintén egy szokásos ablakban kell kiválasztanunk azt a munkaterület állományt, amit meg szeretnénk nyitni. Ennek az állománynak az elemei mintegy rátöltődnek a már megnyitott elemekre. Vigyáznunk kell, mert a munkaterület elmentésére, ellentétben a táblák elmentésével, a program kilépéskor nagyon sokszor nem kérdez rá!
2. A munkaterületek tartalma A munkaterület a táblák adataira csak hivatkozásokat tartalmaz. Ahhoz tehát, hogy a munkaterületeket problémamentesen meg lehessen nyitni, szükség van ezeknek a tábláknak az állományira, mégpedig az eredeti helyükön. A munkaterületek a fenti hivatkozásokon túl számos dolgot tartalmaznak még. Elmondhatjuk, hogy a táblákon túl program többi elemét, különösen az alacsonyabb verziók esetében, szinte kizárólag a munkaterülettel együtt tudjuk csak elmenteni. Térképablakok esetén a munkaterület tartalmazza a térképablak helyzetét, méretét és az összes jellemzőjét, amit a Map/Options illetve a Layer Control párbeszédablakokban tudunk beállítani. Elmentődnek a térképablakokkal együtt a tematikus rétegek és a kozmetikai réteg rajzi elemei is. Tartalmazza továbbá a munkaterület a Browser ablakok, grafikonok és elrendezések minden jellemzőjét, kezdve az ablakok elhelyezkedésétől egészen az egyes elemek egyedi beállításaiig, beleértve ebbe az elrendezések esetében még a kiegészítő, dekorációs célú grafikai elemeket is.
3. A munkaterület állományának felépítése
Nagyon érdekes a munkaterületek .wor (workspace) kiterjesztésű állományainak felépítése. Ezek szöveges állományok, melyben egy három soros fejlécet követően, miben megtalálható a verziószám és az alkalmazott karakterkészlet, MapBasic parancsok követik egymást. Ezek a MapBasic parancsok az állomány megnyitásakor sorban végrehajtódnak, aminek következtében előáll az elmentett munkaterület. Nem véletlen, hogy a MapBasic-ben egy munkaterületet a Run Application paranccsal lehet megnyitni. Ennek köszönhető, hogy a már megnyitott állományok ilyenkor nem zárodnak be, hanem az újabb állományok ezekre rátöltődnek. Ha beletekintünk egy ilyen fájlba, amit bármilyen szövegszerkesztő programmal meg tudunk tenni, akkor látjuk, hogy az állomány elején a táblákat megnyitó utasítások vannak, majd ezeket követik az egyes elemeket létrehozó, esetenként rendkívül összetett parancsok. A munkaterületek állományinak ezt a tulajdonságát jól ki lehet használni egyszerű soros programok készítésére anélkül, hogy a MapBasic-et megvásárolnánk. Nem kell mást tenni, mint az utasításokat a már említett három soros fejlécet követően elhelyezni az állomány soraiban. Ezt akár megteheti egy általunk készített program is. A tapasztalatok szerint a munkaterület állományaiban szokás parancsokon túl bármilyen olyan utasítást alkalmazhatunk, amelyeket a MapInfo MapBasic ablakából is ki tudunk adni. Sajnos a ciklusok és elágazások nem tartoznak ezek közé, de a fent felvázolt lehetőségeket így is jól ki lehet használni bizonyos célokra.
13.Szerkesztési műveletek Az alábbi fejezetben a MapInfo szerkesztési funkcióit tárgyaljuk, elsősorban a térképi elemekkel végzett műveleteket szem előtt tartva. Az alábbiakban leírtakon túl fontos az új elemek rajzolásával, valamint a kijelölésekkel kapcsolatos műveletek ismerete is ahhoz, hogy a tárgyalt dolgokat alkalmazni tudjuk.
1. Egyszerűbb szerkesztések A MapInfo-ban az egyszerűbb szerkesztési műveletek az Edit menüben találhatóak. Ezek jellemzői, hogy az objektumnak nem annyira a geometriai értelemben vett szerkesztésére irányulnak, hanem más programokból már jól ismert alapfunkciót valósítanak meg mint a törlés, másolás, kivágás vagy beillesztés.
1. Másolás és kivágás Az Edit menü Copy pontjával vagy a CTRL+C billentyűkombinációval lehet az éppen kijelölt elemet vagy elemeket a vágólapra másolni úgy, hogy az objektum érintetlen maradjon. A másolás mind a térképi, mind a leíró adatokat érinti. A vágólapra másolt objektum vagy objektumok más programokba is beszúrhatóak lehetnek. Ez gyakran a leíró adatoknak mint szövegnek a beillesztését jelenti, de vannak programok, melyek a térképi elem rajzolatát veszik át raszteres vagy vektoros formában. Ha a fenti műveleteket úgy szeretnénk elvégezni, hogy a kijelölt elem vagy elemek eközben törlődjenek, akkor az Edit menü Cut parancsát, vagy a CTRL+X billentyűkombinációt kell alkalmaznunk.
2. Beillesztés Az előbb bemutatott módon a vágólapra másolt adatokat az Edit menü Paste pontjával vagy a CTRL+V billentyűkombinációval lehet beilleszteni. Az elem abba a rétegbe fog kerülni, amelyik éppen szerkeszthető. Ha a térképablak egyik rétege sem szerkeszthető, akkor nem lehet ezt a műveletet elvégezni. Az új térképi elem pontosan azon a helyen lesz, mint az eredeti volt. Leíró adatok esetében, ha nem ugyanarról a tábláról van szó, az eredmény bizonytalan.
3. Törlés Ha törölni kívánunk egy vagy több elemet, akkor miután kijelöltük nyomjuk meg a DEL gombot vagy válasszuk ki az Edit menü Clear pontját. Természetesen ezt csak akkor tudjuk megtenni, ha az elemet tartalmazó réteg szerkeszthető. A művelttel törüljük a kijelölt elemek mind térképi részét,
mind pedig a leíró adatokat.
4. Csak a geometriai elem törlése Amennyibe azt szeretnénk, hogy csak a térképi elem törlődjék, válasszuk az Edit menü Clear Map Objects Only parancsát, miután a kívánt elemeket kijelöltük. Ekkor a térképi elem törlődik csak a leíró adatok megmaradnak. Ezekhez később újabb térképi elemeket tudunk szerkeszteni. (Ha ez a művelet netán nem működne, próbáljuk meg ismét a kérdéses tábla elmentése után)
5. Szerkesztés visszavonása Mint a többi fejlett szoftver, a MapInfo is lehetőség van a szerkesztési műveletek hatásának visszavonására. Sajnos csak a legutolsó változtatás visszavonására nyújt lehetőséget az Edit menü Undo parancsa, mely teljes nevében a legutóbbi, visszavonandó művelet megnevezését is tartalmazza, vagy a CTRL+Z billentyűkombináció, illetve a nekik megfelelő jellegzetes ikon a tools eszköztáron. Ha valamit nagyon elszúrunk, de a fentiek miatt nem tudjuk az összes nem kívánt változtatást visszavonni, akkor utolsó lehetőségként az marad, hogy mentés nélkül bezárjuk az érintett táblát, majd megnyitjuk. Ilyenkor a legutóbbi mentéskor érvényes állapot áll helyre, aminek következtében természetesen minden olyan műveleteknek is elvész az eredménye, melyeket a legutolsó mentés óta hajtottunk végre.
2. Összetett szerkesztések 1. Tárgy kijelölése és szerepe Az alábbiakban részletezendő szerkesztési műveltek ismertetéséhez és megértéséhez szükséges a tárgy (Target) szerepének bemutatása. Ha egy vagy több objektumot tárgynak szeretnénk kijelölni, akkor először hagyományos értelemben kijelölnünk bármely lehetséges módon, majd a CTRL+T billentyűk lenyomásával, esetleg az Objects menü Set Target pontjával tárgynak jelöljük ki. A hagyományos kijelölés ezzel egy időben megszűnik, az objektumok a térképablakban jellegzetes mintázatot vesznek fel. A későbbiekben a darabolás, törlés, kilógó részek törlése, metszéspontok beszúrása műveletek során mindig a tárgynak kijelölt objektum vagy objektumok fognak megváltozni a művelet hatására, a hagyományosan kijelölt elemek érintetlenek maradnak. A tárgynak való kijelölést az Objects menü Clear Target pontjával lehet megszűntetni, de az a tárgyon végzett műveltekkel egy időben is megszűnik. Mivel a tárgyon szerkesztéseket fogunk végrehajtani, fontos hogy az objektum rétege szerkeszthető legyen. A műveletek jellegéből adódóan ezen túl még az is lényeges, hogy a tárgynak kijelölt elem csak felületszerű vagy vonalas lehet. Egészen pontosan a következőekben bemutatandó szerkesztések region és polyline típusú elemeken hajtódnak végre, a nem ilyen (speciális) elemeket a program a szerkesztés előtt ilyen típusokká alakítja kiterjedésüktől függően.
2. A létrejövő objektumok leíró adatai A következőekben ismertetett műveletek egy részében az objektumok több, kisebb részre darabolódhatnak (darabolás, törlés, kilógó részek törlése). Ennek következtében több új objektum jön létre, melynek geometriája az elvégzett művelettől függ, de a programnak azt is meg kell adni, hogy milyen elvek szerint kapjanak leíró adatokat az új objektumok. Ezeket az opciókat a Data Dissagregation panelban tudjuk megadni, ami mindig megjeleni, ha egy darabolódással járó szerkesztést végzünk. Az ablak felső részében egy lista található ami a kérdéses tábla oszlopait tartalmazza. A lista egyes elemeit kijelölve van lehetőségünk a teendőket oszloponként szabályozni, mivel a listaelem alatti rész beállításai mindig az éppen kijelölt oszlopra fognak vonatkozni. Egy újonnan létrejött objektumnak egy leíró adatmezője háromféleképpen kaphat értéket. Az egyik lehetőség, hogy a darabolás során létrejött elemek megőrzik az eredeti adatot (Value), de dönthetünk
úgy is, hogy a mezők legyenek üresek (Blank). Kizárólag számszerű értékeknél választhatjuk a harmadik lehetőséget (Area Proportion), aminek lényege, hogy területarányosan lecsökkentett adatok kerülnek az egyes mezőkbe. (új érték=eredeti érték×(új terület/eredeti terület)) Az ablak alján található No Data opció nagyjából azzal egyenértékű, mintha minden egyes mező esetében a Blank opciót választanánk. A másik eset, ami előfordulhat, hogy több objektumot egyesítünk. Ilyenkor szintén meg kell adni, hogy a létrejövő objektum leíró adatait hogyan származtatjuk az eredeti objektumok leíró adataiból. A szükséges beállításokat itt is egy a parancs kiadását követően megjelenő panelban lehet megadni. Ez nagyban hasonlít az előzőekben bemutatott ablakra, a különbséget csupán a választható módszerek jelentik. Ebben az esetben a program négy lehetőséget kínál fel nekünk. A No Change lehetőséget választva a létrejövő objektum az eredeti objektumok valamelyikének fogja nehezen kiszámítható módon átvenni a kérdéses leíró mezőjét. A Value lehetőséget választva a mellette található beviteli mezőben megadott értéket fogja felvenni az érintett mező. A mellette lévő legördülő listából kiválasztva egy elemet lehetőség van arra is, hogy a mező egy másik mező értékét vegye fel. A másik két módszer csak számszerű adatok esetében alkalmazható. Az egyik ilyen lehetőség, hogy vesszük az eredeti mezőknek az összegét (Sum) a másik pedig, hogy átlagot számolunk (Average). Lehetőség van súlyozott átlag számítására is, ha a Weight by legördülő listában megadjuk, hogy mi szerint történjék a súlyozás. A listában a tábla számszerű mezői és a terület (Area) közül választhatunk, a none elem jelöli a egységnyi súlyozással történő átlagszámítást.
3. Egyesítés (Combine) A művelet hatására (Objects/Combine) a kijelölt objektumok egyetlen objektummá egyesülnek. Amennyiben volt tárgynak kijelölve valami, az összevonásba a program ezt is bevonja, de ennél a szerkesztésnél nem lényeges, hogy legyen tárgy kijelölve. A művelet csak azonos kiterjedésű vonalas vagy felületszerű elemeken hajtható végre. Ha az a feltétel nem áll fenn, a program a művelet elvégzése helyett egy hibaüzenetet ad. Felületszerű elemek esetében a létrejövő objektum region típusú, ha szükséges akkor több poligonnal határolt felület. Azokon a részeket, ahol az eredeti objektumok egymást átfedték, átfedték egybeolvadnak, vagyis mindenféle határvonal eltűnik közülük. Vonalas objektumos esetében a létrejövő elem általános esetben több vonalszekcióból fog állni. Ha az egyesített vonalak csatlakoztak egymáshoz ezt a program felismeri és két egymáshoz csatlakozó vonaldarabot egy szekciónak veszi.
4. Darabolás (Split) Ezzel a művelettel (Objects/Split) lehetőségünk van arra, hogy a tárgynak kijelölt objektumokat az aktuális kijelölés tartalma szerint különálló részekre osszuk fel. Ebből adódik, hogy a hagyományos kijelölés tartalmában csak felületszerű elemek lehetnek. A tárgyban ezzel ellentétben mind vonalas, mind felületszerű elemek lehetnek, akár vegyesen is. A műveletet úgy kell elképzelni, hogy a hagyományos magának az általa lefedett területeket. Annyi objektummá felület a hagyományos kijelölésből fedésben van vele. objektumot, melyek “fedetlenek” voltak. A hagyományos külön objektumnak minősülnek.
kijelölés minden egyes felülete kivágja vágódnak tehát szét a tárgy elemi, ahány Azok a részek is képeznek egy külön kijelölés eleminek egymást átfedő részei
A fentiekből következik, hogy a létrejövő objektumok összterülete megegyezik az eredeti objektum területével. (vonalas objektumok esetében a hosszakra áll fenn hasonló összefüggés)
5. Kitörlés (Erase) Némileg hasonlít az előbb bemutatott szerkesztésre. A művelet (Objects/Erase) hatására mintegy kivágódnak és kitörlődnek azok a részek, melyek a hagyományos kijelölés valamely elemével
fedésben vannak. A tárgy és a hagyományos kijelölés elemeinek kiterjedéseire itt is azok a szabályok érvényesek, mint a darabolásnál. Ha netán a tárgy valamely elem teljes egészében le lenne fedve, akkor a kérdéses objektum teljes egészében törlődik. Ezt az esetet leszámítva az objektumoknak csak a területe változik a szerkesztés hatására, a számuk nem.
6. Kilógó részek törlése (Erase outside) Az előző művelettel ellentétes szerkesztés (Objects/Erase Outside). Itt azok a részek törlődnek ki az objektumokból, melyek a hagyományos kijelölés egyetlen elemével sincsenek fedésben, tehát mintegy “kilógnak” alóluk. A tárgy és a hagyományos kijelölés elemeinek kiterjedéseire itt is azok a szabályok érvényesek, mint a darabolásnál. Ha netán a tárgy valamely elem teljes egészében kilógna, akkor a kérdéses objektum teljes egészében törlődik. Ezt az esetet leszámítva az objektumoknak csak a területe változik a szerkesztés hatására, a számuk nem.
7. Metszéspontok beszúrása (Overlay Nodes) Ez a művelet (Objects/Overlay Nodes) az egyes felületeknek illetve vonalaknak a gyakorlati értelemben vett geometriai jellemzőit tulajdonképpen nem változtatja meg, csupán újabb töréspontokat iktat be a tárgyként kijelölt elemekbe ott, ahol a hagyományosan kijelölt elemek vonalai metszik azokat. Mind a tárgyként, mind a hagyományosan kijelöl objektumok lehetnek akár vonalasak, akár felületszerűek. A szerkesztés során nem változik az objektumok száma és területükben is csak kerekítési jellegű eltérések lehetnek A művelet lényege, hogy később a töréspontokhoz már tudunk különféle elemeket csatlakozatni a SNAP funkció segítségével.
3. Felületszerű és (zárt) vonalas objektumok közti konverzió Lehetőségünk van arra, hogy egy felületszerű elemet vonalassá alakítsunk. Ha kijelölünk egy vagy több felületszerű elemet, majd kiválasztjuk az Objects/Convert to Polylines parancsot a felületekből zárt vonalak lesznek. Ha valamely felület több poligonból állt, akkor abból több szekcióból álló vonal jön létre. A művelet csak felületszerű objektumokon hajtható végre, ha a kijelölésben másmilyen kiterjedésű elemek is vannak, akkor azokat a változtatás nem érinti. A művelet fordítottja is végrehajtható az Objects menü Convert to Region pontjával. Itt a kijelölt objektummal szemben fontos követelmény azon túl, hogy vonalasnak kell lennie, hogy zárt legyen. A művelet csak azokon a vonalas objektumokon hajtódik végre, amelyek zártak, a többi elem nem változik. A több szekcióból álló vonalas objektumokból több poligonnal határolt felületek lesznek.
4. Vonalas objektumok képének simítása Egy vonalas objektum alapesetben egyenes szakaszokból áll. Módunkban áll ezeket az egyenes szakaszokat egy simuló görbével helyettesíteni az Objects menü Smooth pontja segítségével. A művelet kizárólag vonalas objektumok esetében alkalmazható (felületek határvonalait nem lehet ilyen módon elsimítani), ha más kiterjedésű elemek is voltak kijelölve a parancs kiadásakor, akkor azok érintetlenek maradnak. Simított elemnek egyenes szakaszokból álló vonallá való visszaalakítására az Object menü Unsmooth parancsával van lehetőségünk. A művelet itt sem érinti a kijelölésnek a nem vonalszerű elemeit valamint a nem simított vonalakat. A tapasztalatok szerint a fentiekben bemutatott simítás kizárólag esztétikai jellegű, csak a megjelenítésre vonatkozik. Erről könnyen meg lehet győződni, ha a simított képű objektum köré például egy kis sugarú övezetet generálunk.
5. Hatászóna (pufferzóna, övezet) generálás A MapInfo gyors és egyszerű lehetőséget nyújt arra, hogy előállítsuk azt a felületet ami egy vagy több objektumtól meghatározott távolságnál közelebb van. Ha a kijelölt elemek köré ilyen hatászónát szeretnénk
generálni, akkor válasszuk az Objects menü Buffer pontját. Egy párbeszédpanel fog megjelenni, melyben meg kell adni a művelet paramétereit. A legfontosabb adat, hogy a generálandó hatászóna milyen szélességű (Radius) legyen, vagyis mekkora távolságnál a kijelölt objektumokhoz közelebb eső pontok halmaza képezze. Ezt az ablak felső részén lehet megadni, vagy egy konstans értékként (Value), vagy pedig az objektum valamelyik adatmezőjeként illetve a már jól ismert módon kifejezésként (Expression) a From Coulumn lehetőség utáni legördülő listából választva. Tisztáznunk kell azt is, hogy az előbb meghatározott érték milyen mértékegységben értendő, amit a Units utáni legördülő lista segítségével határozhatunk meg. Magasabb verziókban lehetőség van annak a beállítására is, hogy ez a távolság az alapfelületen vagy az éppen alkalmazott vetületen legyen-e értelmezve. Pontoknál, felületek határvonalának konvex szögeinél valamint vonalak törésszögeinek a konvex oldalán a hatászóna definíciója szerint körívek keletkeznek. Mivel a MapInfo-ban a felületek határvonalát kizárólag egyenes szakaszok képezhetik, a köríveket is ezekkel kell közelíteni. Az ablak középső részén lévő beviteli mezőben megadhatjuk, hogy egy teljes körívet a program hány törésponttal közelítsen. Az alapértelmezett érték a 12, ebben az esetben tehát egy pont körül létrejövő övezet tulajdonképpen egy 12 oldalú szabályos sokszög lesz. A művelet tetszőleges számú és kiterjedésű elemmel végrehajtható. Fontos ezzel kapcsolatban annak a tisztázása, hogy a kijelölés minden egyes eleméhez szeretnénk külön-külön hatászónát létrehozni, vagy valamennyi kijelölt elemhez akarunk egyetlen övezetet generálni. A két lehetőség közül az ablak alsó részén tudunk választani. A létrejövő objektum vagy objektumok a szerkeszthető rétegbe kerülnek, ha a térképablakban nincs szerkeszthető réteg, akkor a művelet nem alkalmazható.
6. Befoglaló konvex sokszög generálása Ezt a műveletet csak magasabb verziókban tudjuk alkalmazni. Lényege, hogy a kijelölt objektumok köré, melyeknek száma és kiterjedése tetszőleges lehet, egy konvex sokszöget hoz létre. (Objects/Convex Hull) Ez az a legkisebb területű konvex síkidom, ami a kijelölés minden elemét tartalmazza. A létrejövő objektum itt is abba rétegbe kerül, amelyik éppen szerkeszthető, ha ilyen nincs a művelet nem alkalmazható.
7. Egyesítés leíró adatok alapján A feljebb már leírt egyesítést lehetőségünk van a leíró adatok alapján automatizáltan végezni. Ennek a lényege az, hogy a leíró adatok valamely oszlopa alapján csoportosítjuk az objektumokat, egy csoportba gyűjtve azokat, melyekben a kérdéses mező értéke azonos. A művelet hasonlatos ahhoz, mint amikor az SQL SELECT parancsának GROUP BY operátorát használjuk. Az azonos csoportba sorolt elemeket ezt követően összevonjuk az egyesítés (Contains) műveletnél megismert módon. A művelet elvégzéséhez először a Table menü Combine Objects using Coulumn pontjára kell kattintanunk. Ezt követően megjelenik egy párbeszédpanel, melyben legfelül azt tudjuk kiválasztani egy legördülő listából, hogy melyik tábla legyen a forrás. Középen azt lehet megadni, hogy melyik oszlop alapján történjék a csoportosítás, legalul pedig, hogy hová kerüljenek az így létrehozott elemek. Második lépésben egy az egyesítésnél látotthoz hasonló panelban azt kell megadnunk, hogy a létrejövő objektumok milyen módon kapjanak leíró adatokat. Ez a lépés most különösen lényeges, hiszen nagy számú objektum jöhet létre, melyeknek amilyen adatát csak lehetséges célszerű a forrásobjektumokéból származtatni a manuális adatbevitel helyett. Ha ezzel is megvagyunk, az OK gombra kattintva elindíthatjuk a műveletet, ami esetenként (sok objektum, sok töréspont) hosszú futásidőt igényel. Példának hozható fel, hogy van egy digitális térképünk, ami hazánk településeit tartalmazza. Leíró adatként meg van adva mindenhol a település neve, a megye kódja és a lélekszám. Létrehozunk ezután a megyéknek egy új táblát, ahol a megye kódja és lélekszáma a leíró adat. Alkalmazzuk a bemutatott utasítást, forrás a települések táblája, a csoportosítás alapját képező oszlop a megyekód, a cél pedig az előbb létrehozott tábla. Második lépésben megadjuk, hogy a megyekód mező tartalmát a települések hasonló mezőjéből vegye (value:megyekod) a lélekszámot pedig a települések lélekszámának összegzésével. Végeredményként létre fog jönni az ország megyéit tartalmazó állomány.
8. Pontok létrehozása leíró adatok alapján
Előfordulhat, hogy valamely táblánk soraihoz nem tartoznak térképi elemek, de a leíró adatok közt megtalálhatók az objektumok X és Y koordinátái. Ebben az esetben célszerű a Table menü Create Points pontját alkalmaznunk. A megjelenő panel felső részén lehet kiválasztani azt, hogy melyik táblán szeretnénk alkalmazni a műveletet. A legördülő listában minden olyan megnyitott tábla szerepel melyben legalább két szám típusú oszlop található. Közvetlenül alatta tudjuk megadni a létrehozandó pontokra kerülő szimbólum típusát. Alattuk legördülő listákból tudjuk kiválasztani azt a két mezőt melyekből az X illetve az Y koordináta származik. A MapInfo-ban X-el mindig a vízszintes, Y-al a függőleges tengelyt jelöljük. Lehetőségünk van még tengelyenként megadni egy-egy szorzószámot a panel alsó részén. A panel jobb oldalán található Projection gombbal tudjuk beállítani azt a vetületet, amelyben ezek a koordináták értendőek, a tábla létrehozásakor már megismert módon az alkalmazási terület határaival együtt. Ha magához a táblához tartozhattak már térképi elemek, akkor most csak azokhoz a sorokhoz generálódnak pontok, melyekhez nem tartozott térképi elem. Ha a tábla szinten nem tartoztak térképi elemek az objektumokhoz, akkor a tábla átalakul térképezhetőre, vetülete olyan lesz, mint amit az előző panelban a Projection gombbal megadtunk.
9. Geokódolás Képzeljük el a következő feladatot! Van egy térképi vonatkozás nélküli adattáblánk, mondjuk az ország településeire vonatkozó adatokkal. A táblában megtalálhatóak a települések KSH kódjai. Van egy másik táblánk is, az ország településeinek térképével. Ebben szintén megtalálhatóak a települések KSH kódjai. Szeretnénk az első táblához is térképi vonatkozást létesíteni, elemeihez pontokat (szimbólumokat) rendelni. Válasszuk a Table menü Geocoding… pontját! A megjelenő párbeszédpanelban a legfelül elhelyezkedő legördülő listából tudjuk kiválasztani a térképi vonatkozás nélküli táblánkat, közvetlenül alatta adhatjuk meg, hogy a kapcsolás melyik oszlop alapján történjék (a fenti példánál maradva melyik oszlopban találhatóak a települések KSH kódjai). A térképi vonatkozással rendelkező táblát a Search Table legördülő listából lehet kiválasztani. Közvetlenül alatta meg kell adni, hogy ebben a táblában mely oszlopban vannak a kapcsoláshoz használható információk (vagyis, hogy a KSH kódok ebben a táblában mely oszlopban vannak). Meg tudjuk még adni, hogy a létrejövő pontokon milyen szimbólumok legyenek továbbá, hogy automatikusan vagy interaktívan szeretnénk a műveletet megoldani. Interaktív mód esetén, ha nem talál valahol a két tábla kapcsolatát biztosító oszlopok adatai alapján kapcsolódó térképi elemet, a program a felhasználó segítségét kéri. Ilyenkor egy ablakban tudunk válogatni a térképi elemekkel rendelkező tábla hasonló sorai közül. Ennek akkor van jelentősége, ha valamilyen szöveges adat alapján történik a kapcsolás. (pl. településnév) Az Ignore gombra kattintva a kérdéses elemet átugorjuk, ahhoz pont nem fog tartozni. Automatikus üzemmód esetében minden ilyen esetben ez fog történni. A művelet végeztével egy ablak jelenik meg. Ebből megtudhatjuk, hogy mennyi elemet sikerült pontot rendelni, hány esetben volt a dolog sikertelen, illetve hány elemen lett ismételten elvégezve. A panel alsó részén elhelyezkedő két legördülő lista funkcióját tekintve képzeljük el fenti példánkat hazánk helyett az Egyesült Államokban! Mint azt már a keresések kapcsán elmondtuk, az USA-ban két városnak csak egy államon belül nem lehet azonos neve, tehát előfordulhatnak (és elő is fordulnak szép számban) olyan településnevek, melyet több város is visel, más-más államban. Ilyenkor lehet hasznos megadni a körzeteket tartalmazó táblát (Refine Search with Table). Természetesen itt is szükséges azoknak az oszlopoknak a megadása, melyek alapján ez a tábla a térképi vonatkozással még nem rendelkező táblához kapcsolódik. Ezt a Boundary Column és a using Boundary Name Column legördülő listákkal tudjuk beállítani. Lehetőségünk van még egyéb opciók megadására is. Ezek közül a legfontosabb, hogy itt is van lehetőség a mapinfo.abb állományban megadott rövidítések alkalmazására.
14.Beállítási lehetőségek Azokat a beállításokat melyek a MapInfo egészére vonatkoznak (nem csupán például egy térképablakra vagy annak egy rétegére) az Option menüben tudjuk megtenni. Itt lehet beállítani a megjelenítési paraméterek alapértelmezett értékeit, a menü felső részében lévő pontokkal. A középső rész menüpontjai a kezelőfelület különböző elemeinek ki és bekapcsolását szolgálják. A felül található Toolbars… pont hatására egy párbeszédpanel jelenik meg, melynek listájában beállítható, hogy mely eszköztárak jelenjenek meg, illetve a menüsor alatt legyenek vagy lebegő helyzetben. Itt határozható meg, hogy színesek
legyenek-e a gombok, nagy legyen-e méretük, megjelenjen-e súgószöveg, ha az egér felettük tartózkodik. A további menük a jelmagyarázat ablak (Legend Window), a statisztikai ablak (Statistic Window), a MapBasic ablak (MapBasic Window) és a státuszsort tudjuk ki és bekapcsolni. A utolsó előtti menüben a MapInfo színpalettáját lehet beállítani. Ezzel a palettával számos helyen találkozunk, amikor legördülő listákból kell színeket kiválasztani. A legalsó menüpontra (Preferences…) kattintva egy párbeszédpanel jelentkezik be, melyen függőlegesen nyomógombok sorakoznak.
1. Rendszer beállítások (System Settings) Itt tudjuk beállítani, hogy milyen formátumokban kerüljenek a vágólapra a kijelölt elemek. Ez elsősorban más programok számára lényeges. Meg tudjuk adni a képernyő méreteit, ami ahhoz szükséges, hogy a program által kiírt méretarány értékek pontosak legyenek. A TrueType betűtípusok használatát is itt lehet beállítani.
2. Térképablak beállításai (Map Window Preferences) Az ebben az ablakban beállított jellemzők abban különböznek a Map menü Options pontjával megjeleníthető panelban szabályozott dolgoktól, hogy míg ott egyetlen térképablakra érvényes, itt a MapInfo egészére érvényes beállításokat tudunk megadni. Ilyen például az, hogy a kijelölt vagy tárgy objektumok fölé milyen kitöltést húzzon a program. A SNAP műveletek toleranciáját is lehet pixelben megadni.
3. Indítási beállítások (Startup) Itt lehet beállítani, hogy a MapInfo indításakor megszokott kezdőablak megjelenjék-e, valamint hogy megtörténjen-e kilépéskor a munkaterület mentése a mapinfow.wor állományba és hogy ez betöltődjék-e indításkor.
4. Címek szerkezete (Addres Maching) Meg tudjuk adni, hogy a címekbe a házszám a közterület neve előtt vagy után szerepeljen-e.
5. Könyvtárak (Directories) A MapInfo által megnyitható adatforrások alapértelmezett könyvtárakat lehet beállítani. A panel felső részén azt tudjuk megadni, hogy a megnyitáskor a fájl kiválasztását szolgáló ablak melyik könyvtárban kezdjen. Alul megadhatunk könyvtárakat, melyekben a MapInfo szükség esetén állományokat keres.
15.Egyéb lehetőségek 1. Digitalizáló tábla használata 2. GPS vevő használata 3. Új vetületek definiálása A MapInfo számos vetületi rendszert ismer, melyek sorát magunk is bővíthetjük. A vetületi rendszerek megnevezései és paraméterei a mapinfow.prj állományban találhatóak. Ennek a szöveges állománynak a módosításával tudjuk bővíteni a program által ismert vetületek sorát. Az állományban minden sor egy idézőjelek közé tett szöveggel kezdődik. Ez lehet egy vetület megnevezése,
de ha a szöveg elején és végén három kötőjel van, akkor egy vetület kategória megnevezése. Ebben az esetben a következő vetületek ennek a kategóriának a tagjai lesznek, egészen addig, míg nem jön egy másik olyan sor, ahol a szöveg elején és végén három kötőjel van. A vetületek definiálásánál a megnevezést vesszővel elválasztva követik a vetület paraméterei. Ezek közül az első a vetület típusa, a második az alapfelülete, a többi pedig attól függ, hogy milyen a vetület típusa.
4. Jelentések készítése Cristal Reports-szal
16.A telepítéssel kapcsolatos tudnivalók Az alábbi fejezetben leírtak sokkal inkább tekinthetőek személyes tapasztalatoknak, mint a program leírásának, mégis úgy gondolom, hogy fontosak lehetnek azok számára, akik a MapInfo-val a jövőben közelebb kapcsolatba kerülnek majd.
1. A MapInfo régebbi verzióinak telepítése A MapInfo régebbi verzióit hazánkban ún. hardverkulccsal védték az illetéktelen használat ellen. (sok más országban nem támogatják ezt az eljárás) Ez egy a számítógép párhuzamos portjára illeszthető toldat. A toldatban megfelelő elektronikai elemek vannak, mely segítségével a program érzékelni tudja, hogy a hardverkulcs a gépen van-e, és amennyiben nincs nem hajlandó működni. A MapInfo folyamatosan ellenőrzi, hogy a hardverkulcs a számítógépen található-e. Ez egyrészt azt jelenti, hogy a programot maximum annyi helyen lehet egyszerre használni, ahány hardverkulcsunk van, viszont maga a program ennél több gépre is telepíthető. Mikor a hardverkulcsot áthelyezzük egyik gépről a másikra, ajánlott a gépeket kikapcsolni.
2. A MapInfo 6.0 telepítése és regisztrálása A 6.0 verziótól egy teljesen más védelmi módszert vezettek be. Ennek lényege, hogy a telepítéskor a program a számítógép különböző elektronikai elemeinek azonosítóiból egy kódot generál. Ezt a kódot, mely még teljesen azonos konfiguráció mellett is más és más, el kell küldeni a forgalmazónak, aki válaszul küld egy másik kódot. A program, miután megkapja ezt a másik kódot, teljes értékű szoftverként működik tovább, ezt megelőzően csak 10 napig, mint demó üzemel. Ez a megoldás sokkal hátrányosabb a felhasználók számára, mert nem csak azt teszi lehetetlenné, hogy egy programot több számítógépen használjuk (természetesen nem egy időben), hanem számos gondot okozhat a gép bővítésénél, egyes alkatrészeinek cseréjekor, vagy például ha a jövőben egy másik számítógéppel szeretnénk folytatni a programmal kapcsolatos munkáinkat. Ilyenkor kénytelenek vagyunk egy újabb kódért folyamodni a forgalmazóhoz, a telepítéskor ismertetett procedúra megismétlésével, a változtatás okának indoklása mellett.
3. Külön telepítést igénylő kiegészítő modulok
17.Alkalmazásfejlesztés MapBasic-kel Az alábbi fejezet – főként terjedelmi okokból – feltételezi, hogy az olvasó jártas a programozásban, ismer más (elsősorban Basic jellegű) programnyelveket. Szintén a helyigénye miatt nagyon sok parancsot nem részletezek, az alábbi sorok mellett ezért ajánlott elolvasni a MapBasic interaktív súgójában leírtakat is azoknak, akik MapInfo alá szeretnének programokat fejleszteni. Itt valamennyi parancsról bőséges leírást találunk, példákkal.
1. MapBasic programok alkalmazásának lehetőségei Sok más fejlett programhoz hasonlóan a MapInfo is lehetőséget biztosít alkalmazások fejlesztésére egy olyan nyelven, melyet kifejezetten erre a célra hoztak létre. Maga a MapBasic egy külön program, amit megvenni viszont csak annak kell, aki alkalmazásokat szeretne fejleszteni. Miután megírjuk a program forráskódját, ami egy. mb kiterjesztésű szöveges állományban található, a MapBasic egy. mbx kiterjesztésű bináris állománnyá alakítja át, melyet ezután már minden megfelelő verziójú MapInfo alól tudunk futtatni. Akkor is jól hasznosítható a MapBasic ismerete, ha nem rendelkezünk a MapBasic programmal. A MapInfo
MapBasic ablakát kétféle célra is használhatjuk. Egyrészt megjelennek benne egyes az interaktív kezelőfelület segítségével elvégzett műveleteknek megfelelő MapBasic utasítások másrészt, ha MapBasic parancsokat gépelünk be az ablakba, akkor azok végrehajtódnak. Soros MapBasic programok írására és futtatására jó lehetőséget nyújt a munkaterületeknél leírt módszer, melyhez szintén szükségtelen a MapBasic program megléte.
2. A MapBasic feladata és jellemzői A MapBasic tehát a MapInfo makrónyelve. Nevéből adódóan közel áll a többi Basic nyelvhez, viszont tartalmaz olyan utasításokat, melyek kifejezetten a MapInfo egyes elemeinek kezelését szolgálják. A leíró adatok kezelése az SQL parancsaihoz nagyban hasonlító utasítások segítenek. Sok más elem kezelésénél is az SQL utasítások mintájára megalkotott parancsok segítségével tudunk dolgozni. A MapBasic követi a többi Basic nyelv egy sor egy parancs elvét, azaz nincs külön sorlezáró karakter definiálva. A többi Basic nyelvvel ellentétben viszont lehetőséget nyújt arra, hogy egy parancsot több sorba tördeljünk, amire elsősorban bonyolultabb utasítások esetében van szükség. Ebből később gondok származhatnak, mivel ha nem sikerül jól felismernie a fordítónak a parancs végét, akkor a program többi sorát is hibásnak veszi, ami végeláthatatlan hibalistákhoz vezethet. A program egyik nagy hátránya, hogy nem biztosít lehetőséget a debuggolásra, a program futásának hatékony nyomon követésére. Ha például szeretnénk megtudni, hogy egy adott helyen egy változó milyen értéket hordoz, magunknak kell a szükséges utasítást a programban elhelyezni, ami majd kiírja a változó értékét.
3. Fordítási direktívák A MapBasic-ben is megtalálható az include és define, ami funkcióját tekintve megegyezik a C nyelv hasonló nevű preprocesszor utasításával, de itt teljesen szabályos parancsok, ezért nem megjegyzés sorokba kerülnek. Az Include után meg kell adni egy állomány nevét. (Az elérési út alapértelmezésben a MapBasic könyvtár) Ennek az állománynak a szövege a forráskód fordítását megelőzően beszúródik a parancs helyére. Gyakran használjuk például az include “mapbasic.def” utasítást a programok elején, mivel a mapbasic.def állományban egy sor olyan konstans van definiálva, ami hasznos lehet a munkánk során. A Define segítségével konstansokat tudunk létrehozni. A parancs után megadhatunk egy azonosítót, majd egy értéket. A forráskódban a fordítás előtt mindenhol erre az értékre fog lecserélődni a megadott azonosító. Ez akár egy parancssor is lehet, mint pl.: define CLS print chr$(12).
4. Változók A MapBasic nagyon fontos jellemzője, hogy minden változót előre definiálni kell. Ezt a DIM vagy a GLOBAL parancs segítségével tudjuk megtenni. A kettő közt csupán annyi a különbség, hogy a DIM-et alprogramokban, helyi változók, míg a GLOBAL-t globális változók definiálására használjuk. A parancs után meg kell adnunk a változó azonosítóját (nevét), ha a változó egy tömb, akkor zárójelben a méretét, majd pedig a típusát. A MapBasic-ben a következő szám típusok alkalmazására nyílik lehetőség: SmallInt: egész szám –32767-től +32767-ig. Integer: egész szám –2147483647-től +2147483464-ig Float: 64 bites lebegőpontos szám, IEEE (Institute of Electronical and Electronics Engineers) szerinti forma A MapBasic-ben rögzített és változó hosszúságú szöveges változók (sztringek) is vannak. Maximális hosszuk a máshol megszokott 255-el ellentétben itt akár 32767 karakter is lehet. Lehetőségünk van még logikai és dátum típusú változók alkalmazására is. A dátum típusú változók értékeit megadhatjuk szöveges konstansként is, de ekkor formátumának követnie kell a gép éppen aktuális beállításait. Egyszerűbb ha számként adjuk meg úgy, mintha az évet a hónapot és a napot egyszerűen egymás mellé írnánk. Pl: 19790501. A MapBasic-ben vannak speciális, a MapInfo-hoz kötődő változók. Ezek:
Symbol: szimbólum (jelkulcs) típus Pen: vonaltípus Brush: kitöltéstípus Font: betűtípus Object: egy teljes térképi elem (tetszőleges típusú) Alias: egy oszlopra való hivatkozás A fenti speciális változókhoz speciális parancsok és függvények tartoznak. Ezek segítségével tudunk velük különféle műveleteket végezni, valamint értéküket a MapInfo egyes elemeinek átadni. A MapBasic lehetőséget nyújt összetett változók definiálására is a TYPE parancs segítségével, a többi Basic nyelvben szokásos módon.
5. Elágazások és ciklusok A MapBasic-ben alkalmazhatunk egyszerű elágazásokat, a szokásos IF THEN ELSE END IF alakban. A helyére egy logikai kifejezés kerül, a és a egy vagy több MapBasic utasítást jelent. Az ELSE elhagyható, de az END IF használata minden esetben kötelező, még akkor is, ha az utasítás egyetlen sorban helyezkedik el. Többszörös elágazásokra is lehetőség nyílik, de mivel a SELECT parancs a MapBasic-ben az SQL lekérdezésekre már le van foglalva a megszokottól kissé eltérő a szintaktika. DO CASE CASE <érték1> CASE <érték2> CASE <értékn> CASE ELSE END CASE A tetszőleges típusú kifejezés lehet, <értéki> vele megegyező típusú kell hogy legyen. A részek programrészeket jelentenek, melyek közül az hajtódik végre amelyikhez tartozó <értéki> megegyezik az első sorban megadott kifejezés értékével. Ha egyik sem értékkel sem egyezik meg, akkor a CASE ELSE utáni rész hajtódik végre. Ez utóbbi rész el is hagyható. Megtalálható a MapBasic-ben a többi Basic nyelvből is jól ismert számlálásos ciklus. A FOR = TO [STEP ] szintaktikájú sor és a NEXT utasítás közti rész annyiszor hajtódik végre, amíg a ciklusváltozó, mely értéke minden alkalommal lépésköznyit (alapértelmezésben egyet) növekszik, el nem éri befejező értékét. (A befejező értékkel még egyszer utoljára végig fut) Szintén található a MapBasic-ben a feltételes ciklus. Ennek alakja WHILE …WEND. A két kulcsszó közti programrész addig ismétlődik, míg a WHILE utáni logikai kifejezés igaz. Ezt mindig a ciklus elején kerül ellenőrzésre, ezért is hívják ezt elől tesztelő ciklusnak.
A MapBasic-ben a feltételes ciklusnak másik, a Basic nyelvekben elterjedt (bár a WHILE…WEND ciklusnál ritkább) formája, a DO…LOOP ciklus is megtalálható. Ez lehet elől vagy hátul tesztelős, attól függően, hogy a feltételt a DO vagy a LOOP után írjuk-e. A feltételt WHILE vagy UNTIL kulcsszónak kell bevezetnie, attól függően, hogy a feltétel teljesülése vagy nem teljesülése esetén kívánunk a ciklusban maradni. Például: DO WHILE LOOP A fenti ciklus tulajdonképpen egyenértékű egy hagyományos WHILE…WEND ciklussal.
6. Alprogramok és függvények A MapBasic-ben lehetőségünk van alprogramok és függvények létrehozására. Egy alprogramok esetében a következőképp történik: SUB [(BYVAL <param1név> as <param1tip>, …, <paramNnév> as <paramNtip>)] END a fentieken túl el kell helyezni a program elején egy deklarációs részt, a következő formában: DECLARE SUB [(BYVAL <paraméter1> as <paramtip1>, …, <paramétern> as <paramtipn>)] Az alprogramot a következőképpen tudjuk meghívni: CALL (<paraméter1>,…,<paraméterN>) Mint az a szintaktikából is látszik, a híváskor meghatározott számú és típusú paramétert tudunk az alprogramnak átadni. Ezekre az alprogramban a deklarációnál megadott néven tudunk hivatkozni. Az alprogramok közül kiemelt szerepet tölt be a MAIN. A program futása ennek a végrehajtásával kezdődik meg. A függvények létrehozása nagyban hasonlít az alprogramokéhoz. FUNCTION [(BYVAL <param1név> as <param1tip>, …, <paramNnév> as <paramNtip>)] as END a függvényeket is deklarálni kell a program elején: DECLARE FUNCTION [(BYVAL <param1név> as <param1tip>, …, <paramNnév> as <paramNtip>)] as A függvények abban különböznek az alprogramoktól, hogy visszaadnak egy meghatározott típusú () értéket. Ezt az értéket a függvény program részében egy = értékadó utasítással tudjuk megadni. A saját magunk által definiált függvényekre úgy tudunk a különböző kifejezésekben hivatkozni, mint a MapBasic beépített függvényeire. Pl: a=sajátfgv(b,c)
7. Felhasználói felület kezelése A MapBasic lehetőséget nyújt párbeszédablakok létrehozására, a menürendszer és az eszköztárak kezelésére. Természetesen a MapInfo megszokott elemeit (browserek, térképablakok, elrendezések, stb)
Párbeszédpanel megadása a DIALOG paranccsal történik. A parancs után megfelelő kulcsszókkal bevezetve kell megadni az egész párbeszédpanelra vonatkozó paramétereket (méret, név), majd hasonló szerkezetben kell leírni a panel elemeit. A MapBasic-ben sajnos meglehetősen kevés típusú elemet helyezhetünk el a párbeszédpanelokon. Egyszerűbb esetben, ha csak egyetlen dolgot szeretnénk közölni a felhasználóval, használhatjuk a NOTE(<üzenetstr>) parancsot. Jobb híján, mivel a MapBasic-ben debuggolási lehetőségek gyakorlatilag nincsenek, a változók értékeinek követésére is lehet használni. Másik egyszerű, tipikus esetben egy eldöntendő kérdést szeretnénk feltenni a felhasználónak. Ilyenkor használhatjuk az ASK(,,) függvényt, ami egy logikai értéket ad vissza. Ez az érték igaz, ha a felhasználó az feliratú gombra kattintott, hamis ha a feliratú gombot választotta. A MapBasic-ben egy újabb menüt a CREATE MENU paranccsal tudunk létrehozni. (A parancsok részletes leírását a továbbiakban mellőzzük.) Ebből a program felhasználója még semmit sem fog észrevenni mivel ezt a menüt, ami egy megnevezésből, és menüpontokból áll, még el kell helyezni valahol. A menüpontok többek közt tartalmazzák a menüpont megnevezésén és a meghívandó alprogramon túl egy numerikus azonosítóból (ID) áll. Ez egy egész szám, később erre az azonosítóra tudunk majd hivatkozni. Az ALTER MENU BAR parancs segítségével a MapInfo ablak felső részén elhelyezkedő menüsorba tudunk újabb menüpontokat elhelyezi, szintén ezzel lehet már meglévőeket eltávolítani. A CREATE MENU BAR segítségével egy teljesen új menüsort tudunk létrehozni. Az egyes menüket az ALTER MENU, pontjaikat az ALTER MENU ITEM parancs segítségével tudjuk módosítani. A beépített menükre a menu.def állományban található kódokkal hivatkozhatunk. (Érdemes a program elejére beírni, hogy include “menu.def”, mert ekkor a beépített menükre az állományban meghatározott azonosítókkal hivatkozhatunk.) Az egér jobb gombjára előugró ún. gyorsmenühöz például a 17-es kód tartozik. Új eszköztár létrehozására a CREATE BUTTONPAD parancs szolgál. Már meglévő eszköztárak jellemzőit az ALTER BUTTONPAD paranccsal tudjuk megváltoztatni, ezzel tudunk új ikonokat hozzáadni, vagy régebbieket eltávolítani. Az eszköztár egyes elemeit az ALTER BUTTON paranccsal tudjuk kezelni. Az eszköztárakhoz illetve egyes ikonjaikhoz a menüknél megszokott módon numerikus azonosító (ID) tartozik. Az eszköztárak nyomógombjai háromfélék lehetnek. A PUSHBUTTON a rá való kattintáskor elindít egy alprogramot. A TOGGLEBUTTON ki illetve bekapcsolt állapotba helyezhető ha az egérrel rákattintunk. A TOOLBUTTON hatására egy olyan eszközt nyerünk mellyel a MapInfo munkaterületének elemeire (például a térképablak egyes részeire) kattintva tudunk műveleteket elvégezni. Az egérműveletek helyét később a COMMANDINFO függvénnyel tudjuk lekérdezni.
8. Leíró adatok kezelése A leíró adatok kezelése SQL parancsok segítségével történik. A SELECT parancs lekérdezések létrehozására használható, a lekérdezésekről szóló fejezetben már bemutatottak szerint. Használhatóak továbbá még a következő SQL parancsok is: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, DROP INDEX, INSERT, UPDATE, DELETE, COMMIT TABLE, ROLLBACK. Ezen parancsok használata is az SQL mintájára történik, de számos korlátozással. (ld. MapBasic súgó) Például az UPDATE és DELETE parancsokban a WHERE kulcsszó után mindössze egy RowId=<szám> feltételt szabhatunk, ami a törlendő vagy módosítandó sornak a (fizikai) sorszámára vonatkozik. A WHERE elhagyása esetén egyébként a műveltek itt is a tábla valamennyi sorára vonatkoznak! A táblák egyes jellemzőit (például oszlopaik vagy soraik számát, oszlopaik elnevezését, stb.) a TABLEINFO függvénnyel tudjuk lekérdezni. A táblák adataira az összetett változókhoz hasonlóan . kifejezéssel lehet hivatkozni, vagy akár új értéket adni. Mivel a tábláknak általában több sora is van fontos kijelölni, hogy melyik mezőinek adatait akarjuk lekérdezni a fenti módon. Ez a FETCH parancs segítségével történik. A FETCH FIRST a tábla első, a FETCH PREV a legutolsó nem törölt sorát jelöli ki. A FETCH NEXT a következő, a FETCH LAST az előző nem törölt sort jelöli ki. A FETCH REC segítségével lehetőségünk van az n-edik sor beállítására.
9. Térképi objektumok kezelése Mint már korábban volt róla szó, a MapInfo a geometriai (térképi) elemeket mint speciális mezőket kezeli, melyekre OBJ vagy OBJECT néven hivatkozhatunk. Új térképi objektumot létrehozni a CREATE ARC, CREATE ELLIPSE, CREATE LINE, CREATE PLINE, CREATE POINT, CREATE RECT, CREATE ROUND RENCT, CREATE REGION, CREATE TEXT parancsokkal lehet. Módosítani az ALTER OBJECT paranccsal tudjuk őket. A geometriai jellemzők lekérdezése itt is a már megismert függvények segítségével történhet. (Pl. Area)
10.Fejlesztési lehetőségek más programnyelveken MapInfo alkalmazásokat más nyelven is fejleszthetünk. A program leírása a Delphi-t, a Visual Basic-et és a Visual C++-t emeli ki. Visual Basic-ben első lépésben létre kell hozni egy MapInfo típusú objektumot. (Set CreateObject(“MapInfo.application”)) Később ennek az objektumnak a metódusaival tudjuk a MapInfo-t kezelni.
Tippek, hasznos tanácsok GYIK – Gyakran Ismételt Kérdések Tárgymutató Felhasznált Irodalom
=