Aplikace pro práci s OpenStreetMap pro Android. Tomáš Mudruňka

Rozměr: px
Začít zobrazení ze stránky:

Download "Aplikace pro práci s OpenStreetMap pro Android. Tomáš Mudruňka"

Transkript

1

2 České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Aplikace pro práci s OpenStreetMap pro Android Tomáš Mudruňka Vedoucí práce: Ing. Tomáš Novotný Studijní program: Otevřená informatika, Bakalářský Obor: Softwarové systémy 21. května 2012

3 iv Poděkování Tímto bych rád poděkoval panu Ing. Tomáši Novotnému za cenné rady, připomínky a odborné vedení této bakalářské práce. Dále bych chtěl poděkovat celé své rodině za jejich podporu při studiu.

4

5 Abstract This bachelor thesis deals with designing and implementation of an application used for browsing a map data for the mobile operating system Android. It uses the accelerated graphic environment OpenGL ES for map rendering. The main purpose of this application is to display maps offline although it can use a map data from available web services. While online the application also supports a point of interest searching. Another feature of this application is creating of map files in the SQLite format from a geographical data of the OpenStreetMap project. This feature is handled by the server part of this application and provides an ability to generate a map data in a various visual styles. Abstrakt Tato bakalářské práce se zabývá návrhem a implementací aplikace pro mobilní operační systém Android určené k prohlížení mapových podkladů, která pro vykreslování používá akcelerované grafické prostředí OpenGL ES. Aplikace je určená hlavně k zobrazování map offline, ale umožňuje použití i mapových podkladů z webových služeb. V online režimu aplikace také podporuje hledání bodů zájmu. Další funkcionalitou je vytváření mapových souborů v SQLite formátu z geografických dat projektu OpenStreetMap. Tato funkcionalita je pak zprostředkována serverovou částí aplikace a umožňuje generovat mapové podklady v několika různých vizuálních stylech. vi

6 Obsah 1 Úvod OpenStreetMap Formát dat Android Historie Architektura Vývoj pro Android Popis problému, specifikace cíle Popis problému Specifikace cíle Kontext použití a cílová skupina uživatelů Popis existujících aplikací Google Maps Mapy.cz RMaps MapDroyd Použité technologie OpenGL PostgreSQL a PostGIS SQLite Mapnik Carto osm2pgsql Node.js Analýza a návrh řešení Formát mapových podkladů Výběr úrovně Android API Výběr prostředí pro běh serveru Návrh řešení Klientská aplikace Serverová aplikace Analýza funkčních a nefunkčních požadavků Použité vývojové prostředí vii

7 OBSAH viii 4 Realizace Schéma mapové databáze Implementace klientské aplikace Rozdělení aplikace do Aktivit Aplikační databáze Vykreslování pomocí OpenGL Využívání mapových zdrojů Proces vykreslování mapy Hledání bodů zájmu Žádosti o vytvoření mapy Konfigurace online služeb Popis Java balíčků Implementace serverové aplikace Databáze Žádosti o vytvoření mapy Styly vzhledu renderovaných map Aktuální nedostatky Testování Testovací prostředí Testování funkcionality Uživatelské testování Průběh testů Výsledky testů Výsledky externího testování Závěr Další možný vývoj Literatura 39 A Seznam použitých zkratek 41 B Instalační příručka 43 B.1 Instalace klientské aplikace B.2 Instalace serverové aplikace C Obsah přiloženého CD 45

8 Seznam obrázků 1.1 Android architektura Životní cyklus Android Aktivity Rubberband mód Vykreslovací řetězec OpenGL Rozdělení Android verzí Verze Android platformy Diagram komponentů klientské aplikace Diagram komponentů serverové aplikace Schéma mapové databáze v SQLite formátu Závislosti jednotlivých Aktivit klientské aplikace Schéma databáze, kterou používá klientská aplikace Mřížka pro vykreslování mapových dlaždic Diagram znázorňující proces vykreslování mapy Schéma pomocné databáze serverové aplikace Snímek obrazovky pro editaci stylů programu TileMill ix

9 Kapitola 1 Úvod Tato bakalářská práce se zabývá návrhem a implementací aplikace pro mobilní operační systém Android určené k zobrazování rastrových map a to především za využití dat z projektu OpenStreetMap. Součástí implementované aplikace je i její serverová část, která slouží k vlastnímu renderování rastrových map a poskytování dalších informací z projektu OpenStreetMap. V této kapitole je dále představen zmíněný projekt OpenStreetMap a také platforma pro mobilní zařízení Android. 1.1 OpenStreetMap OpenStreetMap (OSM) je komunitní projekt s cílem vytvořit editovatelnou mapu celého světa dostupnou zdarma. Mapy jsou tvořeny z dat získaných pomocí přenosných satelitních navigačních zařízení, leteckých snímků, jiných zdarma dostupných zdrojů nebo z místních znalostí. Renderované obrázky i samotná vektorová data jsou pak dostupná pod Creative Commons Attribution-ShareAlike licencí. Přístup OSM projektu k sbírání geografických dat byl inspirován projekty jako je Wikipedia, umožňuje jednoduchou editaci dat, uchovává kompletní historii provedených změn a výsledky práce jsou dostupné veřejnosti zdarma. Projekt OSM založil Steve Coast v červenci roku Následně v dubnu roku 2006 byla založena nadace OpenStreetMap Foundation (OSMF) za účelem podpořit růst, vývoj a rozšiřování geografických dat zdarma pro kohokoli k používání a sdílení. Zpočátku byla geografická data sbírána dobrovolníky při systematických průzkumech pomocí ručních GPS zařízení, poznámkových bloků a digitálních fotoaparátů. Nasbíraná data pak byla vložena přímo do OSM databáze. Později se data získávala z leteckých snímků, komerčních i vládních zdrojů, což umožnilo rychlejší a detailnější pokrytí. [19] Formát dat Pro ukládání dat OSM používá následující topologickou datovou strukturu. 1 Creative Commons Attribution-ShareAlike 2.0 licence umožňuje bezplatné soukromé i komerční použití a úpravy díla za podmínky použití stejné nebo podobné licence na výsledný produkt. 1

10 KAPITOLA 1. ÚVOD 2 Nodes jsou body reprezentující geografickou polohou uložené jako souřadnice nadmořské výšky a šířky. Ways jsou posloupnosti uzlů reprezentující polylinii či polygon. Relations jsou skupiny uzlů, cest nebo dalších relací, kterým je přiřazena určitá vlastnost. Tags jsou atributy, které mohou být přiřazeny uzlům, cestám nebo relacím ve formě <klíč>=<hodnota>. 1.2 Android Android je platforma pro mobilní zařízení zahrnující operační systém, middleware a další klíčové aplikace. Již od svého počátku Android získal velkou popularitu a v roce 2011 měl téměř 50% na trhu s chytrými telefony [7]. Dle studie z roku 2011 Android používalo 67% vývojářů mobilních aplikací [6]. Koncem roku 2011 dosáhl tehdejší Android Market 2 10 miliard stažených aplikací [4] Historie Za vznikem této platformy stojí společnost Android Inc., která byla založena v roce 2003 ve Spojených státech s cílem vyvíjet chytrá mobilní zařízení. V roce 2005 tuto společnost koupila společnost Google Inc., tento krok vyvolal spekulace o tom, že Google chce proniknout na trh s mobilními telefony. V roce 2007 pak za iniciativy Google vzniklo konsorcium Open Handset Alliance (OHA) složené z řady společností zabývajících se výrobou mobilních zařízení, mezi ně patří HTC, Intel, Motorola, Nvidia, Qualcomm a další. Cílem tohoto uskupení byl vývoj otevřených standardů pro mobilní zařízení. Dnem vzniku OHA také vydala svůj první produkt - Android, platformu pro mobilní zařízení postavenou na Linuxovém jádře verze 2.6. Krátce poté bylo představeno první vývojové prostředí Android SDK. První mobilní telefon využívající Android 1.0 byl HTC Dream (známý také jako T-Mobile G1 ), který byl vydán 22. října [16] Architektura Operační systém Android se skládá z jádra postaveného na Linux jádře s middleware, knihovnami a API napsanými v jazyce C. Dále obsahuje aplikační vrstvu běžící na aplikačním rámci, který je složen z Java knihoven z projektu Apache Harmony 3. Android používá vlastní virtuální stroj Dalvik VM s just-in-time kompilací, který je obdobou virtuálního stroje jazyka Java. Detailnější schéma Android architektury je znázorněno na obrázku 1.1 na straně 3. Virtuální stroj Dalvik má architekturu odlišnou od běžné Java VM, využívá vlastní bytekód a má odlišné spustitelné soubory (Dalvik executable s příponou.dex). Ačkoliv 2 Android Market byla běžně dostupná aplikace ve všech systémech Android sloužící k hledání, stahování a nakupování aplikací. V roce 2012 byla nahrazen službou Google Play. 3 Apache Harmony je open source implementace Javy vyvíjená Apache Software Foundation.

