workshop - ruzicka - webové mapy prakticky

Post on 13-Dec-2014

54 Views

Category:

Data & Analytics

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Workshop presentation from Third InDOG Doctoral Conference in Olomouc, Czech Republic. 13. - 16. October 2014

TRANSCRIPT

www.geoinformatics.upol.cz

Webové mapy prakticky

Ondřej Růžička@ondrejruzicka

www.ondrejruzicka.cz

Freelancer & DevMap s.r.o.

www.geoinformatics.upol.cz

Obsah

1. Novinky v open-source mapových knihovnáchCo nás čeká v Leaflet 1.0 a OpenLayers 3

2. Git pro verzování geodatVytvoření lokálního repozitáře, propojení s repozitářem na GitHubu, verzování

3. NoSQL databáze aneb odprostěte se od tabulekCo jsou to NoSQL databáze, možnosti uložení prostorových dat

3. Vektorové dlaždiceŘešení jak dostat velké vektorové datové sady ke klientovi

www.geoinformatics.upol.cz

Novinky v open-source mapových knihovnách

Současná stabilní verze 0.7.3 Další plánovaná verze 0.8 -> 1.0 Vývoj se trochu zpomalil

OpenLayers 3

S verzí 2 má společný „jen“ název Verze 3.0.0 vydána 29.8.2014 Pořád je aktivní další vývoj

www.geoinformatics.upol.cz

Leaflet 1.0

• Nová verze se nese v duchu zjednodušování a zrychlování– Menší paměťové nároky– Minimum nových funkcí– Menší velikost knihovny– Větší rychlost načítání/vykreslování dat

www.geoinformatics.upol.cz

Leaflet 1.0

• Novinky– Rychlejší načítání dlaždic, a důraz na vzhled

během práce s mapou – preciznější animace– Dílčí zoom [map.setZoom(6.12) ]

– Vektorové vrstvy mapě bude možné vykreslovat do Canvas i jako SVG zároveň

– Lepší připravenost pro práci s displeji s vysokým rozlišením (Retina)

www.geoinformatics.upol.cz

Leaflet 1.0

• Novinky

Nový způsob práce s projekcemi• Dosavadní verze byly úzce svázány s Web Mercator• Jiné projekce se řešili „zbytečně složitě“ • Pomocí externí knihovny Proj4Leaflet atd.• Použití pro lokální projekty bez nutnosti převodu

www.geoinformatics.upol.cz

Leaflet 1.0

• Leaflet jde cestou rychlé a na použití jednoduché knihovny

• Další funkce jsou dostupné pomocí pluginů• Pořád jde hlavně o one-man show

Zdroj:https://speakerdeck.com/mourner/future-of-leaflet

www.geoinformatics.upol.cz

OpenLayers 3

• Vyvíjeno od začátku jako zcela nová knihovna - odproštění od OpenLayers 2

• Komplexní knihovna se spoustou funkcí• Podpora mobilních zařízení• Hodně podporovaných formátů out-of-box:

– OSM, Bing, MapBox, Stamen, MapQuest, další XYZ formáty– WMS, WMTS, WFS– GML, GPX, KLM, GeoJSON, TopoJSON, WKT

www.geoinformatics.upol.cz

OpenLayers 3

• Od začátku klade důraz na modularitu:

„ Most users will only need 10-15% of the total functionality. The trouble is that everybody needs a slightly different 15%“

– Tom Payne

• Využití Google Closure – framework + compiler + build tool,

• částečně lze použít i Grunt (ale pořád s nutností GC a pythonu)

www.geoinformatics.upol.cz

OpenLayers 3

• Custom build

• Webový konfigurátor a automatické hledání závislostí je ve vývoji

www.geoinformatics.upol.cz

OpenLayers 3 - příklady

• Tile cache + High priority loading

www.geoinformatics.upol.cz

OpenLayers 3 - příklady

• Rotace

www.geoinformatics.upol.cz

OpenLayers 3 - příklady

• Labely u vektorů

www.geoinformatics.upol.cz

OpenLayers 3 - příklady

• Vytváření vrstev + editace

www.geoinformatics.upol.cz

OpenLayers 3 - příklady

• Editace - topologie

www.geoinformatics.upol.cz

OpenLayers 3 - příklady

• Image filtering

www.geoinformatics.upol.cz

OpenLayers 3

• Příklady převzaty z:http://openlayers.org/en/v3.0.0/examples/

• Prezentace dalších vlastností OL3:– Getting Started with OpenLayers 3 — Tim Schaub,

Planet Labs (FOSS4G, 2014)

www.geoinformatics.upol.cz

Leaflet vs. OpenLayers 3

• Kterou knihovnu preferovat a používat? Obě!• Záleží na projektu…

• Leaflet pro jednoduché projekty – „obyčejné mapy“

• OpenLayers 3 pro komplexní projekty

A sledovat vývoj, protože za rok může být vše zase jinak

www.geoinformatics.upol.cz

Git pro verzování geodat

www.geoinformatics.upol.cz

Git pro verzování geodat

• Git = verzovací nástroj primárně pro verzování zdrojového kódu a týmovou spolupráci

• Lze použit i pro jiné soubory – grafika, geodata…• Nejběžnější používání GIT – CLI (příkazová řádka)• Lze používat i lokálně

• GitHub = webová služba postavená na Git, nabízí zdarma prostor pro data rozhraní pro procházení open-source projektů (existuje i placená varianta pro closed-source)

