Egyetemi Digitális Térképtár, v3.0 Elek István 2010
2
Bevezetés Az Egyetemi Digitális Térképtár (EDIT) az ELTE Informatikai Kar Térképtudományi és Geoinformatikai Tanszékének adatbázisa. A számos papírtérkép szkennelése útján el˝oállított raszteres adatállományok mellett ezek leíró adatait is tartalmazza, valamint különböz˝o formátumú vektor térképeket, f˝oként ESRI shape ˝ és Mapinfo tab formátumban. Urfelvételek, légifotók és domborzati modellek adatai is szerepelnek a rendszer terveiben. A feltöltési munkák többé kevésbé folyamatosan történnek, ahogy az er˝oforrásaink engedik. Az információs rendszer kizárólagos célja az egyetemen folyó oktatási és kutatási tevékenység támogatása, digitális térképekkel való ellátása. Az Egyetemi Digitális Térképtár már jelenleg is a nagyméret˝u képi, térképi adatbázisok kísérleti terepe, ahol bármely szakma képvisel˝oje, aki térképeket használ, vagy térképi adatbázist épít, szoftvert fejleszt, megtalálhatja a kutatásához, oktatási feladataihoz kapcsolódó térképet, problémakört, megoldási módszert. A rendszer fejlesztése jelenleg is tart. Úgy az adatbázis, mint a szoftverek folyamatos javítás, fejlesztés alatt állnak, vagyis el˝ofordulhat, hogy id˝onként furcsa dolgokat látni a weboldalon, vagy az adatbázis feltölt˝o alkalmazás ablakán. El˝ofordulhat az is, hogy a leírás, és a szoftver nincs teljesen szinkronban. Ezek id˝oleges anomáliák, amelyek hamar elt˝unnek. Ez a leírás a EDIT rendszer teljes dokumentációja, amely nemcsak a webes felületr˝ol, annak használatáról szól, hanem az adatbázis leírásáról, a feltöltés módszertanáról, az adatbázis adminisztráció lehet˝oségeir˝ol, valamint az adatfeltölt˝o, és a webes alkalmazói szoftverekr˝ol. A projekthez bárki csatlakozhat, aki egyetemi oktató vagy kutató, PhD hallgató vagy az ELTE reguláris hallgatója, aki adatokkal, személyes közrem˝uködéssel, pénzzel vagy bármivel hozzá tud járulni a rendszer fejl˝odéséhez. Az egyetemi indíttatásból ered˝oen kereskedelmi célra nem használható, s˝ot ELTE domainen kívülr˝ol nem is látható az oldal. Budapest, 2010.
Elek István, PhD habilitált egyetemi docens
Tartalomjegyzék Bevezetés
2
1. Az EDIT rendszer 1.1. Néhány szó a MySql-r˝ol . . . . . . . . 1.1.1. Adatbázis adminisztráció . . . . 1.2. Az edit3 adatbázis szerkezete . . . . . . 1.2.1. A tartalom min˝oségi paraméterei 1.3. A feltölt˝o alkalmazás használata . . . . 1.3.1. Belépés, login . . . . . . . . . . 1.3.2. Menük és ablakok . . . . . . . 1.3.3. Új térkép betöltése a rendszerbe 1.3.4. Alfanumerikus adatbevitel . . . 1.3.5. Rekordok és térképek törlése . . 1.3.6. A konfig fájl . . . . . . . . . . 1.4. A webes lekérdez˝o alkalmazás . . . . . 1.4.1. Az EDIT 3 menüje . . . . . . . 1.4.2. Belépés a rendszerbe . . . . . . 1.4.3. Raszter térképek . . . . . . . . 1.4.4. Vektor térképek . . . . . . . . .
3
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
5 6 7 10 12 12 12 13 15 17 19 20 20 20 21 21 25
4
TARTALOMJEGYZÉK
1. fejezet
Az EDIT rendszer Az Egyetemi Digitális Térképtár 3.0 verziója a http://mapw.elte.hu nev˝u szerveren található, melynek operációs rendszere egy Windows Server 2003. Ezen fut a MySQL 5.0 szerver, amely kezeli az EDIT adatbázist, és kiszolgálja az EDIT-et használó kliens gépeket. Biztonsági okokból a szerver helyi hálózati kapcsolatból nem elérhet˝o. Az EDIT rendszer elte domainen belülr˝ol korlátlanul elérhet˝o a http://mapw.elte.hu/edit URL-en, illetve elte domainen kívülr˝ol történ˝o hozzáférést a VPN (Virtual Private Network) szabályozza. Csak olyanok érhetik el, akik VPN certtel rendelkeznek. Egyetlen könytára van, amely a Windows IIS beállításának köszönhet˝oen, helyi hálózatból is elérhet˝o autentikált személyek által, de amelybe csak kép formátumú fájlok tölthet˝ok fel. Célja egy win32-es adatfeltölt˝o alkalmazás (Edit.exe) adat export/import funkcióinak segítése. Ez a Common nev˝u könyvtár, amelynek upload_maps nev˝u alkönytárába kell bemásolni az EDIT-be importálni kívánt térképeket, ortofotókat, kép fájlokat. Importálás után ezek a fájlok törlend˝ok. Ugyancsak a Common nev˝u könyvtárban található az ExportMaps, ahová az adatfeltölt˝o alkalmazás exportálhat térképeket a rendszerb˝ol. A MySql az alfanumerikus adatok kezelését végzi, amely a térképek hivatkozásait, és leíró adatait tartalmazza, de a térképeket tartalmazó grafikus fájlokat nem. A térképek a fájlrendszerben vannak, amelyek a hivatkozások alapján érhet˝ok el megnyitás vagy letöltés céljából. A MySql végzi továbbá a felhasználói adatok adminisztrációját, hozzáférési jogainak kezelését. Úgy az adatfeltölt˝o, mint a lekérdez˝o alkalmazás a MySql-b˝ol veszi a felhasználók autentikációjához szükséges adatokat. Az EDIT rendszer két f˝o szoftverb˝ol áll. Az egyik az edit.exe, amely egy Win32 alkalmazás. Ez végzi az adatbázis térképekkel való feltöltését a fent említett upload_maps helyr˝ol, valamint a már feltöltött térképek egyedi attribútumainak feltöltését is. A másik szoftver az editke, amely egy ASP.NET alkalmazás. Webes elérést (olvasást), lekérdezést és megjelenítést tesz lehet˝ové (http://mapw.elte.hu/edit). A fentiek alapján tehát az adatbázis feltöltése csak a szerveren történhet 5
6
FEJEZET 1. AZ EDIT RENDSZER
egy win32 alkalmazás (edit.exe) segítségével, míg a lekérdezés egy EDIT3 nev˝u ASP.NET alkalmazás segítségével. A következ˝okben áttekintjük a rendszer valamennyi elemét. El˝oször egy rövid MySql ismertet˝ovel kezdjük, majd megmutatjuk az EDIT renndszer adatbázis adminisztrátorának lehet˝oségeit, feladatait. Ez alapvet˝oen egy MySql adminisztrátori feladatkör, némi térkép ismerettel f˝uszerezve. Azután megismerkedünk az edit.exe adatfeltölt˝o alkalmazással, és használatával, majd áttekintjük a webes lekérdez˝o alkalmazást.
1.1. Néhány szó a MySql-r˝ol Idézet a Wikipédiából: A MySQL egy többfelhasználós, többszálú, SQL-alapú relációs adatbázis-kezel˝o szerver. A szoftver fejleszt˝oje a svéd MySQL AB cég, amely kett˝os licenceléssel teszi elérhet˝ové a MySQL-t; választható módon vagy a GPL, vagy egy kereskedelmi licenc érvényes a felhasználásra. 2008 januárjában a Sun felvásárolta 800 millió dollárért a céget. Az MySQL az egyik legelterjedtebb adatbázis-kezel˝o, aminek egyik oka lehet, hogy a teljesen nyílt forráskódú LAMP (Linux–Apache–MySQL–PHP) összeállítás részeként költséghatékony és egyszer˝uen beállítható megoldást ad dinamikus webhelyek szolgáltatására. Egyedi illeszt˝ofelületekkel az adatbázis-kezel˝o elérhet˝o C, C++ , C#, VB.NET, Delphi, Eiffel, Smalltalk, Java, Lisp, Perl, PHP, Python, Ruby és Tcl programozási nyelvvel. Egy MyODBC nev˝u ODBC interfész további, ODBC-t kezel˝o nyelvek számára is hozzáférhet˝ové teszi az adatbázis-kezel˝ot. A MySQL számára az ANSI C a natív nyelv. A MySQL adatbázisok adminisztrációjára parancssori eszközöket (mysql és mysqladmin) használhatjuk. A MySQL honlapjáról grafikus felület˝u adminisztráló eszközök is letölthet˝ok: MySQL Administrator és MySQL Query Browser. Széles körben elterjedt és népszer˝u adminisztrációs eszköz a PHP nyelven írt, nyitott forráskódú phpMyAdmin. A phpMyBackupPro (amelyet szintén PHP-ban írtak) adatbázisok (akár id˝ozített, ismétl˝od˝o) mentésére szolgál eszközül. A MySQL különböz˝o platformokon futtatható: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, 0Netware, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP és a Windows frissebb verziói. Már MacOSX 10.4-re is elérhet˝o. A MySQL 5.x képességei: ANSI SQL 99, számos kiegészítéssel, keresztplatformos elérhet˝oség, tárolt eljárások, adatbázis triggerek, kurzor adatbázisok, „View” adatbázisok, valódi VARCHAR támogatás, INFORMATION_SCHEMA támogatás, „Strict” (szigorú) mód, X/Open XA elosztott tranzakció-feldolgozás (DTP) támogatása; az Oracle InnoDB motorjának használata, különálló tároló motorok,(MyISAM olvasási sebességért, InnoDB a tranzakciókhoz és a referenciális integrációhoz, MySQL Archive az elavult adatok kevés helyen történ˝o tárolására,
˝ 1.1. NÉHÁNY SZÓ A MYSQL-ROL
7
1.1. ábra. A MySqlAdministrator login ablaka
tranzakciók az InnoDB, BDB és Cluster tároló motorokkal, SSL támogatás, lekérdezés gyorstár (cache), egymásba ágyazott SELECT-ek, szöveges indexelés és keresés a MyISAM motorral, beágyazott adatbázis-könyvtár, részleges Unicode támogatás, ACID megfelelés az InnoDB-vel, BDB-vel és Cluster-rel, továbbfejlesztett MySQL Cluster, „Példányosítás” A következ˝o képességekkel a MySQL rendelkezik, számos más relációs adatbázisrendszerrel ellentétben: Többféle tároló motor, amelyek között bármely táblához szabadon választhatunk, natív tároló motorok (MyISAM, Falcon, Merge, Memory (heap), MySQL Federated, MySQL Archive, CSV, Blackhole, MySQL Cluster, Berkeley DB, EXAMPLE, és Maria), partnerek által fejlesztett tároló motorok (InnoDB, solidDB, NitroEDB, BrightHouse), kKözösségi fejlesztés˝u tároló motorok (memcached, httpd, PBXT, Revision Engine), akár egyéni tároló motor, commitek csoportosítása, több tranzakció fogadása többféle kapcsolatról, melyek meggyorsítják a tranzakciók lefolyását. Küls˝o hivatkozások, további dokumentációk: • Dokumentáció: http://dev.mysql.com/doc/ • Gyakori kérdések: http://dev.mysql.com/tech-resources/faq.html • Letöltés: http://dev.mysql.com/downloads/
1.1.1. Adatbázis adminisztráció A MySql adminisztrációját végezhetjük parancssorból (mysqladmin) vagy grafikus alkalmazásból. Néhány fontosabb m˝uveletet bemutatunk a grafikus adminisztrációs eszközzel, amelyet csak a root nev˝u rendszeradminisztrátor végezhet. Indítsuk el a Start/MySql/MySqlAdministrator programot (1.1. ábra), majd adjuk meg a rendszergazda jelszavát.
8
FEJEZET 1. AZ EDIT RENDSZER
1.2. ábra. A MySQlAdministrator kezel˝o felülete. Itt beállíthatjuk az adatbázis szerver valamennyi tulajdonságát
Belépés után megjelenik az adminisztrátor kezel˝o felülete (1.2. ábra). Itt megnézhetjük és beállíthatjuk a MySql szerver számos tulajdonságát. Mivel az EDIT egy már kidolgozott rendszer, ezért csak a vele kapcsolatos beállításokat tárgyaljuk. Az egyik ilyen fontos beállítás a katalógus (Catalog), amely a MySql által kezelt adatbázisokat mutatja (1.3. ábra). Számunkra pillanatnyilag csak az edit3 nev˝u adatbázis érdekes. Az edit3 kiválasztása után megjelennek az adatbázis tábláinak nevei, és számos adatuk. Itt lehet˝oségünk van módosítani a táblák tulajdonságait. Ha kétszer klikkelünk valamely táblanévre (a 1.4. ábra esetén az rastermaps táblára), akkor megjelenik a táblastruktura. Módosíthatjuk a kiválasztott tábla bármely oszlopát, annak bármely tulajdonságát, új oszlopot hozhatunk létre, vagy bármelyiket törölhetjük is. Ne felejtsük el, hogy most korlátlan urai vagyunk az adatbázis minden elemének. Egyetlen mozdulattal letörölhet˝o egy teljes tábla, annak valamennyi adatával. Megfontoltan, körültekint˝oen cselekedjünk, mert nincs UNDO (többek között ezért is fontos a rendszeres, és minden nagyobb beavatkozás el˝otti archiválás). A térképek csoportba sorolását a csoportok nev˝u tábla tartalmazza (1.5. ábra). Új térkép importjakor meg kell adnunk, hogy mely csoportba tartozik. Ha nincs olyan csoport, amelybe szeretnénk besorolni az adott térképet, akkor létre kell hozni egyet. Mivel ez a m˝uveletet igen ritka, ezért az edit.exe alkalmazás nem támogatja, vagyis csak MySql alatt tudjuk elvégezni új csoport létrehozását. A MySql egy másik, igen fontos szolgáltatása a felhasználói jogosultságok ke-
˝ 1.1. NÉHÁNY SZÓ A MYSQL-ROL
9
1.3. ábra. A Catalog megmutatja a MySql által kezelt adatbázisokat. Nekünk jelenleg csak az edit3 nev˝u érdekes, amelynek egy csoportok és egy rastermaps nev˝u táblája van
1.4. ábra. Az rastermaps tábla sturkturája
10
FEJEZET 1. AZ EDIT RENDSZER
1.5. ábra. Az csoportok tábla a térképek csoportba tartozási lehet˝oségeit tartalmazza
zelése, az autentikáció. Ezt akkor érjük el, ha a User Administration menüre klikkelünk (1.6. ábra). Itt hozhatunk létre új felhasználót, adhatunk meg hozzáférési jogokat. Itt hozhatunk létre olyan felhasználókat, akinek joga van megváltoztatni az egyes táblák rekordjainak tartalmát, akik a tartalmi naprakészségért felel˝osek, vagy olyanokat, akik csak nézegethetik az adatokat, valamint a webes felületen le is tölthetnek térképeket. Ne felejtsük el, hogy nem regisztrált felhasználók is láthatják a webes felületen bármelyik térképet, de nem tölthetk le azt. Ebb˝ol következ˝oen a csak „nézegetési” jogkörrel rendelkez˝o felhasználót nem regisztrálnunk, annak MySql user accountja nem lesz. Ugyancsak a root jogköre a biztonsági mentések végzése. Ezt a MySqlAdministrator kezd˝o ablakában tehetjük meg (1.2. ábra) a BackUp (Restore) menüre kattintva. Ne felejtsük el, hogy a képek nincsenek az adatbázisban, vagyis archiváláskor a raszteres térképek nem ment˝odnek el.
1.2. Az edit3 adatbázis szerkezete Mint fentebb említettük, az edit3 adatbázis a 1.4. ábrán látható táblákból áll, amelyek a csoportok és a rastermaps nev˝u táblák. A csoportosítást tapasztalt térképészek állapították meg, de bármikor átalakítható ez a felosztás. A tábláknak mindenféle tulajdonsága megváltoztatható a MySqlAdministrator segítségével. Az „map_id” nev˝u mez˝o els˝odleges kulcs, automatikusan növekv˝o
1.2. AZ EDIT3 ADATBÁZIS SZERKEZETE
11
1.6. ábra. A User Administration dialógus ablaka
értéket kap minden egyes új rekord létrejöttekor. Lényeges szerepet játszik a térkép fájlrendszerbeli helyének megállapításában. Mint el˝oz˝oleg említettük, a térképek, u˝ rfelvételek nincsenek bent a MySql edit3 nev˝u adatbázisában, hanem csak a hivatkozások, amely alapján az alkalmazások elérhetik a térképeket. A térképek elérhet˝osége három részb˝ol tev˝odik össze. Az els˝o a térképeket tartalmazó könyvtár neve (jelenleg: O:/asp.net_app/editke3/edit3/). A második a térképek tényleges helye (O:/asp.net_app/editke3/edit3/rastermaps/). A harmadik rész a kiválasztott rekord „map_id” mez˝ojének értéke, hozzáf˝uzve a „grformat” mez˝o tartalmát. Így tehát, ha meg kívánjuk jeleníteni a „Raszter térképek” menüvel az „Atlaszok” térkép csoportból a „Washington” cím˝u térképét, amely „map_id” mez˝ojének értéke 5, „grformat” mez˝ojének értéke ’jpg’, akkor annak elérhet˝osége a következ˝o lesz: O:/asp.net_app/editke3/edit3/rastermaps/5.jpg. Ha ránézünk a http:/mapw.elte.hu/edit oldalra, akkor nem biztos, hogy valamennyi mez˝ot látjuk, amit a MySql adminisztrátor, vagy az edit.exe adatfeltölt˝o alkalmazás mutat. Ennek oka, hogy módunkban áll a webes alkalmazás esetén beállítani, hogy mely mez˝ok látszszanak (a beállítás a „targetColumns.lst” fájlban látható, amely az alkalmazás App_Data könyvtárában található). A vektoros térképek kezelése jóval összetettebb feladat, mint a raszteres állományoké. Igen sokféle adatformátum létezik, ráadásul az fajta egyveret˝uség, ami a raszteres térképekr˝ol elmondható – még akkor is, különböz˝o formátumúak – vektoros esetben egyáltalán nem létezik. Emiatt a vektoros adatokat nem szerveztük relációs táblákba, hanem egyszer˝uen csak elérhet˝ové tettük a fájlrendszerb˝ol. A jelenlegi verzióban (v3) a vektoros adatok megtalálása tehát a fájlrendszer könyv-
12
FEJEZET 1. AZ EDIT RENDSZER
társtruktúrájában keresgélve lehetséges. A könyvtárnevek beszédes nevek (pl. országnevek), amelyek orientálják a felhasználót. Ahol lehetséges, pontossági, megbízhatósági és származási adatokat fogunk tárolni az egyes vektoros állományokhoz, állomány csoportokhoz, ez azonban jelenleg még nem készült el.
1.2.1. A tartalom min˝oségi paraméterei A térképek túlnyomórészt 300 dpi felbontásban, és 24 bites színmélységben állnak rendelkezésre. Kisebb felbontás alig (200 dpi-nél kisebb egyáltalán nincs), 400 dpi viszonylag gyakrabban fordul el˝o (ennél nagyobb egyáltalán nincs). El˝ofordulnak 24 bitesnél kisebb színmélységben szkennelt térképek is (pl. 256 szín˝u). Számos szkennelt térkép képfájlja tartalmaz adatot a felbontásról, de ez sajnos nem általános, s˝ot vannak fájlok, amelyr˝ol biztosan tudjuk, hogy nem vehet˝o komolyan a közölt adat (pl. 96 dpi, ami a monitor felbontása). Emiatt tehát mindeképpen tárolnunk kellett, a fájloktól függetlenül, a felbontó képességet. A térképek leíró adatait a Dublin Core nev˝u európai szabványra alapoztuk, amelyet térképtárak, múzeumok térképeinek leírására dolgoztak ki (http://mek.oszk.hu/html/irattar/dc.htm, vagy http://dublincore.org/ ). Változtatás nélkül nem alkalmazható, mert a régi térképekre ugyan megfelel˝o, de a maiakra nem. Az edit3 adatbázis nagyon sok, napra kész térképet is tartalmaz, amelyek minden fontos adatát nem érinti a Dublin Core (mint például méretarány, vetületi rendszer, stb.), így ezekkel az adatokkal b˝ovítettük az adatbázis struktúrát. Az u˝ rfelvételek, ortofotók pedig egészen más megközelítést kívánnak. A színmélységet az adatbázis külön nem tárolja, hanem beolvasáskor a megjelenít˝o szoftver olvassa ki a képb˝ol. A vektortérképek megbízhatóság, pontossága több tényez˝ot˝ol is függ, ezek azonban jelenleg még nem érhet˝ok el.
1.3. A feltölt˝o alkalmazás használata A feltölt˝o alkalmazás, az edit.exe csak a szerveren fut, amely az Asztalra (Desktop) kitett ikonból indítható, feltéve, hogy aki használni akarja, az a Windows Server 2003-ban rendelkezik user accounttal. Természetesen nem minden Windows server felhasználó léphet be a feltölt˝o alkalmazásba, hanem csak az, aki számára ezt a MySql User Adminisztráció lehet˝ové teszi. Ráadásul csak az változtathat az adatokon, akinek erre megvannak a jogai (szintén MySql kompetencia).
1.3.1. Belépés, login Ahhoz tehát, hogy valaki távolról belépjen a szerverre a saját gépér˝ol, el kell indítsa a „Távoli asztal kapcsolat” funckiót, amely Windowsban és Linuxban egyaránt létezik. Ha van user accountunk a windows serverre, akkor ez sikerülni fog. Ekkor gépünkön megjelenik a szerver környezete, és ott úgy dolgozhatunk, mintha a szer-
1.3. A FELTÖLTO˝ ALKALMAZÁS HASZNÁLATA
13
1.7. ábra. Az edit.exe login ablaka
ver el˝ott ülnénk. Így láthatóvá válik az edit.exe ikon is, amelyre klikkelve elindul a feltölt˝o alkalmazás. Az els˝o, ami megjelenik a bejelentkez˝o képerny˝o, ahol meg kell adni a MySql felhasználói nevünket és jelszavunkat (1.7. ábra). Sikeres autentikáció után megjelenik a 1.8. ábrán látható képerny˝okép (sikertelen esetben leáll a program).
1.3.2. Menük és ablakok Vizsgáljuk meg alaposabban az ábrát. Láthatóan kétféle ablaktípus van rajta. Az egyik az adatablak, amelyben a táblázatos adatok látszanak. A másik a térkép ablak, ahol a térkép látható. A Beállítások menüben ki/be kapcsolhatjuk o˝ ket. Egy splitter, egy határoló választja el o˝ ket, amit jobbra-balra mozgatva változik a kétféle térrész aránya (az egérrel a táblázat jobb szélére állva megváltozik a kurzor alakja, amikor lenyomva a bal gombot a határ mozgatható). A Beállítások menüben megnézhetjük a konfig fájl tartalmát, amely a rendszer legfontosabb könyvtárait tartalmazza (1.9. ábra). A térkép ablakban mindig a táblázat aktuális rekordjának megfelel˝o térkép látható. Az aktuális rekordot a táblázat bal oldalán lév˝o sávban látható fekete nyíl mutatja, valamint a teljes sor sötétkék háttérrel látszik. Bárhova klikkelünk a táblázatban, az kijelöli a rekordot. Egyenként is lépegethetünk el˝ore egy rekordot ( ), meg vissza ( ) az ikonokkal, továbbá a táblázat elejére ( ) vagy végére ( ) is ugorhatunk az erre célra való nyilakkal. A térkép ablak tartalmát is változtathatjuk a megfelel˝o ikonokkal. A jelüvel nagyítani, a jel˝uvel kicsinyíteni lehet. A az egész térkép területe láthatóvá válik, míg a ikonnal természetes méretben jelenik meg a térkép. Ilyenkor görget˝osávok is felbukkannak, amikkel vándorolhatunk a térképen. Az adatablakban láthatók a kiválasztott térkép csoportba tartozó rekordok. Az oszlopok neveire kattintva az adott oszlop szerint sorba is rendezhetjük az adattáblát egyetlen kattintással. A M˝uveletek menüben a lekérdezésekkel kapcsolatos funkciók vannak. A tervek szerint itt grafikus felület segíti majd összetett SQL lekérdezések megfogalmazását, és az eredmények mentését. Egyik táblából a másikba történ˝o adatmozgásokat is itt tervezzük megvalósítani. Jelenleg mindössze egy parancsablak áll ren-
14
FEJEZET 1. AZ EDIT RENDSZER
1.8. ábra. Az edit.exe felhasználói felülete a térkép- és adatablakkal, a menükkel és a gombokkal, valamint a csoportok kiválasztására szolgáló legördül˝o szövegmez˝or˝ol (fekete sávon, zöld szöveg)
1.9. ábra. A konfig fájl tartalma
1.3. A FELTÖLTO˝ ALKALMAZÁS HASZNÁLATA
15
1.10. ábra. A bemutatkozó képerny˝o
delkezésre, ahol bármely selecttel kezd˝od˝o utasítás kiadható. A menürendszer elkészültével természetesen ez felhasználóbarát módon is elvégezhet˝o lesz, nemcsak SQL guruk számára. Minden olyan SQL m˝uvelet tiltott, amely az adatstruktúra megváltoztatását, valamely tábla törtélését, vagy rekordok tömeges törlését tenné lehet˝ové (egy-egy rekord törlése megengedett, feltéve, hogy az adott felhasználónak erre joga van). Az Egyéb menüben a Help és a bemutatkozás található (1.10. ábra). A bemutatkozás ablakban látható, hogy az adatfeltölt˝o alkalmazás (edit.exe) mely verziója fut. Ez jelenleg a 2.0.0.0 verzió. Talán itt érdemes megjegyezni, hogy külön verziószámmal láttuk el az adatfeltölt˝o alkalmazást (v2.0), az adatbázist (v3.0) és a webes lekérdez˝ot (v1.1).
1.3.3. Új térkép betöltése a rendszerbe ikon új térkép rendAz ikonok között további hasznos funkciókat találunk. A szerbe importálását végzi. Miután rákattintottunk az ikonra, megjelenik egy csoport választó ablak (1.11. ábra), amely a importálni kívánt térképek csoportba sorolását végzi el. Olyan térkép tehát nem vihet˝o be a rendszerbe, amelynek csoportba tartozását nem tudjuk eldönteni (pontosabban bevihet˝o, mivel létezik egy ’egyéb’ csoport is). A csoportválasztó után egy fájl kiválasztó dialógus ablakban (1.12. ábra) megjelennek az „upload_maps” könytárban lév˝o térképek, amelyeket el˝oz˝oleg valahonnan (saját gépr˝ol, szkenner mell˝ol, CD-r˝ol, stb) oda feltöltöttünk. Lehet egyenként is importálni o˝ ket, de célszer˝ubb egyszerre az egészet. Ez ugyan hosszabb id˝ot (perceket) is igénybe vehet, és addig nem tudunk semmit sem csinálni a rendszerrel, de így legalább biztosan nem m˝uvelünk olyasmit, amivel megzavarnánk a
16
FEJEZET 1. AZ EDIT RENDSZER
1.11. ábra. A csoportválasztó dialógus ablak. Itt azt is beáálíthajuk, hogy a ,nev’ mez˝o maradjon üresen vagy betölt˝odjön a fájl neve (feltéve, hogy beszédes fájlnévr˝ol van szó)
1.12. ábra. Az importálandó térképek kiválasztását segít˝o dialógus ablak
1.3. A FELTÖLTO˝ ALKALMAZÁS HASZNÁLATA
17
térképek importját. Sikeres import után, miután meggy˝oz˝odtünk, hogy a térképek hiba nélkül elérhet˝ok a rendszerben, az „upload_maps” könyvtárat haladéktalanul ürítsük ki, nehogy kés˝obb mégegyszer hozzáadjuk a benne lév˝o térképeket. A feltöltés következ˝o része a frissen importált térképek attributum adatainak feltöltése. Ezek részben ismert adatok (pl. felbontás, vetületi rendszer) részben a térképr˝ol kell leolvasnunk. Ha rápillantunk az adatablakra, láthatjuk, hogy az „map_id”, a „cim” és a „grformat” mez˝o már fel van töltve. Amikor ugyanis importálunk egy térképet, amely valamilyen fájlnéven szerepel az „upload_maps” helyen, az „map_id” mez˝o automatikusan egy növekv˝o sorszámot kap, és mint els˝odleges kulcs egyedi lesz a táblán belül. A „cim” mez˝o megkapja az importált fájl nevét, kiterjesztés nélkül, (ha ezt az opciót választottuk a csoport választó ablakban), és végül a „grformat” mez˝o megkapja a fájl kiterjesztését. A térkép pedig bemásolódik, a konfig fájlban megadott helyre, O:/asp.net_app/editke3/edit3/rastermaps/ a „map_id”-b˝ol és a „grformat”-ból álló néven. A bemásolt térkép tahát elveszti a régi fájlnevét, és felveszi az „map_id” mez˝onek a fájl kiterjesztéssel b˝ovített változatát (például ha id=12, grformat=jpg, akkor a fájlnév=12.jpg. Így tehát a megjelenítéshez szükséges teljes elérési út a következ˝o lesz: O:/asp.net_app/editke3/edit3/rastermaps/12.jpg). Ezeket a m˝uveleteket az adatfelölt˝o alkalmazás elvégzi helyettünk, de nem árt tudni, hogy mi történik importkor, és hova, milyen néven kerülnek a térképek.
1.3.4.
Alfanumerikus adatbevitel
Vannak további mez˝ok is, amelyeket már nekünk kell feltölteni. Ilyenkor a kijelölt rekord aktuális mez˝ojére klikkelünk, és a megfelel˝o adatot beírjuk. Az Enter leültésére, vagy az egérrel történ˝o továbblépés hatására a változtatások elment˝odtek az adatbázisban. Ez a munkamódszer olyankor jó, amikor rekordról rekordra változnak a beírandó értékek. Vannak olyan esetek, amikor egyféle térképb˝ol sokat vittünk be (pl. mindegyiknek 300 dpi a felbontása, vagy mindnek Gauss-Krüger a vetületi rendszere). Ezek egyenkénti beírása hosszadalmas, ezért a f˝omenüben létrehoztunk egy SQL parancs sort, amely a tömeges értékeadás hasznás eszköze lehet. Ehhez azonban alaposan kell ismerni az SQL-t, mert könnyen felülírhatjuk el˝oz˝oleg fáradságosan bevitt adatainkat. Amúgy bármely SQL m˝uveletet végez az alkalmazásunk (pl. sorbarendezzük a táblát valamely oszlopnévre klikkeléssel), az megjelenik az SQL paracs sorban. Valamennyi, a parancssorban kiadott SQL parancs addig, amíg fut a programunk, visszahívható (vagyis nem kell mindent újra beírni). Ha a ráklikkelünk a parancssor jobb szélén lév˝o nyílra, akkor legördülnek az eddig kiadott parancsok. Lássunk néhány példát a tömeges értékadásra. Rendezzük sorba az Atlaszok csoport tagjait „map_id” mez˝o szerint, amelybe éppen most sok térképet importáltunk. Az új térképek „map_id” értékei 560-650-ig terjednek, vagyis kilencven térképet importáltunk. Valamennyi térkép felbontása 300 dpi. Az új térképek „cim” mez˝oibe bekerültek a kiterjesztés nélküli fájl nevek (amiket kés˝obb tetsz˝oleges tar-
18
FEJEZET 1. AZ EDIT RENDSZER
talmúra átírhatunk). A „tema” nev˝u mez˝okbe pedig bekerül az „uj terkep” bejegyzés. Adjuk tehát meg az új térképek felbontását 300 dpi-nek a következ˝o SQL parancs sorban: UPDATE rastermaps SET felbontas=300 WHERE tema=’uj terkep’; Így is megdhatjuk az értékadást, mivel tudjuk, hogy hol kezd˝odnek és végz˝odnek az új térképek „map_id” értékei: UPDATE rastermaps SET felbontas=300 WHERE map\_id BETWEEN 560 and 650; Ha kihagyjuk a WHERE feltételt, akkor a „rastermap” tábla valamennyi rekordjának „felbontas” mez˝ojét 300-ra állítja, ami egyáltalán nem biztos, hogy jó ötlet. Nemcsak tömeges értékadásra, hanem bizonyos feltételek szerinti sz˝urésre is használhatjuk az SQL parancs sort. Legyen például a feladatunk a következ˝o: keressük azokat a térképeket az „Atlaszok” csoportban, amelyek 1910 el˝ott készültek, és Kogutivocz Manó adta ki o˝ ket. (Ne felejtsük el ’ jelek közé tenni a string tipusú adatokat, mint amilyen egy név). SELECT * FROM rastermaps WHERE csoport=13 AND kiado=’Magyar Földrajzi Intézet’; A * azt jelenti, hogy a tábla minden oszlopára kiváncsiak vagyunk, ami a feltételnek megfelel. Ha csak néhány oszlop érdekel minket akkor a * helyett írhatjuk az érdekes oszlopok neveit vessz˝ovel elválasztva: SELECT id, cim, ev, kiado, vetuleti_rendszer FROM rastermaps WHERE csoport=1 AND (letrehozo=’Kogutovicz Manó’ AND ev<1910); Kérdés, hogy hogyan adjuk meg a csoportba tartozást az SQL utasításban. A adatrács, vagy táblázat felett látható legördül˝o, sötét mez˝oben zöld betükkel olvasható szöveg a csoport szöveges leírása (ez a „csoport” nev˝u táblából származik). Amelyik csoport ki van választva, annak megfelel˝o SQL parancs látható az SQL parancsablakban. Itt látható, hogy a „csoport” mez˝o értéke mennyi. Nézzünk például további lehetséges lekérdezéseket, amelyek csoportbeosztás felett állnak. Keressünk például olyan térképeket, amiknek a címében, bármi más szavakkal együtt, benne van Budapest (1.13. ábra). SELECT * FROM rastermaps WHERE cim LIKE ’%Budapest%’; A % jel Budapest el˝otti és utáni szavakat is jelöli. Ha a % jel a szó végén lenne, akkor csak a Budapesttel kezd˝od˝o cím˝ueket találná meg. Ha mindezeket év szerint csökken˝o módon rendezni szeretnénk, akkor a következ˝o parancs lesz a jó megoldás:
1.3. A FELTÖLTO˝ ALKALMAZÁS HASZNÁLATA
19
1.13. ábra. A legy˝ujtés eredménye, amikor a Budapest szót keressük a térképek címében
SELECT * FROM rastermaps WHERE cim LIKE ’%Budapest%’ ORDER BY ev DESC; Az SQL parancs sorban kiadott hibátlan parancsokat a szoftver tárolja, így kés˝obb felhasználhatjuk, ha a combo box jobb szélén látható nyílra klikkelünk.
1.3.5. Rekordok és térképek törlése Noha a törlés is szerves része az SQL-nek, tömeges alkalmazását az EDIT rendszer nem támogatja, vagyis az SQL parancs sorban a DELETE kulcsszó nem megengedett. Ha mégis szükség lenne rá, akkor azt a MySql-en belül kell megoldani. Egyenkénti törlés azonban engedélyezett. Ha a ikonra klikkelünk, akkor azzal az aktuális rekordot töröljük, de nemcsak a szöveges részeket, hanem a térképet is. Vigyázzunk, UNDO nincs! A ikon a keresés, lekérdezés grafikus felületét aktivizálja. Mivel ez a funkció még nem lett megvalósítva, így az ikon passzív. A ikon az aktuális rekordot exportálja a konfig fájlban megadott helyre (ez jelenleg a O:/Common/ExportMaps/) A menüsorban található még egy szöveges mez˝o, amely a papír méretet mutatja. A kép felbontásából (dpi) és a kép pixel számából számolja ki a szoftver, amikor az adott rekordra lépünk.
20
FEJEZET 1. AZ EDIT RENDSZER
1.3.6. A konfig fájl A rendszer legfontosabb paraméterei egy un. konfig fájlban vannak tárolva, amelyet az alkalmazás induláskor beolvas. Neve Edit.cfg, amelyet oda kell tenni, ahol az alkalmazás futtatható állománya van (exe). Az edit.exe helye jelenleg az O:/edit_server/bin/Release/ könyvtár. Bármely egyszer˝u, formázó karaktereket nem tartalmazó szövegszerkeszt˝ovel átírható (pl. Notepad, Total Commander, stb). Tartalma a következ˝o: ’Szerver név: localhost ’Adatbázis név: edit ’Térképek helye: o:\asp.net_app\editke\EditRasterMaps\ ’Exportálandó térképi fájlok helye: o:\Common\ExportMaps\ ’Importálandó térképek helye: o:\Common\upload_maps\ Jelenleg ez a edit 2.0 funkcionalitása és készültségi foka. A feltölt˝o alkalmazás képességei egyel˝ore nem terjednek ki a vektoros adatokra, mivel ezeket a fájlrendszer valamiféle hierarchia szerint tartalmazza. A webes alkalmazás azonban képes ezeket is megjeleníteni, de err˝ol majd annak ismertetésekor lesz szó.
1.4. A webes lekérdez˝o alkalmazás Az adatbázis és a térképek megjelenítését egy ASP.NET-ben írt alkalmazás végzi, melynek nyitó képerny˝oje a 1.14. ábrán látható (aktuális verziószáma: 1.1.0.0). ELTE-n belülr˝ol elérhet˝o a http://mapw.elte.hu/edit címen. Használata nem bonyolult.
1.4.1. Az EDIT 3 menüje Egyszer˝u menürendszer segíti a navigációt, amely az ablak fels˝o (középs˝o) részén található. Hat menüpont áll rendelkezésre, úgymint Kezd˝o oldal (ez a default menüpont), Belépés a rendszerbe, Adatbázis leírás, Linkek, Szerz˝ok és Login. A Login menü a regisztrált felhasználók belépését lehet˝ové tev˝o két text boxot tartalmazó dialógus ablakot nyit meg (1.15. ábra). Nem regisztrált felhasználó is beléphet a rendszerbe, neki nem kell bejelentkezni, hanem egyb˝ol beléphet a ˝ csak megnézheti a térképeket, az adatokat, de nem végezhet letöltést rendszerbe. O és SQL parancssort sem kap. A Belépés a rendszerbe menüpontra klikkeléssel megnyílik egy almenü csoport, ahol választhatunk különböz˝o térképcsoportok között, úgymint Raszter tér-
1.4. A WEBES LEKÉRDEZO˝ ALKALMAZÁS
21
1.14. ábra. Az EDIT nyitóképerny˝oje
1.15. ábra. A Login ablak
˝ képek, Vektor térképek, Urfelvételek, légifotók és Domborzati modellek, amint azt a 1.16. ábra mutatja.
1.4.2. Belépés a rendszerbe 1.4.3. Raszter térképek A Raszter térképekk menüpontot választva megjelenik egy legördül˝o combo box, ahonnan választhatunk a megjeleníteni kívánt térképcsoportok közül (1.17. ábra). A combotól jobbra lév˝o combo boxban megadhatunk egy mez˝ot az adatbázisból, ami szerint rendezve szeretnénk látni a betöltött adatokat. Ha nem jelentkeztünk be, vagyis nem írtunk be semmit a Név és a Jelszó mez˝okbe, akkor az OK gomb alatt „Azonosítatlan felhasználó” felirat lesz látható. Ha bejelentkeztünk, akkor ugyanott lesz olvasható a nevünk, mint bejelentkezett felhasználóé. A regisztrált felhasználó letöltheti bármelyik térképet, az azonosítatlan nem.
22
FEJEZET 1. AZ EDIT RENDSZER
1.16. ábra. A Belépés a rendszerbe menüpont almenüi
1.17. ábra. A Raszteres térképek menüpontból kiválasztható térképféleségek
1.4. A WEBES LEKÉRDEZO˝ ALKALMAZÁS
23
1.18. ábra. Az Atlaszok csoport táblázatos adatai
Regisztrálni nem lehet a webes felületen, csak személyesen, emailben történt kapcsolatfelvétel után (kapcsolattartó Elek István, email:
[email protected]). Ha kiválasztottuk például az Atlaszok csoportot, akkor megjelenik egy táblázat a térképek leíró adataival (1.18. ábra). Egyszerre 40 sor látható a táblázatban, amely pillanatnyilag nem változtatható meg a végfelhasználó által. Lapozni a táblázat feletti kis nyilakkal lehet. A jobbra mutató nyilra klikkelve egy lapot el˝ore, a balra mutató nyilra klikkelve egy lapot visszafelé lapozhatunk. A függ˝oleges vonalra mutató, széls˝o nyilak értelemszer˝un az adattábla elejére vagy végére navigálják az oldal tartalmát. Ha szeretnénk megnézni valamelyik térképet, akkor a kívánt sor select szövegére kell klikkelni. Ekkor elt˝unik a táblázat, és megjelenik a kiválasztott térkép (1.19. ábra), amelyet tetsz˝olegesen nagyíthatunk, kicsinyíthetünk vagy vonszolhatunk bármelyik irányba, illetve visszaállíthatjuk a beolvasáskor felvett, eredeti mé-
FEJEZET 1. AZ EDIT RENDSZER
24
1.19. ábra. A kiválasztott térkép a térkép megjelenít˝o ablakban
retére. Regisztrált felhasználó esetén látható egy Letöltés feliratú gomb, amelyre klikkelve a látható térkép letölt˝odik a megadott helyre. Vissza is térhetünk a táblázathoz, ha a megfelel˝o gombra klikkelünk. Ilyenkor a térképablak bezáródik, és újra megjelenik a táblázat a térkép adataival. Ha másik térkép csoportot akarunk kiválasztani, akkor azt a weboldal bármely állapotában megtehetjük, feltéve, hogy látható a legördül˝o combo box. Válasszuk ki a nem_georeferalt_eov térkép csoportot, majd válasszuk ki bármelyik térképet a select feliratra klikkeléssel. A gombra klikkelve az egér bal oldali gombjával, nagyító állapotba kerül a térképi terület. Ekkor ablakot jelölhetünk ki, vagy klikkeléssel el˝ore beállított mérték˝u nagyítást állíthatunk el˝o a térképen (1.20. ábra).
1.20. ábra. A felnagyított térképrészlet
A
gombra klikkelve a térképi területet kicsinyítés üzemmódba állítjuk. Ek-
1.4. A WEBES LEKÉRDEZO˝ ALKALMAZÁS
25
kor ráklikkelve az egér bal gombjával a térkép valamely helyére, a térkép kisebb lesz, vagyis nagyobb területet fogunk látni. Ha ismét nagyítás üzemmódba akarunk kerülni, akkor a jelre kell klikkelni. A jel˝u ikora klikkelve a térképi terület vonszolás üzemmódba kerül. Ekkor, ha a térkép bármely pontján lenyomjuk az egér bal gombját, és lenyomva tarva mozgatjuk, akkor a térkép elmozdul a megfelel˝o irányba. Végül pedig a ikonra kattinva a teljes térképet láthatjuk. Ezután automatikusan nagyító állapotba kerül a térképi terület.
1.4.4. Vektor térképek Mint már el˝oz˝oleg említettük, a vektor térképek sokkal összetettebb objektumok, ezért ezek pillanatnyilag a fájlrendszerben érhet˝ok el, amelynek belépési pontja az O:/asp.net_app/editke3/edit3/vectormaps/ node. A vektor térképek menüpontra klikkelve az ablak bal oldalán megjelenik egy a gyökér struktúra megjelenítésére szolgáló hierarechikus menürendszer. A menü szövegek el˝ott lév˝o kis fekete nyilakra kattintva lejjeb tudunk lépni a hierarchiában, megnyílik a könyvtár tartalma. Amikor már nem alkönyvtárhoz, hanem fájlhoz érünk, akkor arra rákattintva, megjelenik a térképablakban a kiválasztott térkép (1.21. ábra), ha az ikonra kattintunk. Ezután tetsz˝olegesen zoomolható a térkép.
1.21. ábra. Egy kiválasztott réteg a vektor térképek közül