11 KAPITOLA 1. ÚVOD 3 je Dalvik postaven na Javě, nedodržuje standardy Java Standard Edition ani Java Micro Edition, není tak s Javou 100% kompatibilní. Pomocí nástroje zvaného dx je možné převést některé Java.class soubory do formátu podporovaného virtuálním strojem Dalvik. Dalvik je optimalizován pro chod na mobilních zařízeních a to především co se týče paměťové náročnosti. Dle Google byl Dalvik navržen tak, aby umožňoval efektivní běh více virtuálních strojů na jednom zařízení najednou. [15] Obrázek 1.1: Hlavní komponenty operačního systému Android. [10] Vývoj pro Android Ačkoliv je možné psát aplikace pro Android přímo v nativním kódu, což umožňuje Android Native Development Kit (NDK), nejčastěji se využívá programovacího jazyku Java a Android Software Development Kit (SDK). Důvodem je hlavně rozsáhlá podpora vývojářských nástrojů jako jsou debugger, knihovny, emulátory mobilních zařízení, dokumentace, ukázkové kódy a návody. Android SDK je dostupné pro systémy Linux, Windows i Mac OS a podporuje také rozšíření do vývojových prostředí, například Android Development Tools (ADT) pro vývojové prostředí Eclipse. Každá aplikace v systému android má přiřazen vlastní proces, vlastní virtuální stroj a existuje ve svém prostoru v paměti. Systém Android se chová jako multiuživatelský operační systém Linux, kde každá aplikace představuje jednoho uživatele. Tímto jsou aplikace od sebe bezpečně odděleny. Tomuto způsobu se někdy říká tzv. Sand-box (česky pískoviště). Android aplikace jsou distribuovány jako archiv (Application Package s příponou.apk) obsahující spustitelné soubory pro virtuální stroj Dalvik, různé zdroje v XML formátu, obrázky a další zdrojové soubory. Specifika vývoje aplikací pro Android:

12 KAPITOLA 1. ÚVOD 4 Aplikace nemají jeden vstupní bod jako je main() metoda, ale jsou rozděleny do Aktivit (Activity), které jsou na sobě nezávislé a mohou existovat samostatně. Aktivity obvykle reprezentují jednu obrazovku dané aplikace s konkrétní funkcionalitou. Stav těchto Aktivit se řídí životním cyklem, kde dochází k přepínání mezi během na popředí, na pozadí či inicializace a ukončování Aktivity. Stavový diagram životního cyklu Aktivity je na obrázku 1.2 na straně 5. Tento princip je klíčová vlastnost Android aplikací a poskytuje řadu výhod. Například umožňuje členit aplikace do nezávislých částí a pohodlně využívat již existující řešení jako je Internetový prohlížeč, mapy, ový klient a podobně. Android aplikace mohou také obsahovat Služby (Service), které jsou podobné zmíněným Aktivitám jen s tím rozdílem, že slouží k provádění dlouho trvajících operací na pozadí systému. Dalšími prvky aplikace mohou být Content providers a Broadcast receivers, které slouží k poskytování různých dat nebo přijímání zpráv od systému či jiných aplikací. Dalším specifikem Android aplikací je Android Manifest, což je XML soubor obsahující klíčové informace o aplikaci. Každá Android aplikace musí mít soubor Android- Manifest.xml ve svém kořenovém adresáři. Manifest soubor mimo jiné obsahuje jméno aplikace, její Java balíček, definuje všechny používané komponenty, minimální podporovanou verzi Android API a další. Mezi nejdůležitější obsažené informace patří seznam Oprávnění (Permissions), které definují co bude aplikaci umožněno provádět. Příkladem Oprávnění je přístup k Internetu, zápis na SD kartu, posílání SMS, zahájení hovoru, použití GPS a podobně. Při instalaci aplikace musí uživatel všechny tyto Oprávnění povolit. Zajímavým prvkem vývoje pro Android je návrh a implementace grafického uživatelského rozhraní (GUI). To lze vytvářet programově, ovšem mnohem častější a pohodlnější cestou je definice GUI pomocí XML Layout souborů. Tyto soubory pak obsahují veškeré informace o podobě uživatelského rozhraní. Pro usnadnění vývoje Android SDK poskytuje i WYSIWYG 4 editor. Výhodou tohoto přístupu je možnost mít různé rozložení uživatelského rozhraní pro různé velikosti a orientace displeje. 4 z anglického what you see is what you get

13 KAPITOLA 1. ÚVOD 5 Obrázek 1.2: Stavový diagram životního cyklu Android Aktivity. [10]

14 Kapitola 2 Popis problému, specifikace cíle Tato kapitola se zabývá obecným popisem řešeného problému, specifikací cílů této práce, požadavky na výslednou aplikaci v kontextu jejího užití, obsahuje rešeršní porovnání již existujících aplikaci pro zobrazování mapových podkladů a také popisuje technologie použité při implementaci této práce. 2.1 Popis problému V dnešní době jsou chytré telefony velmi rozšířené a jejich výkon je již dostačující ke komfortnímu prohlížení i velkých a detailních mapových dat. S rozšiřováním počtu chytrých telefonů stoupá i poptávka po aplikacích schopných zobrazovat mapové podklady, takže i nabídka takovýchto aplikací se rozšiřuje a uživatelé mají velkou možnost výběru [12]. Ovšem kvalitních aplikací dostupných zdarma, schopných prohlížet mapová data offline, je jen malé množství. Další nevýhodou některých aplikací je nemožnost změny vzhledu zobrazovaných map či použití vlastních mapových podkladů. Také vyhledávání bodů zájmu na mapě je funkcionalita, která některým aplikacím bohužel schází. 2.2 Specifikace cíle Cílem této bakalářské práce je implementovat funkční aplikaci pro zobrazování mapových podkladů určenou hlavně pro offline použití. Aplikace bude určena pro mobilní operační systém Android a jako mapové podklady bude využívat SQLite databáze uložené v zařízení (nejčastěji na SD kartě). Aplikace dále bude umožňovat prohlížení map i online z dostupných webových služeb a také bude podporovat hledání bodů zájmu. Dalším cílem práce je implementace serverové strany aplikace, která bude sloužit hlavně ke generování mapových podkladů. Serverová aplikace bude schopná vyrenderovat vybranou oblast mapy do formátu podporovaného klientskou stranou aplikace. Server bude dále umožňovat i renderování jednotlivých rastrových obrázků a vyhledávání bodů zájmu. Všechna funkcionalita serveru bude přístupná z klientské části aplikace. Motivací je umožnit uživatelům pohodlně prohlížet mapové podklady bez nutnosti stálého připojení k Internetu. Navíc by měla aplikace umožnit uživatelům výběr z více stylů vzhledu výsledné mapy či použití vlastních mapových dat. 6

15 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE Kontext použití a cílová skupina uživatelů Jak již bylo zmíněno, výsledná aplikace bude určená zejména pro offline používání a to jak v prostorech s dostupným připojením tak i bez něj. Mobilní Internet je sice čím dál více rozšířen a i přenosové rychlosti jsou již na použitelné úrovni, ovšem cena může být stále pro některé uživatele překážkou. Cena je pak obzvlášť limitující faktor při pobytu v zahraničí. Příkladem využití aplikace může být právě zahraniční turistika nebo sport, kdy si uživatel může dopředu stáhnout mapu vybraného místa pro pozdější offline prohlížení. Dalším příkladem může být využití již stažené mapy města k online vyhledávání bodů zájmu přes mobilní Internet a tím se lze vyhnout velkým datovým přenosů. Cílovou skupinou uživatelů aplikace jsou uživatelé znalí operačního systému Android, se základní zkušeností práce s mapami a obeznámenými s pojmem bod zájmu (POI). Jelikož je aplikace určena zejména pro offline použití, je určena hlavě uživatelům, kteří při používání aplikace z nějakého důvodu nemohou nebo nechtějí být online. 2.4 Popis existujících aplikací Tato sekce bude věnována některým vybraným aplikacím pro platformu Android, které slouží k zobrazování map a případně dalších dodatečných informací, jako jsou například body zájmu. Zmíněny jsou pouze aplikace, které jsou ke stažení zdarma, placených aplikací je na trhu jen minimum a v konkurenci aplikací zdarma najdou využití jen v ojedinělých případech Google Maps Aplikace Google Maps od společnosti Google Inc. patří bezesporu k těm nejpoužívanějším a nejpropracovanějším aplikacím určených k zobrazování map vůbec. Důvodem je hlavně to, že je vyvíjena společností Google, která zároveň stojí i za celou platformou Android. Výhodou oproti ostatním aplikacím je také fakt, že na většině zařízení je již obsažena v tovární verzi systému a není jí tak třeba manuálně instalovat. Google Maps nabízí mnoho funkcí jako různé druhy mapových podkladů včetně satelitních snímků, službu Street View, fulltext vyhledávání, hlasové vyhledávání, GPS a kompas, plánování tras, navigaci, hledání nejbližších bodů zájmu v okolí, zobrazování detailních informací o bodech zájmu a další. Vyhledávání na mapách je napojeno na službu Google search a výsledky jsou tak v odpovídající kvalitě. Z technického hlediska jsou Google Maps na velmi dobré úrovni. Díky akcelerovanému vykreslování pomocí OpenGL je odezva a celková rychlost aplikace nadprůměrná. Grafické uživatelské rozhraní je minimalistické a intuitivní bez závažných usability 1 problémů. Za zmínku stojí i vlastní manipulace s mapou, kde dochází k postupnému načítání mapových dat a působí tak mnohem plynuleji. Tímto způsobem je před uživatelem naprosto ukryta úroveň přiblížení, která zde vůbec nemá pevně dané hladiny. To je z uživatelského hlediska velkou výhodou. 1 použitelnost - snadné používání a naučení se

