Použití MapObjects pro rozšíření informačních systémů o možnosti GIS

Ing. Vladimír Hudec
ARCDATA PRAHA, s.r.o.
Dittrichova 21
120 00 Praha 2
tel.: +420 2 24911308
E-mail:
vhudec@arcdata.cz

S tím, jak se rychle rozvíjí využití informačních technologií a počítačů vůbec, mění se i prostředky komunikace s nimi. Příkazová řádka je stále více vytlačována grafickým interaktivním uživatelským rozhraním. Podobná situace je i v oblasti informačních a databázových systémů, které obsahují geografická data. Geografickými daty jsou myšlena nejen data mapových vrstev, ale i informace o poloze objektů nebo událostí sledovaných těmito systémy. Knihovna GIS funkcí MapObjects umožňuje rozšířit již existující rozhraní a funkce informačních systémů o možnosti GIS. Dokáže nejen zobrazovat vektorová a rastrová data nejrůznějších formátů a souřadných systémů společně v jednom mapovém okně, ale provádí také prostorové a atributové dotazy, vyhledává podle adres, podporuje sledování pohybujících se objektů (GPS) a dynamickou segmentaci (staničení). Pomocí knihovny MapObjects je možné v libovolném vývojářském prostředí podporujícím COM technologii vytvořit jak samostatnou GIS aplikaci, tak rozšířit informační systém již existující. O třech příkladech použití MapObjects pro rozšíření informačních systémů o možnosti GIS pojednává tento referát.

Prvním příkladem využití knihovny MapObjects je rozšíření klienta podnikového informačního systému Noris akciové společnosti Pražské služby o formulář obsahující sadu komponent GIS Popel umožňující přidávání a aktualizaci stanovišť sběrných nádob a adresních bodů. Sada GIS Popel obsahuje mapové okno, přehledku a měřítko. Jedná se o tři vzájemně propojené COM komponenty, které spolu interaktivně spolupracují. Prakticky tato spolupráce znamená, nejen že je v přehledce vyznačena aktuální poloha a rozsah oblasti zobrazené v mapovém okně, ale lze v ní také vybrat požadovanou oblast, která se vám okamžitě zobrazí v mapovém okně. Tento princip urychluje manuální vyhledání určité oblasti v mapě. Komponenta měřítko zobrazuje jak číselně, tak graficky aktuální měřítko zobrazení v mapovém okně. Mapové okno obsahuje vrstvy mapové a aktivní. Mapové vrstvy Prahy (bloková mapa, uliční síť, případně ortofoto) jsou uloženy buď na disku serveru, je-li klient připojen přes lokální síť, anebo na lokálním disku klientského počítače, v případě připojení přes pomalou síť, např. přes modem. Aktivní vrstvy, v našem případě bodové, jsou uloženy v MS SQL serveru, dají se editovat, přičemž provedené změny jsou okamžitě viditelné i ostatním klientům systému Noris. Veškerá komunikace mapového okna s MS SQL serverem probíhá prostřednictvím systému Noris. Mapové okno je možno ovládat z plovoucího menu vyvolaného pravým tlačítkem myši. Z důvodu zabezpečení jednotného grafického rozhraní celého systému, je možné vyvolání plovoucího menu zakázat a ovládat komponentu pouze prostředky systému Noris. Zprostředkovaná komunikace sestává z volání metod, nastavování vlastností a reakcí na události generované komponentou. Komponenta mapového okna se může nacházet v sedmi základních stavech. Stavy jsou charakterizovány vzhledem kurzoru a reakcí vyvolanou akcí myši (změny měřítka, výběry, posuny a přidávání prvků aktivních vrstev).

