Modular Open Source GIS with web access

Milan Bořík, Vojtěch Honzík
Katedra matematiky, Katedra mapování a kartografie
České vysoké učení technické v Praze, Fakulta stavební
Thákurova 7
166 26 Praha 6
E - mail: borikm@mat.fsv.cvut.cz, v.honzik@sh.cvut.cz

Abstract

At the department of mathematics started the grant, solving the world wide web visualisation and analysing the large mining activities, the open-cast mining activities in the North Bohemia Brown Coal Basin and the reclamations development. Due to financial expenses of the commerce products and the long-term development prognose of open source comunity software there was made a decision to develop strictly open source system for such a purposes.

Currently there is not any complex open source tool utilizing functions of advanced spatial analysis as well as the satisfactory cartographic and geostatistic tools. There is necessary to develop (or at least to compound the existing ones) complex software providing apart from precendent things like 3D visualisation.

This conference paper brings the general draft of compounded system, utilising GIS GRASS, MapServer, bash, batchgrass, Gnuplot, R and ImageMagick as the main components. The system is expected to run on the Unix like operating system.

Using both of the key components of projected system (GRASS and MapServer) there was discovered that while GRASS had wide range of the analytic modules, it lacked many of the tools for presenting the analysis results. In MapServer case there is the inverse situation: using this program one can display high-quality thematic maps, on the other way it lacks the analytic functions of any kind. Not a single one of these programs does have sufficient tools for satisfactory statistic outputs. Although there are several software solutions providing co-operation of both programs, their application brings certain limitation of the potential of the particular components comparing with their stand-alone use.

Presented solution is based on separate use of those programs using a set of shell scripts. Only the raster outputs from particular system components are patched together layer by layer to one raster in corresponding order using graphic utility still on server side. Using such a sequence there is no limitation in use of any of used components. Using several fully independent components brings large modularity of whole system. This modularity is common in the world of the Unix like operating systems and brings apart from minor disadvantages (largely non-trivial installation and configuration) the indisputable advantage - the flexibility of whole system which would be impossible in the case of monolithic system.

Abstrakt

Na katedře matematiky bylo zahájeno řešení grantu, jehož úkolem je vizualizace povrchové těžby a postupu rekultivačních prací pomocí služby world wide web. Vzhledem k finančním nákladům, které by obnášelo pořízení komerčních produktů, a předpokladu dlouhodobého vývoje open source software bylo přijato řešení, vyvinout systém používající pro tyto účely striktně svobodný software.

V současné době neexistuje žádný komplexní nástroj z oblasti svobodného software, který by sdružoval stejně tak funkce pokročilých prostorových analýz jako uspokojující kartografické a geostatistické nástroje. Vyvstává tedy potřeba vývoje (nebo alespoň skloubení stávajících) komplexního software, který bude spolu s předcházejícím umožňovat i věci jako 3D vizualizaci.

Tento příspěvek přináší základní návrh takového složeného systému, sdružujícím GIS GRASS, MapServer, bash, batchgrass, Gnuplot, R a ImageMagick jako hlavní komponenty.U tohoto systému se předpokládá běh na operačním systému unixového typu.

Během používání obou klíčových komponent (GRASSu a MapServeru) bylo zjištěno, že zatímco GRASS nabízí širokou škálu analytických modulů, postrádá mnoho nástrojů pro prezentování výsledků analýz. V případě MapServeru nastává inverzní situace: použitím programu lze zobrazovat tematické mapy o vysoké kvalitě, na druhou stranu postrádá analytické funkce jakéhokoliv druhu. Ani jeden z těchto programů nemá dostatečné nástroje pro uspokojivé statistické výstupy. Přestože zde již existují některá softwarová řešení, umožňující spolupráci obou programů, jejich aplikace přináší jistá omezení ve využití potenciálu jednotlivých komponent v porovnání s jejich samostatným použitím.

