gdal & webgl: european commission, joint research center, ispra

104
Research & Development with WebGL, Closure, GDAL & MapRank Joint Research Centre - European Commision, November 22, Ispra, Italy. Petr Pridal <[email protected] >

Upload: petr-pridal

Post on 05-Dec-2014

1.307 views

Category:

Technology


5 download

DESCRIPTION

Research & Development with WebGL, Closure, GDAL & MapRank.

TRANSCRIPT

Page 1: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Research & Development with WebGL, Closure, GDAL & MapRank

Joint Research Centre - European Commision, November 22, Ispra, Italy.

Petr Pridal <[email protected]>

Page 2: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 3: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 4: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Closure ToolsWebGL Earth

MapTiler ClusterGDAL2Tiles on steroids. GeoSearch with ranking.

3D digital globe. JavaScript Toolset.

Page 5: GDAL & WebGL: European Commission, Joint Research Center, Ispra

WebGL EarthFree and open source 3D digital globe

for web and mobile devices

!

beta

Page 6: GDAL & WebGL: European Commission, Joint Research Center, Ispra

HTML5 & WebGL

• HTML5 <canvas> WebGL extension

• Based on OpenGL ES

• Supported by NVidia, ATI, Intel on desktop

• HW acceleration on mobile devices

• Firefox 4+, Chrome 9+, Opera, Safari

• Internet Explorer: with Chrome Frame

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 7: GDAL & WebGL: European Commission, Joint Research Center, Ispra

WebGL: Shaders in GLSL

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 8: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 9: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 10: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 11: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 12: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096Inspired by OpenLayers.Layer.GoogleNG(done by Andreas Hocevar)

Compliant to Google TOS?

Page 13: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Try the demo application:

www.webglearth.comKLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 14: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Mission of the project

• User friendly (dragging, zooming, ...)

• Keep it simple & maximally web oriented

• Raster data from prerendered tiles, WMS, existing tile APIs and TileCache, GeoServer...

• “NoServer” = o!ine usage & cloud

• Calculations from CPU to GPU. Preprocess!

• Open-Source (GPLv3), Community powered

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 15: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Open Source project

• Simple JavaScript API

• Embed <script src=“...../api.js”>

• Mashup with your own tiles, custom WMS, overlays, markers and popups

• The full codebase + demo app sources on GitHub, object oriented, documented code, manual describing internals available

• Contributors: KlokanTech, CampToCamp, AI2 Spain, BIMServer.org, NOAA

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 16: GDAL & WebGL: European Commission, Joint Research Center, Ispra

JavaScript API: Demo

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 17: GDAL & WebGL: European Commission, Joint Research Center, Ispra

JavaScript API

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

• Embedding of the 3D globe

• Custom base maps and overlays with adjustable transparency (tiles + WMS)

• Camera API, flyTo, bbox

• User interaction and events

• Markers & popups

• <canvas> is part of HTML DOM

Page 18: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 19: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 20: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Codebase: we, weapp

• Demo application (www.webglearth.com) completely open-source, API exports too

• Compiled with Closure Compiler with types: http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html

• Documented (google style guideline)

• Technically, anything is possible :-)

• Manual describing the implementation details: http://data.webglearth.com/doc/

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 21: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 22: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Object hierarchy

Page 23: GDAL & WebGL: European Commission, Joint Research Center, Ispra

“Keep it simple” design

• Sphere with diameter 1.0

• WGS84 coordinates used without ellipsoid transformation (a la Google Maps, OSM, etc.)

• Textures in Spherical Mercator (EPSG:3857, EPSG:900913)

• Clip stack for megatextures with lookup

• Segmented plane as the model

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 24: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Segmented plane

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 25: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Terrain

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 26: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 27: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 28: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Vector data (direct rendering)

• Now: rasterized only (WMS, tiles with Mapnik, ...). Raster tiles must be there for aerial data.

• Future: direct rendering (from GeoJSON, KML, WFS, ...)

• Sharing code for loading data formats with OpenLayers 3, Leaflet, Polymaps?

• Vector Tiles - Google MapsGL

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 29: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Future: Google MapsGL

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 30: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Future: Mobile devices

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 31: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Problems: drivers + CORS

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

• Long list of blacklisted graphic cards