16 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE 8 Mezi nevýhody Google Maps patří hlavně nutnost stálého připojení k datovým službám pro využití veškeré funkcionality. Aplikace sice v omezené míře ukládá mapová data do vnitřní paměti a redukuje tak datové přenosy, ovšem offline lze zobrazit jen tyto data a ostatní funkce aplikace jsou nedostupné. Za další nevýhodu lze považovat to, že aplikace umožňuje zobrazovat pouze mapová data od Google, takže kvalita a přesnost může být v některých lokalitách (například v ČR) nižší než mapových podkladů z OSM nebo Seznamu. Mapové podklady od Google navíc nemusí vyhovovat preferencím uživatele. Do nejnovějších verzích byla přidána funkcionalita stažení mapy vybrané oblasti pro pozdější offline prohlížení [8]. Množství stažených dat je však limitováno Mapy.cz Mapy.cz je aplikace pod záštitou tuzemského serveru Seznam.cz využívající jeho mapové podklady a vyhledávání. Tato aplikace cílí hlavně na český trh, kde patří mezi největší konkurenty Google Maps. Mapové podklady Seznamu jsou na území ČR velmi kvalitní a detailní, mimo ČR je ale k dispozici pouze Evropa to jen v omezené míře. Mimo náš trh není tedy příliš použitelná. Mezi příjemnou funkcionalitu aplikace patří vyhledávání bodů zájmu v okolí a zobrazování přidružených informací. Dále aplikace podporuje fulltextové vyhledávání na mapě, GPS s kompasem a plánování cest. I aplikace Mapy.cz má velmi dobré technické zpracování a také využívá akcelerované vykreslování map pomocí OpenGL stejně jako Google Maps. Nicméně v rychlosti a plynulosti načítání před Google Maps trochu zaostává. Také zde nejsou hladiny přiblížení pevně dány a mapu tak lze přiblížit libovolně. Velkou výhodou aplikace je vyhledávání a zobrazování informací o nejbližších bodech zájmu, které je díky specializaci na český trh velmi kvalitní. Nevýhodou aplikace Mapy.cz je opět jako u Google Maps nutnost stálého připojení k datovým službám. Zde ale aplikaci používat offline nelze vůbec. Grafické uživatelské rozhraní je minimalistické a celkem intuitivní. Ale Mapy.cz ve verzi obsahuje nepříjemný usability problém, kde části uživatelského rozhraní mizí, když uživatel s mapou přestane manipulovat. Další nevýhodou je opět omezení na mapové podklady, tentokrát pouze od Seznamu RMaps RMaps je open source aplikace pro zobrazování map dostupná na Android Marketu. Aplikace podporuje mnoho mapových podkladů včetně OSM, Google, Microsoft a další. Zobrazovat tyto podklady lze online, ale také offline z vnitřní paměti aplikace. Aplikace automaticky ukládá mapová data při online prohlížení. Další zdroj mapových podkladů, který aplikace RMaps podporuje, jsou mapy na SD kartě v SQLite formátu 2. Mezi další funkce RMaps patří vyhledávání adres na mapě, vkládání bodů zájmu, GPS s kompasem a zaznamenávání trasy či pohybu uživatele. Největší výhodou aplikace RMaps oproti ostatním aplikacím je podpora velkého množství mapových podkladů (včetně vlastních podkladů uživatele) a možnost offline prohlížení. Záznam tras patří také mezi zajímavou funkcionalitu. V ostatních oblastech aplikace nijak nevyniká. 2 Na stránkách vývojáře aplikace RMaps je umístěn návod jakým způsobem stáhnout mapové podklady a převést je do SQLite formátu. Odkaz: <

17 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE 9 Za nedostatky lze považovat málo kontrastní průhledná tlačítka k ovládání mapy a ne tak dobrou manipulaci se samotnou mapou. Úrovně přiblížení mapy jsou zde evidentní a lze jen přepínat mezi pevně danými hladinami. Také způsob práce s body zájmu není příliš uživatelky přívětivý, tato funkcionalita aplikace není ještě zcela dotažena MapDroyd Aplikace MapDroyd, dostupná zdarma na Google Play, umožňuje zobrazovat mapové podklady z projektu OSM. Aplikace se zaměřuje hlavně na offline prohlížení map, kde je možné si dopředu stáhnout mapové podklady vybrané oblasti. Netradičním prvkem této aplikace je vykreslování samotné mapy, to totiž probíhá vektorově místo toho, aby se používali předrenderované obrázky. Další funkce aplikace jsou otáčení mapy, kompas a zobrazení polohy uživatele. Hlavní výhodou aplikace je možnost zmíněného offline prohlížení, navíc díky vektorovému vykreslování je omezen i datový přenos a množství stažených dat. Výhodou je i to, že díky vektorovým datům tu prakticky neexistují úrovně přiblížení, jen se liší množství zobrazených informací. Toto vykreslování není ale tak přesné a nezobrazuje všechna dostupná data, která OSM poskytuje. Nevýhodou aplikace je to, že nepodporuje žádné funkce hledání na mapě a také málo kontrastní průhledná tlačítka k ovládání mapy. Mezi zajímavou funkcionalitu aplikace patří i takzvaný Rubberband mód ovládání, který je možné použít místo klasického ovládání. Obrázek 2.1: Ukázka Rubberband módu aplikace MapDroyd. Gesto pro přiblížení vlevo a gesto pro oddálení vpravo.

18 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE 10 Rubberband mód Tento mód aplikace spočívá v alternativní manipulaci s mapou. Místo klasického posunu mapy způsobem drag-and-drop a multi-touch gesta pro přiblížení a oddálení jsou zde použita jen tři speciální gesta. První gesto realizované pohybem prstu směrem doprava dolů slouží k přiblížení mapy do výseku znázorňovaného červeným obdélníkem. Druhé gesto realizované pohybem prstu směrem doleva nahoru slouží k oddálení mapy tak, že současné viditelná oblast bude zmenšena do výseku znázorňovaného modrým obdélníkem. Třetí gesto realizované samotným kliknutím na mapu slouží k posunu středu obrazovky na vybrané místo. Snímky obrazovky aplikace MapDroyd v Rubberband módu jsou na obrázku 2.1 na straně 9. Oproti klasickému módu lze Rubberband mód pohodlně používat jen jednou rukou, není ovšem tak intuitivní a uživatel si na tento způsob manipulace s mapou musí zvyknout. Přibližování a oddalování mapy je v tomto módu velmi efektivní a rychlé, ale posun a jemnější změny přiblížení jsou zase pomalé. 2.5 Použité technologie Tato sekce popisuje technologie a projekty třetích stran, které jsou použity v rámci implementace výsledné aplikace OpenGL OpenGL (Open Graphics Library) je multi-platformní a multi-jazyčný standard definující specifikace aplikačního rozhraní pro psaní aplikací vytvářejících 2D a 3D počítačovou grafiku. Toto rozhraní obsahuje více jak 250 různých funkcí, díky kterým lze vytvářet komplexní tří-dimenzionální objekty z jednoduchých datových primitiv. OpenGL bylo vyvinuto společností Silicon Graphics Inc. v roce 1992 a v současné době je spravováno neziskovým technologickým konsorciem Khronos Group. OpenGL je velmi rozšířené grafické rozhraní a nachází bezpočet uplatnění. [18] OpenGL slouží hlavně ke dvěma účelům. Za prvé zakrýt složitosti různých grafických akcelerátorů za jednotné rozhraní. Za druhé skrýt rozdílné schopnosti hardwarových platforem tím, že všechny jeho implementace musí pokrýt veškeré OpenGL funkce (v případě nutnosti i za využití softwarové emulace). Aplikační rozhraní OpenGL je nízkoúrovňové a procedurální, takže vyžaduje aby programátor přesně definoval kroky nezbytné k vykreslení scény. Z tohoto důvodu je k použití OpenGL API nutná dobrá znalost grafického vykreslovacího řetězce, který je znázorněn na obrázku 2.2 na straně 11. OpenGL ES OpenGL ES (OpenGL for Embedded Systems) je podmnožina běžného OpenGL určená hlavně pro vestavěné systémy, jako jsou mobilní telefony a herní konzole. OpenGL ES je kvůli provozu na mobilních zařízeních optimalizované hlavně na nízkou spotřebu a malou paměťovou náročnost. Android OpenGL Platforma Android již od verze 1.0 podporuje akcelerované vykreslování grafiky pomocí OpenGL, konkrétně ve specifikaci OpenGL ES 1.0 a 1.1. Ve verzi Android 2.2 byla navíc přidána podpora i pro specifikaci OpenGL ES 2.0. Nutno ovšem