Představované řešení je postaveno na odděleném použití těchto programů za použití sady skriptů v shellu. Teprve rastrové výstupy z jednotlivých systémů jsou skládány dohromady vrstva po vrstvě v odpovídajícím pořadí za použití grafického nástroje ještě na straně serveru. Při použití takového postupu nenastane omezení v použití všech komponent. Použití několika plně nezávislých komponent navíc přináší velkou modularitu celého systému. Tato modularita je běžná ve světě operačních systémů unixového typu kromě menších nevýhod (víceméně netriviální instalace a konfigurace) neoddiskutovatelné výhody - flexibilitu celého systému, která by byla v případě monolitického systému nemožná.

Úvod

V současné době lze nalézt kromě mnoha komerčních řešení pro prezentaci prostorových dat na Internetu, které nabízí několik stovek firem z oboru informatiky, i několik projektů z oblasti svobodného software, které dokáží poměrně schopně těmto řešením konkurovat. Pro řešení výzkumného úkolu "Nástroj pro zobrazování prostorových dat v prostředí internetu/ intranetu" (GAČR) bylo rozhodnuto o prozkoumání možností, které se v současné době nabízejí k použití. Na jejich základě jsme od září 2003 začali vyvíjet systém, který všechny vhodné komponenty využije pro prezentaci a vizualizaci prostorových dat pomocí služby World Wide Web. V polovině listopadu 2003 jsme ve fázi instalace linuxového serveru a dalších nutných příprav.

Ukázalo se, že přestože existuje v této oblasti poměrně silné nástroje například pro rastrové analýzy (GRASS), geostatistiku (R) nebo vizualizaci (NVIZ, Vis5d), relační databázové systémy (PostgreSQL) včetně rozšíření pro práci s prostorově orientovanými daty (PostGIS), je vždy na vývojáři případného systému, aby vytvořil určité sjednocující programové prostředky, které umožní vzájemnou spolupráci jednotlivých programů do jednoho funkčního celku.

Cílem celého snažení bude modulární systém pro prezentaci geodat, který bude předávat data bitmapovým přesunem a pro zobrazování u klienta bude používat technologii lehkého, případně středního klienta. Takovýto systém je uváděn do provozu se zřetelem na jedno konkrétní využití - prezentace postupu rekultivačních prací v severočeské hnědouhelné pánvi, což je náplní vědecké práce grantu, řešeného na katedře mapování Stavební fakulty ČVUT v Praze, na jehož výsledky náš grant plynule navazuje.

Celá vyvíjená aplikace se dá rozdělit na dvě části - řešení pro prohlížení dvourozměrných dat z dané oblasti - tvorba tematických map, překryvy, geostatistické funkce, atributové dotazování. U této subčásti je klíčovou komponentou MapServer s zakompilovanou podporou několika dalších knihoven a nastavený pro používání dat z relační databáze.

Druhou hlavní částí je prohlížení trojrozměrných dat, což s sebou nese kromě samotného úkolu vývoje aplikace ještě další důležitý úkol, kterým je minimalizace systémových prostředků, které systém bude potřebovat. Všichni víme, že trojrozměrné vizualizace patří v oblasti geografických systémů k nejnáročnějším úlohám na hardware, na kterém daná úloha běží.

Stručné seznámení s použitými komponentami

Jádrem řešení pro prezentaci dvourozměrných dat byl zvolen program MapServer, vyvíjený na University of Minnesota. Tento program je v GIS komunitě velmi známý, má za sebou poměrně dlouhý vývoj a nabízí skutečně široké možnosti využití, zvláště ve spojení s dalšími podpůrnými knihovnami (například práce s mnoha rastrovými i vektorovými formáty, možnost uložení prostorových dat v relační databázi, podpora velké většiny používaných kartografických zobrazení - včetně S-JTSK). Jako podklad pro tematické mapy bude sloužit rastrový výstup z programu GIS GRASS, který pro naše účely může vyhovět například schopností zvýraznit a upravit data pořízená pomocí metod dálkového průzkumu Země). Konečně další program (resp. programy) bude sloužit pro doplnění mapy o nemapové prvky - tedy například o potřebné typy grafů. Nemáme stále dořešenu otázku, který produkt zvolit. Zvažujeme použití programů Scilab, gnuplot a R (v uvedeném pořadí).