www.geoinformatics.upol.cz

GitHub a geodata

• Od roku 2013 GitHub aktivně podporuje formát GeoJSON• Automaticky zobrazuje geodata na mapě, při procházení na

webu• Tím vzniká zajímavá platforma pro sdílení/spolupráci na

prostorových datech a jejich verzování• Specifické využití

Příklad

www.geoinformatics.upol.cz

NoSQL databáze

www.geoinformatics.upol.cz

NoSQL databáze

• Jiná filozofie ukládání dat než do relačních databází – nepoužívají se tabulky

• Vývoj od roku 2000, z potřeby škálování, práce s BigData atd.• Výhody

– Rychlost i při velkém objemu dat – Škálovatelnost, replikace– Snazší použití – ukládání objektů (záleží na typu aplikace)

• Dělí se na další typy– Column, Document, KV, Graph

www.geoinformatics.upol.cz

NoSQL – dokumentově orientované DB• Př. MongoDB a CouchDB• Základní jednotkou je dokument = JSON

www.geoinformatics.upol.cz

MongoDB

• Pro všechny platformy• Nestrukturovaná (scheme-less) databáze

– Nedefinují se sloupce, atd. data se rovnou ukládají – Nevadí že u něktré dokumenty nejsou kompletní

• Databáze -> kolekce -> dokument• Interně nejsou data uloženy v JSONu ale v tzv. BSONu

– binární podoba, kvůli velikosti a přenosu dat

www.geoinformatics.upol.cz

MongoDB - Geoprostorová data• Document = JSON

zdroj: www.geojson.org

• (Multi) Bod• (Multi) Linie• (Multi) Polygon

• 2D• 2DSphere

Prostorové indexy

www.geoinformatics.upol.cz

MongoDB - Geoprostorová data• Prostorové dotazy

$geoIntersects - protínání$geoWithin - obsahuje$nearSphere – v blízkosti (max-min dist.)

http://mongogis.com/

www.geoinformatics.upol.cz

MongoDB

Příklad

www.geoinformatics.upol.cz

Kdy použít MongoDB?

• Potřebuji ukládat spoustu dat• Pro hodně uživatelů• … a rychle• Potřebuji jen jednoduché vyhledávání• Mám možnost MongoDB nainstalovat na

server• Máte někoho kdo to naprogramuje

www.geoinformatics.upol.cz

Vektororové dlaždice

www.geoinformatics.upol.cz

Vektory ve webových mapách

• S vývojem výkonu Javascriptu v prohlížečích se vektorová data objevují v prohlížeči častěji a častěji

• Kromě bodů také polygony i linie• Viz workshop z roku 2013:

http://statgis.upol.cz/konference/statgis2013– Prezentace ke stažení

www.geoinformatics.upol.cz

Vektory ve webových mapách

• Problém je s velkými datasety, které se musí nejprve celé stáhnout – problém

• WFS je pouze částečné řešení • Řešení: to co funguje u rastrů

DLAŽDICE!

www.geoinformatics.upol.cz

Vektory ve webových mapách

• Stejné schéma jako u rastrů– Každý zoom může

mít jiný LOD– Jednoznačné určení:

/{z}/{x}/{y}.json– „lazy loading“

• Nesou stejné informace jako klasický GeoJSON

www.geoinformatics.upol.cz

Vektory ve webových mapách

• Nejednotný přístup• Neexistuje standard OGC

„Vector tiles are one of the current hot topics among the whole community that have been extensively discussed at the Code Sprint. (spring 2014)A specification draft has been prepared and will be discussed further.“

– Anne Ghisla

• Není to tak jednoduché jak s rastry…– Je potřeba větší podpora klientů

• Vznikají (zatím) nestandardizované implementace

www.geoinformatics.upol.cz

Vektorové dlaždice

– ESRI (closed-source)

– Google (closed-source)

– MapBox – OSM (open-source)• https://github.com/mapbox/vector-tile-spec/wiki/Implementations• http://wiki.openstreetmap.org/wiki/PBF• Protocol Buffers (aka protobuf /pbf)• Slovníkově ukládané atributy (zamezuje redundanci)• Delta-encoding geometry (úspora cca 30% místa)• Binární ukládání a přenos• Celý svět (OSM data) se ve formátu PBF má okolo 25GB

www.geoinformatics.upol.cz

Vektorové dlaždice - GeoJSON

• Jednodušší (čitelnější) varianta• Náročnější na data a rychlost než PBF• Existuje i TopoJSON varianta

• Server– Mapnik + PostGIS– Tilestache + PostGIS– MMT vector tiles (python - offline)

• Klient: Leaflet (Plugin), OL3

www.geoinformatics.upol.cz

Vektorové dlaždice - GeoJSON

Příklad

www.geoinformatics.upol.cz

Vektorové dlaždice - GeoJSON

• HW:– Raspberry Pi– ARM procesor 700MHz, 512MB RAM– 16GB SD karta, spotřeba cca 1W– Cena: cca 850Kč– Linka: O2 ADSL – upload cca 512kb/s

• SW:– Raspbian (Debian)– Server PostgreSQL + PostGIS– Ruian DATA - okresy– Tilestache

www.geoinformatics.upol.cz

Ondřej Růžička@ondrejruzicka

www.ondrejruzicka.cz

Freelancer & DevMap s.r.o.

Děkuji za pozornost

top related