View
50
Download
4
Category
Preview:
DESCRIPTION
Workshop presentation from Third InDOG Doctoral Conference in Olomouc, Czech Republic. 13. - 16. October 2014
Citation preview
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
Recommended