19 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE 11 poznamenat, že API poskytované platformou Android je podobné specifikaci OpenGL ES, ale nikoliv zcela identické. Obrázek 2.2: Grafický vykreslovací řetězec OpenGL. [21] PostgreSQL a PostGIS PostgreSQL je open source objektově-relační databázový systém, který je postaven na projektu POSTGRES z Berkeley Computer Science Department na University of California a v současnosti je vyvíjen skupinou PostgreSQL Global Development Group. PostgreSQL je velmi spolehlivý a výkonný databázový systém a v open source komunitě je velmi oblíben. PostgreSQL poskytuje mnoho sofistikovaných funkcí jako jsou indexy, triggery, dědičnost, replikace, Multi-Version Concurrency Control (MVCC) a mnoho dalších, také plně splňuje standardy ACID (atomicity, consistency, isolation, durability). PostgreSQL je navíc multiplatformní a má API pro řadu programovacích jazyků. [20] PostGIS je open source software, který přidává do databázového systému PostgreSQL podporu pro geografické objekty. Upravená databáze pak dodržuje standard Simple Features specifikující geografické objekty jako bod, čára, polygon, multi-plygon a podobně spolu s dalšími funkcemi nad těmito objekty. Takovou databázi pak lze například použít pro Geografická Informační Systém (GIS) SQLite SQLite je volně dostupná softwarová knihovna implementující relační databázový systém. SQLite databáze není založena na principu klient-server, ale místo toho je celá uložena v jediném souboru. Tento soubor tak obsahuje veškerá data potřebná pro běh databáze včetně všech tabulek, indexů, triggerů a podobně. SQLite je multiplatformní a existuje mnoho API pro různé programovací jazyky, platformně nezávislé jsou i vlastní databázové soubory. Samotná SQLite knihovna je velmi malá (přibližně 300 KB) a má i minimální paměťové nároky na svůj provoz, často se tak používá v mobilních zařízeních.

20 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE Mapnik Mapnik je open source sada nástrojů sloužících k vyváření mapových aplikací. Mapnik umožňuje renderování rastrových obrázků z geografických dat, která jsou zpravidla ve vektorové podobě. Celá tato sada je napsaná v jazyce C++ a pro běžné softwarové problémy jako je správa paměti, přístup k souborovému systému, regulární výrazy, parsování a podobně využívá standardizované C++ knihovny z projektu boost.org. Navíc obsahuje i aplikační rozhraní pro jazyk Python. Mapnik je navržen jako multi-platformní se zaměřením primárně na vývoj webových aplikací, ale umožňuje i desktopové použití. Ke čtení různých datových zdrojů používá Mapnik architekturu založenou na rozšířeních, v současné době existují rozšíření pro čtení dat ve formátu ESRI shapefiles, PostGIS, TIFF raster, OSM XML, Kismet a OGR/GDAL. Hlavním cílem projektu Mapnik je vytváření hezky vypadajících map. [11] Carto Carto je open source pre-procesor pro XML stylesheet soubory používané nástrojem Mapnik vyvíjený společností MapBox, jehož vývoj byl inspirován obdobným pre-procesorem Cascadenik. Vytvářené XML stylesheet soubory obsahují pravidla a další definice použité při renderovacím procesu, tyto soubory jsou často velmi velké a nejsou tak vhodné pro manuální editaci. Carto proto slouží k vytváření těchto souborů z jednodušších a přehlednějších šablon, které jsou podobné CSS používaných při tvorbě HTML stránek osm2pgsql osm2pgsql je open source nástroj sloužící ke konverzi geografických dat z projektu Open- StreetMap do formátu, který může být nahrán do PostgreSQL databáze s PostGIS rozšířením. Konverze geografických dat pomocí tohoto nástroje je ztrátová, neboť osm2pgsql konvertuje pouze data s určitými atributy, které jsou definovány v konfiguračním souboru. Nástroj osm2pgsql bývá často použit při vizualizaci OSM dat za využití nástroje Mapnik Node.js Node.js je softwarová platforma postavená na JavaScript Engine V8 navržená pro psaní škálovatelných aplikací a to zejména webových serverů. Programy pro Node.js jsou psány v JavaScriptu, kde lze využít standardní JavaScriptové funkce spolu s API, které poskytuje samotný Node.js. Node.js používá událostmi řízený model a neblokující I/O operace pro minimalizaci režie a maximalizaci výkonu. Je tak ideální pro datově náročné real-time aplikace běžící na distribuovaných zařízeních. Cílem této platformy je umožnit snadné vytvoření škálovatelných webových aplikací. [5][17] V8 JavaScript Engine V8 je open source interpreter JavaScriptu vyvíjený společností Google. V8 je napsán v jazyce C++ a může běžet buď samostatně nebo jako součást jiných C++ aplikací. Pro zvýšení výkonu V8 kompiluje před spuštěním JavaScript přímo do nativního strojového kódu, místo interpretování bytekódu. V současné době je V8 součástí webového prohlížeče Google Chrome.

21 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE 13 Použité moduly do Node.js node-mapnik - modul sloužící k zpřístupnění aplikačního rozhraní mapového rendereru Mapnik v Node.js aplikacích node-sqlite3 - implementace asynchronního klienta pro SQLite3 databáze node-postgres - implementace asynchronního klienta pro PostgreSQL databáze využívající nativní knihovnu libpq node-pool - univerzální modul pro pooling zdrojů, lze jej použít k opakovanému použití nebo limitování počtu různých zdrojů, které jsou náročné na vytváření, jako jsou například databázová spojení xmlbuilder-js - nástroj pro dynamické vytváření textových souborů v XML formátu

22 Kapitola 3 Analýza a návrh řešení Tato kapitola obsahuje analýzu problému řešeného touto prací, návrh vhodného řešení, specifikaci funkčních a nefunkčních požadavků kladených na výslednou aplikaci a také popisuje zvolené implementační prostředí. 3.1 Formát mapových podkladů Samotná geografická data z projektu OpenStreetMap jsou ve vektorové podobě ve formě uzlů, cest a relací. Tento způsob je velmi efektivní pro ukládání a editaci dat, ale pro jejich vizualizaci již není tak vhodný. Často se tak pro přímou vizualizaci používají předrenderované rastrové dlaždice - tedy jednotlivé obrázky, ze kterých se mapa skládá. Obvyklá velikost jedné dlaždice je pixelů. K vytváření takových dlaždic z vektorových dat slouží například renderovací nástroj Mapnik. Planeta Země má tvar rotačního hyperboloidu a pro specifikaci konkrétní polohy se používá polární souřadnicový systém daný zeměpisnou šířkou a zeměpisnou délkou (anglicky latitude a longitude). Tento systém využívá i OSM projekt k ukládání svých dat. Ovšem pokud chceme ze zakřiveného povrchu Země vytvořit jednu mapu v obdélníkové nebo čtvercové podobě, musí se použít vhodná projekce. V současnosti se nejčastěji používá Mercatorovo zobrazení, které promítá povrch Země na válec a výsledná mapa má pak čtvercový tvar. Nevýhodou této projekce je systematicky se zvyšující nepřesnost směrem od rovníku k pólům. Díky častému používání jsou ale uživatelé na tvar mapy v Mercatorově zobrazení zvyklí. Pro vykreslování mapy se v aplikaci používá právě Mercatorovo zobrazení. Jelikož je výsledná mapa Země čtvercová, používá se souřadnicový systém x, y a zoom (úroveň přiblížení), kde rozsah hodnot x a y je vždy od 0 do 2 zoom 1. Pro zoom = 0 mapa obsahuje pouze jednu dlaždici zobrazující celou Zemi, pro zoom = 1 má mapa 2 2 dlaždic, pro zoom = 2 má mapa 4 4 dlaždic a tak dále. Počet dlaždic, ze kterých se skládá celá mapa, tak roste exponenciální řadou. Souřadnice x = 0 a y = 0 vždy odpovídají levému hornímu rohu mapy. Tuto konvenci pro pojmenování dlaždic používá řada webových služeb poskytujících mapy včetně webového serveru projektu OSM. 14

23 KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ Výběr úrovně Android API Úroveň Android API je přirozené číslo, které unikátně identifikuje programové rozhraní poskytované danou verzí platformy Android. Tato úroveň pak specifikuje balíčky, třídy, XML elementy, XML atributy a další zdroje, které může aplikace používat. Minimální, maximální a cílová úroveň API pro danou aplikaci se specifikuje v jejím Manifest souboru. Úrovně Android API mají tu výhodu, že jsou dopředně kompatibilní, veškeré změny jsou totiž aditivní nebo vylepšují stávající funkcionalitu. To znamená, že například aplikaci určenou pro úroveň API 8 (Android 2.2) je možné spustit na zařízení s Android 4.0 (úroveň API 14). Zpětná kompatibilita ovšem zaručena není. Rozložení používaných API úrovní v dubnu 2012 je znázorněno v grafu na obrázku 3.1 a v tabulce na obrázku 3.2 na straně 16. Z těchto dat je zřejmé, že úroveň API 8 (Android 2.2) pokrývá více jak 90% současně používaných zařízení a lze předpokládat další zvyšování tohoto podílu. Další výhodou použití úrovně 8 je větší stabilita a méně chyb ve vestavěném HTTP klientovi, jehož starší verze obsahují známé chyby [3]. Z těchto důvodů byla pro implementaci výsledné aplikace zvolena úroveň API Výběr prostředí pro běh serveru Jedním z cílů této práce je navrhnout a implementovat serverovou část aplikace a to za maximálního využití již existujících nástrojů. Důraz je také kladen na rychlou implementaci zvoleného řešení. V celém kontextu serverová aplikace slouží spíše jako prototyp či takzvaný proof-of-concept, který má hlavně za cíl nastínit cestu dalšího vývoje. Klíčovou funkcí serverové aplikace je renderování rastrových map, za tímto účelem se jeví nejlepší použít open source nástroje Mapnik. Výhodou Mapniku je to, že byl navržen na rychlé renderování a je vhodný pro nasazení na webových serverech. Alternativou k tomuto nástroji může být Osmarender, který dokáže renderovat mapy do SVG obrázků z dat ve formátu OSM XML. Ten ovšem není tak rozšířen jako Mapnik a jeho vývoj byl navíc ukončen v dubnu 2012 [13]. Vlastní běhové prostředí by mělo být škálovatelné s nízkými nároky na režii a mělo by umožnit rychlé nasazení na server. Tyto předpoklady zcela splňuje prostředí Node.js, jehož velkou výhodou je existence celé řady volně dostupných modulů a rozšíření. Mezi ně patří například modul node-mapnik zpřístupňující Mapnikovské API. Při vlastní implementaci serveru tak bude možné maximálně využít již existujících řešení. 3.4 Návrh řešení Celá aplikace se skládá ze dvou základních částí, které ale mohou existovat i samostatně. První a hlavní částí je klientská strana aplikace sloužící primárně k zobrazování mapových podkladů, tato část zároveň obsahuje uživatelské rozhraní zpřístupňující veškerou funkcionalitu celé aplikace. Druhou částí je podpůrná serverová aplikace, sloužící k renderování různých mapových podkladů a k hledání bodů zájmu. Komunikace mezi klientskou a serverovou stranou aplikace probíhá přes síťový protokol HTTP. Serverová aplikace neposkytuje žádné grafické uživatelské rozhraní.