U druhé části vyvíjeného řešení bude potřeba začlenit do systému nějaký stávající produkt pro vizualizaci trojrozměrných geografických dat. Nejvhodnějšími nástroji pro takovéto modelování se zdají být programy NVIZ a Vis5D+. Z pohledu uživatele je otázkou, jak co nejvhodněji skloubit požadavky na vytváření uspokojivých generovaných pohledů na zájmové území s požadavkem na co možná nejmenší počet změn pohledů pro dosažení kýženého výsledku. Ne každý potenciální uživatel má dostatečné zkušenosti, aby odhadl optimální hodnoty parametrů pohledu na zájmové území. Proto bude potřeba vytvořit určitou metodiku a té odpovídající průvodce pro nastavení takového pohledu.

Použitá data

Pro naplnění projektu daty budou použity výsledky grantu "Vyhodnocení vývoje rekultivovaných ploch v SHP pomocí dálkového průzkumu Země", jehož garantem je Lena Halounová, a na který náš grant svým záměrem plynule navazuje. Tato vektorová data budou doplněna dalšími dostupnými daty, zvláště satelitními (Landsat TM) a leteckými snímky daného území.

Řešené problémy

Kromě samotného rozběhnutí testovací verze systému bude potřeba uspokojivě vyřešit několik závažných problémů. Jedním z nich je například vyřešení práce více uživatelů zároveň - tedy důsledná paralelizace všech programových částí, což například u GRASSu činí nemalé (přestože jistě řešitelné) obtíže. Dalším problémem je výpočetní náročnost celého generování všech vrstev. Bude nutné vytvořit celou řadu postupů, kterými se zmenší nutný výpočetní výkon na straně serveru a objem přenášených dat, který jak je známo může být při použití systému s bitmapovým přesunem značný. Jedním z "triků", který bude nutné použít, je automatizované vytváření datových sad s podrobností přímo závislou na aktuálním měřítku (tedy postupy zahrnující převzorkování v případě rastrů a zřeďování bodů u vektorových dat).

Je rovněž nutné najít optimální mez, ke které se ještě lze přiblížit v procesu zjednodušování dat ztrátovou kompresí při bitmapovém přesunu, aby neutrpěla vypovídací schopnost přenášených dat a zároveň byl zminimalizován tok dat mezi serverem a klientem, který má přímý vliv na subjektivní dojmy z práce s aplikací.

MapServer i další programy poskytují pouze rámcová řešení, takže dodatečné úpravy pro přizpůsobení vzhledu a funkčnosti musí být poměrně rozsáhlé.

Závěr

Doufáme, že použité řešení bude využíváno nejen v rámci našeho grantu, ale že docílíme i přesahu do dalších projektů, řešených na katedře mapování a kartografie. Řešení celého grantu je naplánováno na dobu tří let. Očekáváme, že první použitelné výstupy by měly být k dispozici na internetu zhruba v zimě 2004.

Tento příspěvek byl řešen v rámci projektu u Grantové agentury České republiky registrovaném pod číslem 205/03/D155 s názvem Nástroj pro zobrazování prostorových dat v prostředí internetu/intranetu, a dále byl podpořen výzkumným záměrem MSM 210000007 Komplexní inovace technologií v geodézii a kartografii.

Literatura

  1. Neteler M., Mitášová H., Open source GIS: a Grass GIS approach, Kluwer 2002, ISBN 1-4020-7088-8
  2. Neteler M., GRASS-Handbuch - Der praktische Leitfaden zum Geographischen Informationssystem GRASS, 2003 (http://grass.ru.ac.za/gdp/handbuch/index.html)