• June 2011: Introduced restrictions on cross-domain textures for WebGL :-(

• CORS HTTP Header: Access-Control-Allow-Origin: *

• http://enable-cors.org/ or chrome --disable-web-security

• Support only in Chrome 15+ (beta), Firefox 8 (11/2011)

• Workaround for now: HTTP proxy

• Tiles hosted on your own server runs always!

Page 32: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Try it: 10 minut cookbook

• JavaScript API: check examples

• Prepare data (one of):

• WMS / TMS / WMTS in EPSG:900913

• Convert any GeoTIFF with GDAL2Tiles / MapTiler

• Copy everything on your web server

• Display in any modern web browser

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 33: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Support, open-source contracted development:Klokan Technologies: http://www.klokantech.com/

Try it at:http://www.webglearth.com/

Project website, mailing-list, documentation:http://www.webglearth.org/

Plans for integration with OpenLayers 3.0

Page 34: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Closure ToolsWebGL Earth

MapTiler ClusterGDAL2Tiles on steroids. GeoSearch with ranking.

3D digital globe. JavaScript Toolset.

Page 35: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Closure ToolsOpenSource JavaScript Toolset

developed by Google Inc.

"

Page 36: GDAL & WebGL: European Commission, Joint Research Center, Ispra

"

Compiler LibraryTemplates Linter Stylesheets JS Test

http://code.google.com/closure/

(Coding Style Guidelines)

Page 37: GDAL & WebGL: European Commission, Joint Research Center, Ispra

It is all about compiler...

1. Compiles readable JavaScript into compressed machine-readable JavaScript: dead code removal, function inlining, etc.

2. JSDoc Tags: typos, wrong use of a @constructor, wrong type of a variable, misuse of a field annotated with @private and @protected, etc.

3. A reusable JavaScript library, such as OpenLayers, exports public API - and the compiler optimizes the internal code.

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

http://goo.gl/H6twe

Page 38: GDAL & WebGL: European Commission, Joint Research Center, Ispra

It is all about compiler...

4. Unused parts of the library stripped. Application dependencies solved during compilation.

5. Constants to remove unwanted functionality: Mobile WebKit only, no Quirks mode support, compilation without support of IE6

6. Debugging with FireBug possible even for the compiled version

7. Dynamically loadable modules, additional functionality loaded only when required.

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

http://goo.gl/H6twe

Page 39: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Hello world

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

goog.require('goog.dom');

function sayHi() {  var newHeader = goog.dom.createDom('h1', {'style': 'background-color:#EEE'},    'Hello world!');  goog.dom.appendChild(document.body, newHeader);}

goog.exportSymbol('sayHi', sayHi);

Page 40: GDAL & WebGL: European Commission, Joint Research Center, Ispra

How to start?

• Easiest is to get plovr - where all the tools are packed into one .jar application.

• Run java -jar plovr.jar serve config.json and use it with HTML as <script src="http://localhost:9810/compile?id=hello"></script>

• Plovr: Hello world + skeletons at GitHub: https://github.com/klokantech/closure-library-plovr-hello-world-skeletons/

• Closure Library websites: http://code.google.com/closure/library/

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 41: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 42: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Where it excels?

• Complex online applications - any serious work done in JS

• More developers working on the same code

• High peformance app + mobile apps

• Libraries and APIs

• :-( no fast copy & paste hacking

• :-( steep learning curve, smaller community

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 43: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Read more at:http://code.google.com/closure/

Plovr.jar - the “packed” toolset:http://plovr.com/

The book: Closure Library, The Definitive Guide

Blog post: http://goo.gl/H6twe

Page 44: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Closure ToolsWebGL Earth

MapTiler ClusterGDAL2Tiles on steroids. GeoSearch with ranking.

3D digital globe. JavaScript Toolset.

Page 45: GDAL & WebGL: European Commission, Joint Research Center, Ispra

#

GDAL2Tiles on steroids.

MapTiler Cluster

Page 46: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 47: GDAL & WebGL: European Commission, Joint Research Center, Ispra

• MapTiler is an application for rapid online map publishing

• Input: raster geodata (GeoTIFF, JPEG2000, MrSID, ECW, Erdas HFA, BSB, ...). Output: jpeg/png tiles

• Support for existing georeference (World Files, WKT, EPSG,...). Transformation (warping) of projections possible.

• Standards: OSGEO Tile Map Service Specification - TMS, comming OGC WMTS:

• Web viewers (OpenLayers, Google Maps API) + applications

• KML files (Google Earth)

• iPhone + iPad + Android native applications

• ArcGIS - with extensions (ArcBruTile). 10.1+ native WMTS support

MAPTILER - WHAT IS IT?

Page 48: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 49: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 50: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 51: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 52: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 53: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 54: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 55: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 56: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 57: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 58: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 59: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 60: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 61: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 62: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 63: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 64: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 65: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 66: GDAL & WebGL: European Commission, Joint Research Center, Ispra

GOOGLE MAPS OVERLAY DEMO

Page 67: GDAL & WebGL: European Commission, Joint Research Center, Ispra

OPENLAYERS DEMO

Page 68: GDAL & WebGL: European Commission, Joint Research Center, Ispra

GOOGLE EARTH DEMO

Page 69: GDAL & WebGL: European Commission, Joint Research Center, Ispra

MAP TILER GENERATES TILES:

Page 70: GDAL & WebGL: European Commission, Joint Research Center, Ispra

NECESSARY TRANSFORMATIONS AND WARPING

GEODETIC COORDINATESLATITUDE LONGITUDEWGS 84 (EPSG:4326)

SPHERICAL MERCATORMETERS

EPSG:3785 / EPSG:900913

PYRAMID COORDINATESXYZ PIXELS / ZOOM

WEB VIEWERS

TILE INDEXXYZ TILE / ZOOM

TILE MAP SERVICE

Page 71: GDAL & WebGL: European Commission, Joint Research Center, Ispra

SPHERICAL MERCATOR:TILE PROJECTION AND COORDINATES

NOT ONLY IN GOOGLE MAPS!

• Popular on the web: Google Maps, Microsoft Bing Maps, Yahoo Maps, OpenStreetMap, ...

• Lat/Long WGS84 (GPS devices) datum coordinates always displayed to users - KML

• Map rasters are projected by a global Mercator projection: “Spherical Mercator”. EPSG:900913 / EPSG:3857 (meters)

• Conformal, cylindrical. Cropped to square (maximal latitude ~ 85.05 degrees), WGS84 ellipsoid is sphere!

Page 72: GDAL & WebGL: European Commission, Joint Research Center, Ispra

OPEN-SOURCE ALTERNATIVES: PREGENERATING X CACHING TILES

• Generating from raster input:

• MapTiler & GDAL2Tiles

• MSR MapCruncher

• Generating from features (vectors)

• Mapnik

• GMapCreator,

• ...

• Caching tiles from WMS servers (MapServer, GeoServer):

• TileCache.org (Python)

• GeoWebCache.org (Java Servlet)

• Commercial alternatives

• License per server (ArcGIS Server)

Page 73: GDAL & WebGL: European Commission, Joint Research Center, Ispra

EXTREMELY FAST ONLINE MAPSFOR THOUSANDS OF PEOPLE

• Easy hosting: only static files / or raster blobs in a database

• Extremely fast delivery, highest-quality output possible (you have more time for rendering), SLA for up to 99.99% availability

Page 74: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Our software is used ...

• ... in: web applications, mashups, native mobile applications (iPhone/iPad/Android), hardware appliances and 3D visualizations

• ... for: standard base maps, aerial imagery, coverage maps, thematic maps, marine navigation, by pilots in airplains, on the ground during disaster events, ...

• ... by: Google, NOAA, NASA, CERN, Vodafone, T-Mobile, Orange, Three, United Nations, and thousands of developers

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 75: GDAL & WebGL: European Commission, Joint Research Center, Ispra

PARALLELIZED RENDERING:MAPTILER CLUSTER

• Parallelized rendering on Multi-Core processors or even on computer clusters (Amazon EC2 supported)

• Speed-up the rendering on modern computers

• Rendering on a computer cluster (Amazon EC2) - price: 0.1 USD / hour / core

• Publishing of tiles on a world-wide CDNs (Amazon S3/CloudFront, Google App Engine, Azure, SimpleCDN) - fast multi-threaded upload for tiles possible

•Merging of huge raster datasets into a seamless map a la Google Maps on a computer cluster:

• Fast parallelized rendering and merging of large data collections

• Cluster parallelization based on MPI

• Test of MapReduce approach (via Nokia labs Disco project) for cl

ients

Page 76: GDAL & WebGL: European Commission, Joint Research Center, Ispra

MapTiler Cluster vs GDAL2Tiles

• Fast rendering: multi-core CPU & MPI cluster

• Direct merging of several input files

• Excellent visual quality

• Heavily optimized PNGs/JPEGs tiles to speed up the delivery and save disk space

• Precise "data over-zooming"

• Various coordinate systems supported

for cl

ients

Page 77: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 78: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 79: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 80: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 81: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 82: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 83: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 84: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 85: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 86: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 87: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Runs under Windows, Linux and Mac OS X + GDAL2Tiles

You can try it on the FOSS4G LiveDVD!

Community: MapTiler User Group

[email protected]

MapTiler Cluster, commercial support, integration, customization

http://www.maptiler.com/

WWW . MAPTILER . ORG

Page 88: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Closure ToolsWebGL Earth

MapTiler ClusterGDAL2Tiles on steroids. GeoSearch with ranking.

3D digital globe. JavaScript Toolset.

Page 89: GDAL & WebGL: European Commission, Joint Research Center, Ispra

$

Geosearch with ranking.

Page 90: GDAL & WebGL: European Commission, Joint Research Center, Ispra

• Research, scientific articles, work on Ph.D. thesis (Petr Přidal), Computer Science + Geodesy and Cartography

• Alternative projects tested in OldMapsOnline.org (R&D project in MZK):

• Lucene with GeoTemporal Ext. (LGTE) from DigMap.eu

• Alexandria Digital Library

• TimeMap.net (ECAI.org)

• Google GeoSearch API

• Knowledge of traditional GIS search methods (PostGIS, ...)

GEOGRAPHICAL SEARCHING

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Result: Development of a new geographical search engine for map collections.

Page 91: GDAL & WebGL: European Commission, Joint Research Center, Ispra

• Map-driven interface: Simple. Intuitive. Web 2.0. Users love it!

• Combined queries: Where, When, Who & What

• Results sorted geographically with an advanced spatial ranking algorithm.

• Instant search. Immediate delivery of the results by moving the map or typing.

• It is fast. Even for large databases (million+ records).

CORE FEATURES

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 92: GDAL & WebGL: European Commission, Joint Research Center, Ispra

• Indexing metadata in MARC, DublinCore, ISO 19139 formats, ...

• Batch import or harvesting: OAI-PMH or OGC CWS

• Numerical geographical boundaries necessary! (MARC 034, DublinCore DCMI) - enrichment with Geoparser or Georeferencer tools

• Possible customization of the user interface, integration into products or websites

• For developers: REST API (JSON format), queries following OpenSearch.org

METADATA & CUSTOMIZATION

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 93: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Try it at: http://demo.mapranksearch.com/

Page 94: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Try it at: http://rumsey.mapranksearch.com/

Page 95: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Try it at: http://mapy.mzk.cz/

Page 96: GDAL & WebGL: European Commission, Joint Research Center, Ispra

TOUCH INTERFACE

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 97: GDAL & WebGL: European Commission, Joint Research Center, Ispra

• MapRank ranking: an advanced algorithm calculating similarity of geographical area of query and area covered by every document and combining it with map scale, time range, predefined categories and traditional full text search.

• Data indexing implemented specifically to provide ranked real-time results even for large databases. Traditional R-Tree indexing or Lucene are failing.

• Server component: FastCGI, C++

• Default user interface developed with Closure JavaScript Library + Closure Compiler.

MAPRANK RANKING & SCALABILITY

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 98: GDAL & WebGL: European Commission, Joint Research Center, Ispra

Geoparser

Text parsing and semi-automatic assignment of bounding boxes to map records with detectable geonames (gazetteer), known physical size and map scale.

Georeferencer

Crowdsourced georeferencing. Higher accuracy, more outputs beside geometadata such as visualization, 3D view, comparing of maps, OGC WMS for use in GIS.

ENRICHMENT OF METADATA

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Page 99: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 100: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 101: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 102: GDAL & WebGL: European Commission, Joint Research Center, Ispra
Page 103: GDAL & WebGL: European Commission, Joint Research Center, Ispra

WWW.MAPRANKSEARCH . COM

Page 104: GDAL & WebGL: European Commission, Joint Research Center, Ispra

KLOKAN TECHNOLOGIES - Museo Sans 500

KLOKAN TECHNOLOGIES - Museo Sans 500 ItalicKLOKAN TECHNOLOGIES - Museo Sans 700

KLOKAN TECHNOLOGIES - Museo 300

KLOKAN TECHNOLOGIES - Museo 500KLOKAN TECHNOLOGIES - Museo 700

CMYK100 75 10 0

RGB0 81 151

#005096

Petr Pridal <[email protected]>

Thank you!Questions, ideas?

Cooperation on OpenSource and R&D?Coding week for OpenLayers3 & WebGL Earth?Interest in applications of MapTiler / MapRank?