24 KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ 16 Obrázek 3.1: Rozdělení Android verzí v dubnu [9] Verze platformy Kódové jméno API úroveň Podíl Android 1.5 Cupcake 3 0,3% Android 1.6 Donut 4 0,7% Android 2.1 Eclair 7 6,0% Android 2.2 Froyo 8 23,1% Android Gingerbread 9 0,5% Android Gingerbread 10 63,2% Android 3.0 Honeycomb 11 0,1% Android 3.1 Honeycomb 12 1,0% Android 3.2 Honeycomb 13 2,2% Android Ice Cream Sandwich 14 0,5% Android Ice Cream Sandwich 15 2,4% Obrázek 3.2: Používané verze Android platformy v dubnu [9]

25 KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ Klientská aplikace Klientská aplikace je určená pro mobilní operační systém Android a skládá se z několika částí, které spolu vytváří jednu aplikaci. Nejdůležitější částí je vlastní vykreslování mapových podkladů, které využívá akcelerované grafické prostředí OpenGL. Díky použití této grafické knihovny by vykreslování map mělo být rychlé, efektivní a v dobré kvalitě. Další důležitou součástí aplikace je komponenta poskytující mapové podklady v rastrové podobě a to buď z SQLite databáze uložené na zařízení nebo z dostupných webových serverů. Modularita těchto komponent umožňuje jejich jednoduchou zaměnitelnost. Další část aplikace je komponenta sloužící k síťové komunikaci se serverovou aplikací a jinými webovými službami například pro stahování mapových dat a informacích o bodech zájmu. Všechny tyto komponenty zastřešuje grafické uživatelské rozhraní aplikace, které je rozděleno do několika Aktivit. Diagram hlavních komponentů klientské aplikace je na obrázku 3.3 na straně 18. Pro vykreslování mapy by se dal použít i alternativní způsob zobrazování grafiky, který platforma Android také podporuje, a tím je takzvaný Canvas. Ten má jednodušší a abstraktnější API než OpenGL, ale není zase tak efektivní a flexibilní. Velkou nevýhodou je také to, že podporuje pouze 2D grafiku, zatímco OpenGL má plnou podporu pro 3D grafiku. Při implementaci aplikace tak byla zvolena knihovna OpenGL a to hlavně z výkonnostních důvodů Serverová aplikace Serverová část aplikace běží na platformě Node.js jako HTTP sever. Pro renderování rastrových obrázků z geografických dat pak používá nástroj Mapnik za využití modulu node-mapnik. Při samotnému procesu renderování je použit stylesheet v XML formátu, definující vzhled výsledné mapy. Server umožňuje výběr z více možných stylů vzhledu mapy právě díky použití různých stylesheet souborů. Geografická data, která server při renderování používá, jsou uložena v PostGIS databázi a jejich zdrojem je projekt OpenStreetMap. K importu geografických dat od databáze se využívá nástroje osm2pgsql a vlastních dat ve formě Planet.osm souboru. Pro generování mapových souborů v SQLite formátu server využívá modul node-sqlite3 a pro vytváření XML souborů využívá modul xmlbuilder-js. Diagram komponentů serverové aplikace je na obrázku 3.4 na straně 18. Planet.osm Geografická data z projektu OpenStreetMap jsou k dispozici mnoha způsoby, jedním z nich je právě takzvaný Planet.osm soubor. Ten obsahuje veškerá dostupná data pro celou zemi, tedy všechny uzly, cesty a relace tvořící mapu. Z pochopitelných důvodů je to velmi velký soubor, přibližně 16 GB v komprimované podobě a přes 250 GB bez komprese. Nová verze tohoto souboru je vydávána pravidelně každý týden a existuje řada serverů, ze kterých se dá stáhnout. Navíc existují i takzvané diff soubory, obsahující pouze změny, které jsou obvykle vydávané v jednodenních intervalech. Tyto soubory jsou již menší (řádově desítky MB) a slouží například k aktualizacím databází a podobně. Existují také takzvané extrakty obsahující data pouze pro jednotlivé kontinenty, státy, metropole a podobně. Pro soubory Planet.osm se používají dva hlavní formáty, starší verzí je komprimovaný OSM XML formát a novější více efektivnější formát PBF (Protocolbuffer Binary Format).

26 KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ 18 Android Graphical User Interface Controller OpenGL renderer «use» HTTP request HTTP client «use» Map data source «datastore» SQLite Database client «use» Obrázek 3.3: Diagram komponentů klientské aplikace Node.js HTTP request HTTP server «use» node-mapnik Mapnik «use» «use» «datastore» SQLite node-sqlite3 node-postgres «datastore» PostGIS Obrázek 3.4: Diagram komponentů serverové aplikace

27 KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ Analýza funkčních a nefunkčních požadavků Z požadavků kladených na výslednou aplikaci specifikovaných v předchozí kapitole a návrhu vhodného řešení vyplývají následující funkční a nefunkční požadavky. Ty jsou dále rozděleny na části týkající se klientské a serverové strany aplikace. Funkční požadavky klientské aplikace Zobrazování mapových podkladů offline ze souborů na SD kartě. Zobrazování mapových podkladů online za využití webových služeb. Přepínaní mezi více mapovými podklady. Správa mapových podkladů tj. přidávat, mazat, editovat a vyhledávat v nich. Hledání bodů zájmu online s využitím webových služeb. Zobrazování bodů zájmu na mapě. Výběr oblasti na mapě dané krajními souřadnicemi a úrovněmi přiblížení. Odeslání žádosti o vyrenderování zvolené oblasti serverové části aplikace. Stažení dříve vyrenderovné oblasti ze serverové části aplikace. Správa stahování mapových podkladů tj. vytvářet, mazat, editovat a vyhledávat v nich. Nefunkční požadavky klientské aplikace Aplikace bude implementována pro mobilní operační systém Android ve verzi 2.2, úroveň API 8. Aplikace by měla využívat vnitřní paměť (cache) pro rastrové obrázky k urychlení načítání. K vykreslování mapy bude použito graficky akcelerovaného prostředí OpenGL ES 1.0. Při prohlížení online bude použita záložní databáze rastrových obrázků na SD kartě k minimalizaci datových přenosů. Funkční požadavky serveru Renderování jednotlivých rastrových obrázků pro zvolené souřadnice, úroveň přiblížení a styl mapy. Příjem žádosti o vyrenderování zvolené oblasti dané krajními souřadnicemi, úrovněmi přiblížení a stylem mapy. Možnost stažení dříve vyrenderovné oblasti. Hledání bodů zájmu ve zvolené oblasti podle jména nebo podle zvolených souřadnic. Poskytnutí informací o API serveru a dostupných stylech.

28 KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ 20 Nefunkční požadavky serveru Serverová aplikace bude implementována pro běh na Node.js a bude využívat nástroje Mapnik pro renderování map. Serverová aplikace by měla maximálně využít existující nástroje. API serveru bude využívat HTTP dotazy a XML formát pro posílání zpráv. Server by měl umožňovat volbu mezi různými styly renderování mapy. 3.6 Použité vývojové prostředí Pro vývoj a implementaci aplikace bylo použito vývojové prostředí Eclipse IDE ve verzi spolu s rozšířením ADT Plugin for Eclipse. Při implementaci Android aplikace byla použita sada nástrojů z Android SDK. K verzování zdrojového kódu byl použit distribuovaný verzovací systém Mercurial. Pro tvorby diagramů byl použit program Enterprise Architect s akademickou licencí a tento text byl vysázen pomocí programu L A TEX. Související odkazy: Eclipse IDE < Android SDK < ADT Plugin for Eclipse < Mercurial < Enterprise Architect < L A TEX <