Druhá část pojednává o využití “odlehčené” verze MapObjects LT k rozšíření uživatelského rozhraní databáze MS Access o formulář obsahující interaktivní mapové okno. Toto mapové okno slouží nejen ke zobrazení a identifikaci mapových podkladů, ale i ke vkládání a editaci údajů v databázi. V našem případě se jedná o údaje o poloze výskytu určitého živočišného druhu v chráněné krajinné oblasti. Opačně je zas možné vybrat v databázi výskytů libovolný záznam a nechat si v mapě zobrazit bod určující polohu i zvýrazněnou oblast znázorňující přesnost výskytu. Vlastnosti (vzhled, viditelnost apod.) jednotlivých vrstev mapové kompozice zobrazené v mapovém okně se nastavují pomocí jednoduché, volně šiřitelné prohlížečky geografických dat ArcExplorer. Celá mapová kompozice se uloží do projektu, který je při otevírání mapového formuláře načten a zobrazen v mapovém okně.

Poslední část pojednává o zpřístupnění dat městského informačního systému města Ostravy na Intra/Internetu prostřednictvím mapového serveru vytvořeného za pomocí produktů MapObjects a MapObjects Internet Map Server. Mapový server je již komplexnější aplikace sestávající ze tří samostatných částí: vlastního mapového serveru, klienta a aplikace pro jeho správu. Mapový server je naprogramován ve vývojářském prostředí Visual Basic s použitím knihovny MapObjects. Je spouštěn jako NT služba, což je výhodné nejen z hlediska bezpečnosti, spuštění serveru nevyžaduje přihlášení uživatele do systému, ale i pro dosažení maximálního výkonu. Pro zvýšení kapacity a zrychlení odezvy mapového serveru byla oddělena část obsluhující atributové dotazy od vlastního zobrazování mapových dat. Podobně atributová data jsou uložena ve výkonné databázi odděleně od dat grafických.

Filosofie návrhu tohoto systému byla vytvořit obecný mapový server, jehož vzhled a chování jsou určeny řídící MS Access databází. Obsah řídící databáze je plněn a spravován aplikací Správce IMS. Pomocí této aplikace lze definovat potřebné skupiny uživatelů, témata, tématické okruhy, tabulky, formuláře a funkce. Skupiny uživatelů rozdělují uživatele pomocí jména a hesla na skupiny těch, kteří mají stejná práva přístupu k datům a funkcím mapového serveru. Pro každou takovou skupinu se na Web serveru generuje samostatná adresářová struktura s potřebnými HTML soubory a spouští se alespoň jedna instance mapového serveru. Tématům, podobně jako v ArcView je možno nastavit vzhled, rozsah viditelnosti v závislosti na měřítku a mnoho dalších vlastností. Pro zpřehlednění se témata logicky člení do tématických okruhů. Tabulky popisných dat, případně definované pohledy na ně, jsou k mapovému serveru připojeny přes ODBC Direct. Formuláře jsou struktury pro formátování výstupů do okna prohlížeče. Pokud není pro nějaký výstup formulář definován je výstupem standardní HTML tabulka. Funkce jsou akce mapového serveru přístupné přes příslušné tlačítko v liště nástrojů. Každé skupině uživatelů je přiřazena sada funkcí ze zásobníku všech nadefinovaných funkcí. Soubor předdefinovaných funkcí a formulářů dodávaný s instalací mapového serveru lze pomocí Správce IMS jednoduše rozšířit o definice vašich vlastních.

Uživatelské rozhraní klienta je naprogramováno v JavaScriptu. Uživatel může vedle běžných mapových operací (změny měřítka, posuny) také přidávat do zobrazení témata z nabídky tématických okruhů, případně měnit pořadí jejich vykreslování. Dále může v mapě identifikovat objekty aktivního tématu, vyhledávat podle atributů a tisknout mapové kompozice. Uživatelské rozhraní je rozšířitelné o tlačítka vlastních funkcí (např. vyhledání adres).

Závěrem chci dodat už jen to, že knihovna MapObjects není určitě jediným prostředkem pro rozšiřování informačních systémů o možnosti GIS, ale pro jednoduchost použití, šíři podporovaných formátů a možnosti jejího využití v rozličných vývojářských prostředích patří určitě k těm dobrým volbám.