29 Kapitola 4 Realizace Tato kapitola ze zabývá podrobnějším popisem implementace výsledné aplikace a vlastním procesem realizace celé této práce. První část se zabývá použitými mapovými podklady a další části obsahují popis implementace klientské a serverové strany aplikace. Poděkování Během procesu realizace této práce významně pomohly návody a ukázkové příklady pro práci s grafickou knihovnou OpenGL [2][21][1], vývojářská příručka pro platformu Android [10] a při řešení mnoha problémů se ukázal velmi užitečný komunitní server Stack Overflow [22]. 4.1 Schéma mapové databáze Hlavním zdrojem mapových podkladů, který klientská aplikace používá, je databáze v SQLite formátu. V této databázi jsou uloženy již vyrenderované mapové dlaždice spolu se svými souřadnicemi x, y a zoom. V současné implementaci klientské aplikace jsou podporovány SQLite mapové databáze v RMaps formátu (používaný aplikací RMaps), který je podobný standardu používaném webovými službami OSM, jenom se liší v reprezentaci úrovně přiblížení. V tomto formátu je úroveň přiblížení reprezentována obráceně, například zoom úroveň 0 odpovídá úrovni 18 v OSM formátu. Pro konverzi zoom úrovní se dá použít následující funkce. Tato konverze je symetrická, lze jí tak použít pro konverzi oběma směry. convertzoom(zoom) = 17 zoom Databázové schéma takovéto mapové databáze je znázorněno na obrázku 4.1 na straně 22. V tomto schématu stojí za zmínku tabulka info, která obsahuje minimální a maximální zoom úroveň dostupnou v příslušné databázi. Tento formát byl zvolen z důvodu možného využití mapových podkladů používaných aplikací RMaps, které lze například vytvořit open source nástrojem MOBAC. Databázové soubory poskytované serverovou aplikací také dodržují RMaps SQLite formát v rámci zachování kompatibility s klientskou stranou aplikace. 21

30 KAPITOLA 4. REALIZACE 22 tiles «column» *PK x *PK y *PK z image info «column» minzoom maxzoom «PK» + PK_tiles(,, ) Obrázek 4.1: Schéma mapové databáze v SQLite formátu 4.2 Implementace klientské aplikace Klientská aplikace je navržena pro běh na mobilním operačním systému Android a vlastní implementace aplikace je tak realizována z největší části v programovacím jazyku Java. Celá aplikace byla implementována v souladu se zvyklostmi a zásadami pro programování pro platformu Android. Pro práci s mapami je v aplikaci použit koncept uživatelských map (user map), které reprezentují jednotlivé mapové podklady a to jak ty dostupné offline (SQLite databázové soubory na SD kartě), tak i ty dostupné online. K prohlížení mapových podkladů tak musí uživatel do aplikace tyto uživatelské mapy importovat. Na podobném principu je založeno i stahování mapových podkladů ze serverové části aplikace, zde jsou použity žádosti o vytvoření mapy (map download request) Rozdělení aplikace do Aktivit Nezbytnou součástí každé Android aplikace jsou Aktivity, které představují jednotlivé obrazovky aplikace. Klientská aplikace se tak skládá z několika Android Aktivit, ty lze rozdělit do čtyř hlavních skupin. V první skupině je Aktivita obsluhující hlavní menu aplikace a Aktivita Preferencí obsahující nastavení aplikace, druhou skupinou jsou Aktivity sloužící ke správě uživatelských map a žádostí o vytvoření mapy, třetí skupina slouží ke stahování mapových dat z online služeb, poslední a nejdůležitější skupinou jsou Aktivity sloužící k prohlížení mapových podkladů. Na obrázku 4.2 na straně 23 jsou znázorněné závislosti jednotlivých Aktivit a v následujícím seznamu je detailnější popis všech Aktivit, které jsou součástí klientské aplikace. MainActivity - obsluhuje hlavní menu aplikace a slouží také jako vstupní bod pro celou aplikaci MainPreferences - obsahuje různá uživatelská nastavení aplikace ManageMapsActivity - slouží ke správě uživatelských map uložených v aplikaci, tj. vytváření, prohlížení, editace a mazání UserMapImportActivity - se stará o import nových uživatelských map z online nebo offline zdrojů

31 KAPITOLA 4. REALIZACE 23 UserMapEditActivity - umožňuje editaci dříve vytvořených uživatelských map ManageDownloadsActivity - slouží ke správě žádostí o vytvoření mapy uložených v aplikaci, tj. vytváření, prohlížení, editace a mazání MapDownloadInfoActivity - umožňuje prohlížení a editaci dříve vytvořených žádostí o vytvoření mapy DownloadRequestActivity - umožňuje vytvoření a odeslání nové žádostí o vytvoření mapy serverové aplikaci SearchActivity - slouží k hledání bodů zájmu podle jména nebo souřadnic pomocí dostupných online služeb MapViewActivity - je hlavní Aktivita aplikace sloužící k prohlížení mapových podkladů uložených v aplikaci ve formě uživatelských map, dále také umožňuje i hledání bodů zájmu na mapě MapViewBBoxActivity - slouží k zobrazování mapových podkladů s vybraným stylem poskytovaných serverovou částí aplikace, dále umožňuje výběr oblasti na mapě pro odeslání žádostí o její vytvoření MainPreferences MapViewActivity SearchActivity MainActivity ManageMapsActivity UserMapEditActivity ManageDownloadsActivity MapDownloadInfoActivity UserMapImportActivity MapViewBBoxActivity DownloadRequestActivity Obrázek 4.2: Závislosti jednotlivých Aktivit klientské aplikace Aplikační databáze Platforma Android umožňuje každé aplikaci mít několik vlastních databází, které jsou pak uložené v zařízení jako SQLite databázové soubory. K dlouhodobému ukládání uživatelských map a žádostí o vytvoření mapy tak klientská aplikace používá vnitřní databázi. Schéma této databáze je znázorněno na obrázku 4.3 na straně 24.

32 KAPITOLA 4. REALIZACE 24 services usermaps locations mapdownloads «column» *PK _id * name * protocol * host * port * pattern «PK» + PK_services() +online_sevice 0..1 * «column» *PK _id * name * dbpath * dbmodtime * online online_sevice * minzoom * maxzoom * location desc +location * 1 «column» *PK _id * x * y * zoom * dx * dy «PK» + PK_locations() «column» *PK _id * name * key * style * url desc «PK» + PK_mapdownloads() «PK» + PK_usermaps() Obrázek 4.3: Schéma databáze, kterou používá klientská aplikace Vykreslování pomocí OpenGL K zobrazování mapových podkladů ve formě rastrových dlaždic je v klientské aplikaci použita grafická knihovna OpenGL ES ve verzi 1.0. Tato knihovna poskytuje procedurální nízkoúrovňové API a pro vykreslování je nutné přesně specifikovat celou scénu. OpenGL při vykreslování používá pravotočivý kartézský souřadnicový systém se souřadnicemi x,y,z a pro reprezentaci barev je použit čtyř-prvkový model RGBA (Red, Green, Blue, Alpha). Pro vykreslování textur je použito UV mapování, což je proces mapování 2D textur na 3D objekty. Dále se používají takzvané transformační matice, kterými se násobí příslušné vektory ve scéně než jsou následně vykresleny, existují čtyři druhy GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE, a GL_COLOR. Hlavními jsou matice GL_MODELVIEW, která slouží k různým lineárním transformacím objektů ve scéně (například posuny, rotace, změny měřítka a podobně), a matice GL_PROJECTION, která slouží k projekci celé vykreslované scény na 2D display zařízení. Při implementaci Android aplikací využívajících OpenGL se používají hlavně třídy GLSurfaceView a GLSurfaceView.Renderer, které poskytují základní vykreslovací API. Teoretické řešení Jak již bylo zmíněno, celá mapa se skládá ze čtvercových rastrových dlaždic, jejichž počet závisí na úrovni přiblížení. Pro vykreslování těchto dlaždic je použita dvou-dimenzionální mřížka, která je tvořena vrcholy jednotlivých dlaždic. Samotné rastrové obrázky jsou pak použity jako textury vyplňující tuto mřížku. V souřadnicovém systému OpenGL je mřížka umístěna ve čtvrtém kvadrantu s tím, že levý horní roh dlaždice [0, 0] je umístěn v počátku. Ilustrace této mřížky je na obrázku 4.4 na straně 25. Na obrázku je také znázorněná reprezentace aktuální polohy displeje jako vektor od počátku do středu obrazovky. Tímto způsobem je mapová mřížka reprezentována jednotlivými body v prostoru, které tak mají pevně danou pozici. Kvůli tomu je posun a změna měřítka mapy realizována výhradně jen úpravami projekční matice GL_PROJECTION. To si lze představit jako změnu pozice kamery ve scéně. Počátek souřadnicového systému je po této projekci vždy ve středu obrazovky. Při procesu vykreslování scény se pak vypočítá jaké konkrétní mapové dlaždice jsou aktuálně viditelné v závislosti na poloze displeje a jen ty jsou následně vykresleny.

33 KAPITOLA 4. REALIZACE Sheet1 25 -x y Obrázek 4.4: Ilustrace mřížky pro vykreslování mapových dlaždic se znázorněním reprezentace pozice displeje Praktická realizace Výše zmíněný přístup má však z hlediska praktické implementace podstatný nedostatek. Android OpenGL API totiž poskytuje pouze single-precision formát pohyblivé řádové čárky pro vektory a operace s transformačními maticemi, což může způsobit nepřesnosti při vykreslování. Důvodem je to, že například pro úroveň přiblížení 18 je výška a šířka mapy 2 18 dlaždic a pokud budou rozměry dlaždice pixelů je výsledná výška a šířka mapové mřížky je pixelů. To ovšem přesahuje přesnost single-precision formátu, takže není možné takové hodnoty reprezentovat bezeztrátově a se zvyšující se úrovní přiblížení nepřesnost ještě více narůstá. Tento problém je v implementaci klientské aplikace vyřešen, tím že byl do zmíněného konceptu přidán navíc vektorový offset. Ten zajišťuje, že souřadnice bodů tvořící mapovou mřížku právě vkreslovaných dlaždic budou mít hodnoty dostatečně malé pro zaručení bezeztrátové přesnosti. Offset se mění dynamicky dle potřeby tak, aby jeho vzdálenost od aktuální pozice středu obrazovky zůstala v dané toleranci. Tím je zaručena přesnost vykreslování prakticky pro libovolnou úroveň přiblížení a pozici displeje. Nevýhodou tohoto přístupu je o něco vyšší režie při vlastním procesu vykreslování a hlavně nedeterministická poloha bodů tvořících mapovou mřížku pro části aplikace, které nemají k aktuálnímu vektorovému offsetu přístup. Proto není možné použít dodatečné komponenty k vykreslování například bodů zájmu nad mapou, které by byly nezávislé na komponentě sloužící k vykreslování samotné mapy. Za tímto účelem tak komponenta pro vykreslování mapy umožňuje registraci dodatečných MapOverlay, které pak pravidelně dostávají informace o aktuální poloze vykreslované mapy. Tímto způsobem je možné pohodlně přidávat další vykreslovací komponenty bez nutnosti modifikace stávající implementace. Page 1

modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com

modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com 1 Nevýhody uzavřených navigací nemožnost modifikovat funkcionalitu co když výrobce přestane podporovat

Více

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23 Úvod 11 KAPITOLA 1 Nástroje pro vývoj 13 Co budete potřebovat 13 Instalace programovacího jazyka Java 13 Java 8 14 Vývojové prostředí Eclipse 15 Instalace a konfigurace Android SDK a doplňků ADT 15 Vytvoření

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Mobilní informační průvodce - RegTim

Mobilní informační průvodce - RegTim Mobilní informační průvodce - RegTim nabízí zpřístupnění kulturního a přírodního dědictví regionu s využitím moderních mobilních informačních technologií pro podporu cestovního ruchu a inovativní propagaci

Více

Hardware Různé počítačové platformy (personální počítače, pracovní stanice, víceuživatelské systémy) Požadavek na konkrétní vstupní a výstupní zařízen

Hardware Různé počítačové platformy (personální počítače, pracovní stanice, víceuživatelské systémy) Požadavek na konkrétní vstupní a výstupní zařízen Základy teorie GIS Tomáš Řezník Vymezení pojmů Kartografie je věda, technologie a umění tvorby map, včetně jejich studia jako vědeckých dokumentů a uměleckých prací (International Cartographic Association,

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

NOVINKY V DATABÁZÍCH CEDA

NOVINKY V DATABÁZÍCH CEDA NOVINKY V DATABÁZÍCH CEDA GIS KU květen 2017 Jan Vodňanský Central European Data Agency, a.s. výrobní ředitel vodnansky@ceda.cz StreetNet CrossBorder Vektorové mapové dlaždice Route4All StreetNet CrossBorder

Více

MATURITNÍ PRÁCE dokumentace

MATURITNÍ PRÁCE dokumentace MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

Domino 10 nové komponenty a související témata (node.js, ES )

Domino 10 nové komponenty a související témata (node.js, ES ) Domino 10 nové komponenty a související témata (node.js, ES ) David Marko TCL DigiTrade - 19.4.2018 Domino 10 Use of OpenSource components ( Java Script, ) Great focus on integration of Mobiles and Chat

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008 GeoHosting (vypusťte svoje data do světa) Martin Vlk Help forest s.r.o. člen skupiny WirelessInfo 2008 Využívání geografických dat Jak můžeme pracovat s geografickými daty? Práce s vlastními geografickými

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender VY_32_INOVACE_INF.19 Inkscape, GIMP, Blender Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 INKSCAPE Inkscape je open source

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Informační systém pro evidenci potápěčských ponorů

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

Telekomunikační koncová zařízení

Telekomunikační koncová zařízení Telekomunikační koncová zařízení Projekt č.: 1 Datum: 6. 11. 2013 Název: Vypracoval: Bc. Lukáš Rygol login: ryg0007 1. Úvod Vnitřní struktura systému ios ios je mobilní operační systém vyvinutý firmou

Více

Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava

Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava Charakterisitka ArcGIS Geografický informační systém. Integruje mnoho součástí v jednom systému. Integrované sady aplikací

Více

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura. 2012 IBM Corporation TSM for Virtual Environments Data Protection for VMware v6.3 Ondřej Bláha CEE+R Tivoli Storage Team Leader TSM architektura 2012 IBM Corporation Tradiční zálohování a obnova dat ze strany virtuálního stroje

Více

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. Martin Majer, AiP Beroun s.r.o. REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam

Více

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Bakalářská práce 2014 Autor: Adam Schreier Garant práce: Jan Růžička Obsah prezentace 1.Seznámení s řešeným problémem

Více

Specifikace projektu Ocerus

Specifikace projektu Ocerus Specifikace projektu Ocerus Tým Vedoucí: Ondřej Sýkora (ondrasej@centrum.cz) Členové: Michal Čevora (macjariel@gmail.com) Lukáš Hermann (lukas.hermann@seznam.cz) Ondřej Mocný (hardwire@volny.cz) Tomáš

Více

Platforma ArcGIS. Platforma ArcGIS se skládá ze čtyř komponent: dat, zdrojů, portálu a aplikací.

Platforma ArcGIS. Platforma ArcGIS se skládá ze čtyř komponent: dat, zdrojů, portálu a aplikací. Platforma ArcGIS Platforma ArcGIS Platforma ArcGIS je tvořena datovým obsahem, službami a softwarovými produkty, které spolu vzájemně komunikují. Je určena každému, kdo chce snadno a rychle sdělit informaci

Více

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ ÚVOD Technologie elastické konformní transformace rastrových obrazů je realizována v rámci webové aplikace NKT. Tato webová aplikace provádí

Více

Návod k ovládání aplikace

Návod k ovládání aplikace Návod k ovládání aplikace Tento návod se zabývá ovládáním aplikace PDF Annotation 1, která je založena na aplikaci AVP PDF Viewer a umožňuje nejen PDF dokumenty prohlížet, ale také do těchto dokumentů

Více

Vektorové dlaždice. a jejich využití pro vizualizaci dat katastru nemovitostí. Filip Zavadil, Cleerio s.r.o

Vektorové dlaždice. a jejich využití pro vizualizaci dat katastru nemovitostí. Filip Zavadil, Cleerio s.r.o Vektorové dlaždice a jejich využití pro vizualizaci dat katastru nemovitostí Filip Zavadil, Cleerio s.r.o Online správa a evidence majetku Cloudové řešení - data a informace na jednom místě, dostupné odkudkoliv

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Otevřený katastr (OK)

Otevřený katastr (OK) Otevřený katastr (OK) Karel Jedlička, Jan Ježek, Jiří Petrák smrcek@kma.zcu.cz, h.jezek@centrum.cz, jiripetrak@seznam.cz Západočeská univerzita v Plzni, Fakulta aplikovaných věd, katedra matematiky oddělení

Více

Základní informace. Operační systém (OS)

Základní informace. Operační systém (OS) Základní informace Operační systém (OS) OS je základní program, který oživuje technické díly počítače (hardware) a poskytuje prostředí pro práci všech ostatních programů. Operační systém musí být naistalován

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

Mobilní navigace v Linuxu. martin.kolman@gmail.com www.modrana.org

Mobilní navigace v Linuxu. martin.kolman@gmail.com www.modrana.org Mobilní navigace v Linuxu martin.kolman@gmail.com www.modrana.org Stavební kameny geodata mapy POI hardware software Geodata navigovat jde i bez mapy vektorové mapy víceúčelové, stejná data pro vykreslení

Více

Programátorská příručka

Programátorská příručka KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

Co je nového v aplikaci PaperPort 12?

Co je nového v aplikaci PaperPort 12? Vítejte! Aplikace PaperPort společnosti Nuance je softwarový balíček pro správu dokumentů pracovní plochy, který vám usnadní skenování, uspořádání, sdílení, správu a přístup k papírovým a digitálním dokumentům

Více

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE KAPITOLA 1 Vývojové prostředí a výběr frameworku 15 PhoneGap 15 jquery

Více

Architektura GIS KMA/AGI. Karel Jedlička

Architektura GIS KMA/AGI. Karel Jedlička KMA/AGI Karel Jedlička smrcek@kma.zcu.cz http://www.kma.zcu.cz/jedlicka Vznik materiálu byl podpořen z projektu FRVŠ č. 584/2011 Úvod do architektury software klient/server sw vrstvy Architektura GIS Typy

Více

TVORBA WEBOVÉ APLIKACE PRO PROHLÍŽENÍ DIGITÁLNÍCH MAPOVÝCH PODKLADŮ A ZOBRAZENÍ EXTERNÍCH DAT Z APRS

TVORBA WEBOVÉ APLIKACE PRO PROHLÍŽENÍ DIGITÁLNÍCH MAPOVÝCH PODKLADŮ A ZOBRAZENÍ EXTERNÍCH DAT Z APRS TVORBA WEBOVÉ APLIKACE PRO PROHLÍŽENÍ DIGITÁLNÍCH MAPOVÝCH PODKLADŮ A ZOBRAZENÍ EXTERNÍCH DAT Z APRS CREATING A WEB APPLICATION FOR VIEWING DIGITAL MAP DATA AND DISPLAY EXTERNAL DATA FROM APRS Filip Vízner

Více

Mapa Česka: www.mapa-ceska.cz

Mapa Česka: www.mapa-ceska.cz Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity

Více

Software pro vzájemné sdílení polohy

Software pro vzájemné sdílení polohy FIT ČVUT 2.6.2012 Obsah prezentace Úvod 1 Úvod Zadání práce Cíle práce Rešerše 2 3 Naplnění cílů práce Další vývoj Prostor pro otázky Řešený problém Úvod Zadání práce Cíle práce Rešerše Bratr: Chci abych

Více

Vzdálený přístup k počítačům

Vzdálený přístup k počítačům Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno

Více

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13 Obsah Předmluva 11 O této knize 13 Konvence........................................................13 Inovace prostřednictvím otevřenosti 15 Ekosystém Symbianu.............................................16

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice Návod k prezentačnímu mapovému portálu Obsah: 1. Úvod... 3 2. Obecná část mapového portálu...

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Jakub Šesták. http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Datové služby sdružení CESNET http://www.cesnet.cz/services/data-storage/?lang=en ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY Jakub Šesták 5. 12. 2014 1. ročník navazujícího

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti: ArcGIS for Server ArcGIS for Server ArcGIS for Server je komplexní nástroj, který představuje platformu pro poskytování GIS služeb umožňujících pořizování, správu a analýzu prostorových dat a jejich vizualizaci.

Více

Česká zemědělská univerzita v Praze

Česká zemědělská univerzita v Praze Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Operační systém Google Android Petr Koula 2011 ČZU v Praze Souhrn Diplomová práce zahrnuje

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

První kroky s METEL IEC IDE

První kroky s METEL IEC IDE První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky

Více

Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb

Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb Ing. Radek Augustýn Výzkumný ústav geodetický, topografický a kartografický, v.v.i. Zdiby Abstrakt V návaznosti na zpřístupnění dat Registru

Více

Hlavní rysy produktu MapInfo Professional

Hlavní rysy produktu MapInfo Professional Michal Hrnčiřík MapInfo historie Hlavní rysy produktu MapInfo Professional Oblasti použití MapInfo MapInfo a webové služby Ostatní schopnosti produktu Vyvíjeno stejnojmennou firmou MapInfo (1986) MapInfo

Více

ArcGIS Server 10. Řešení pro sdílení geodat

ArcGIS Server 10. Řešení pro sdílení geodat ArcGIS Server 10 Řešení pro sdílení geodat ArcGIS Server 10 ArcGIS Server je komplexní nástroj, který představuje platformu pro poskytování služeb GIS umožňujících pořizování, správu a analýzu prostorových

Více

Inteligentní řízení strojů s portfoliem u-mation Řešení pro automatizaci a digitalizaci Let s connect. Automatizace a digitalizace

Inteligentní řízení strojů s portfoliem u-mation Řešení pro automatizaci a digitalizaci Let s connect. Automatizace a digitalizace Inteligentní řízení strojů s portfoliem u-mation Řešení pro automatizaci a digitalizaci Let s connect. Automatizace a digitalizace Řešení pro automatizaci a digitalizaci Jakožto expert v průmyslové konektivitě

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Real Time programování v LabView. Ing. Martin Bušek, Ph.D. Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití

Více

Open Street Map. The Free Wiki World Map. Bc. Jakub Adam. Katedra Informatiky FEI VŠB-TU Ostrava / GIS

Open Street Map. The Free Wiki World Map. Bc. Jakub Adam. Katedra Informatiky FEI VŠB-TU Ostrava / GIS ... Open Street Map The Free Wiki World Map Bc. Jakub Adam Katedra Informatiky FEI VŠB-TU Ostrava 12.2.2009 / GIS Bc. Jakub Adam (FEI VŠB-TU Ostrava) Open Street Map 12.2.2009 / GIS 1 / 24 Obsah.1.. Úvod

Více

Nasazení mobilního GIS

Nasazení mobilního GIS Nasazení mobilního GIS Dalkia implementuje ArcGIS for smartphone 28/05/2014 ) Mgr. Ivana Niedobová Ing. Stanislav Šplíchal Dalkia kdo jsme Dalkia ve světě: 8,4 miliard obrat za rok 2013 Působnost ve 27

Více

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek katedra informatiky fakulta elektrotechniky a informatiky VŠB-Technická univerzita Ostrava Agenda Motivace

Více

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 7 Vývoj Internetových Aplikací HTML 5 a CSS 3 Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky https://developer.mozilla.org/en- US/docs/Web/Guide/HTML/HTML5 http://htmlfiverocks.appspot.com/en/resources

Více

PostGIS. Luboš Hejduk, Petr Sedlář 2007

PostGIS. Luboš Hejduk, Petr Sedlář 2007 PostGIS Luboš Hejduk, Petr Sedlář 2007 Obsah Co je PostGIS Využití prostorových dat Způsob instalace PostgreSQL/PostGIS Správa databáze postgresql/postgis Práce s daty v PostgreSQL/PostGIS Import dat do

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Mapy jsou významným zdrojem informací, skrze které lidé vyjadřují své dojmy o místech.

Mapy jsou významným zdrojem informací, skrze které lidé vyjadřují své dojmy o místech. Interaktivní mapy Mapa a Internet Mapy jsou významným zdrojem informací, skrze které lidé vyjadřují své dojmy o místech. Každá mapa je pohledem na svět Internet zlepšil distribuci map Internet má ale

Více

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce Zadání Stávající

Více

Možnosti aplikací Google pro analýzu (geo(

Možnosti aplikací Google pro analýzu (geo( Možnosti aplikací Google pro analýzu (geo( geo)dat Lukáš MAREK & Vít PÁSZTO -Katedra geoinformatiky PřF UP Olomouc GOOGLE MAPS & EARTH Největší hráč na trhu určující celosvětové trendy v oblasti IT a intenetu

Více

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Nastavení provozního prostředí webového prohlížeče pro aplikaci Nastavení provozního prostředí webového prohlížeče pro aplikaci IS o ISVS - Informační systém o informačních systémech veřejné správy verze 2.03.00 pro uživatele vypracovala společnost ASD Software, s.r.o.

Více

internetu v rámci výuky

internetu v rámci výuky Publikování map na internetu v rámci výuky Jakub Havlíček Digitální itál technologie v geoinformatice, kartografii a DPZ 23.10.2012 Praha úvod současný stav možnosti Obsah statické obrázky klikací mapy

Více

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části)

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části) PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské

Více

ZÁVAZNÉ FUNKČNÍ A TECHNICKÉ POŽADAVKY ZADAVATELE NA PROTOTYP

ZÁVAZNÉ FUNKČNÍ A TECHNICKÉ POŽADAVKY ZADAVATELE NA PROTOTYP Příloha zadávací dokumentace č. 10 Závazné funkční a technické požadavky zadavatele na prototyp ZÁVAZNÉ FUNKČNÍ A TECHNICKÉ POŽADAVKY ZADAVATELE NA PROTOTYP na veřejnou zakázku Resortní elektronický systém

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

Nástroje pro tvorbu wireframes

Nástroje pro tvorbu wireframes Nástroje pro tvorbu wireframes Tento dokument stručně popisuje dostupné nástroje, které slouží pro tvorbu modelů stránek, tzv. wireframes. Michal Pařízek v červnu 2009 vyzkoušel celkem sedm nástrojů, z

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Cílová skupina Anotace Inovace výuky prostřednictvím šablon

Více

Hospodářská informatika

Hospodářská informatika Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.

Více

Aplikační podpora národní inventarizace kontaminovaných míst

Aplikační podpora národní inventarizace kontaminovaných míst NIKM - Národní inventarizace kontaminovaných míst I. etapa (2009-2012) Aplikační podpora národní inventarizace kontaminovaných míst Roman Bukáček, Jiří Chroust, Petr Pala, Jiří Zvolánek, Stanislav Raclavský,

Více

DIGITÁLNÍ MAPY. Přednáška z předmětu KMA/TKA. Otakar ČERBA Západočeská univerzita v Plzni

DIGITÁLNÍ MAPY. Přednáška z předmětu KMA/TKA. Otakar ČERBA Západočeská univerzita v Plzni DIGITÁLNÍ MAPY Přednáška z předmětu KMA/TKA Otakar ČERBA Západočeská univerzita v Plzni 16.12.2008 Konec 20. století je charakterizován jako období informatiky. Mapa, jako výsledek geodetických měření

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

Mapová aplikace HZS Ústeckého kraje

Mapová aplikace HZS Ústeckého kraje Mapová aplikace HZS Ústeckého kraje Stručný návod Tato aplikace vznikla z důvodu potřeby prezentace geografických dat HZS Ústeckého kraje a dalších poskytovatelů dat v jednotné mapové aplikaci. Dalším

Více

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010 FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku

Více

NÁVOD K POUŽITÍ. IP kamerový systém.

NÁVOD K POUŽITÍ. IP kamerový systém. NÁVOD K POUŽITÍ IP kamerový systém www.slkamery.cz 1 1. Práce se systémem CMS 1. Instalace aplikace Aplikaci CMS nainstalujeme z přiloženého CD. Pokud není CD součástí balení, stáhneme instalační soubory

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

Geografické informační systémy GIS

Geografické informační systémy GIS Geografické informační systémy GIS Prohloubení nabídky dalšího vzdělávání v oblasti zeměměřictví a katastru nemovitostí ve Středočeském kraji CZ.1.07/3.2.11/03.0115 Projekt je finančně podpořen Evropským

Více