jawg maurice vs google maps

35
© Copyright 2016 Jawg 1 Jawg Full control of your maps http://jawg.io

Upload: loic-ortola

Post on 08-Jan-2017

177 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Jawg   maurice vs google maps

©Copyright2016Jawg 1

Jawg

Full control of your maps

http://jawg.io

Page 2: Jawg   maurice vs google maps

©Copyright2016Jawg 2

Who is Maurice?

Page 3: Jawg   maurice vs google maps

©Copyright2016Jawg 3

Maps before

Maurice knows maps have changed

Page 4: Jawg   maurice vs google maps

©Copyright2016Jawg 4

Maps today

Page 5: Jawg   maurice vs google maps

©Copyright2016Jawg 5

Ask Maurice about mapping platforms

He will tell you about Google because : • Well… It’s famous •  It’s rock solid •  It’s free (or so he thinks)

Page 6: Jawg   maurice vs google maps

©Copyright2016Jawg 6

Until one day…

Page 7: Jawg   maurice vs google maps

©Copyright2016Jawg 7

Any viable alternatives to Google?

• Probably the best alternative around is OpenStreetMap.

• Openstreetmap is a foundation Which purpose is to create and maintain a beautiful database of the world. Which purpose is NOT to be serving businesses.

• Many Opensource tools to make beautiful maps

… Without any business support ... With no roadmap or guarantee

Facing the effort and the risks, companies usually play safe and will rather go with Google.

Page 8: Jawg   maurice vs google maps

©Copyright2016Jawg 8

B-I-N-G-O

Page 9: Jawg   maurice vs google maps

©Copyright2016Jawg 9

Jawg

Maps, and more.

http://jawg.io

Page 10: Jawg   maurice vs google maps

©Copyright2016Jawg 10

Our first day at Jawg

Page 11: Jawg   maurice vs google maps

©Copyright2016Jawg 11

https://switch2osm.org/serving-tiles/manually-building-a-til

e-server-14-04/

https://github.com/mapnik/mapnik/wiki

http://wiki.openstreetmap.org/wiki/Mod_tile

https://github.com/openstreetmap/mod_tile/blob/master/renderd.conf

https://github.com/openstreetmap/osm2pgsql/blob/master/README.md

http://wiki.openstreetmap.org/wiki/Osmosis/Replication

https://wiki.debian.org/OSM/tileserver/jessie

https://github.com/mapbox/carto/blob/master/README.md

http://wiki.openstreetmap.org/wiki/FR:Nominatim

http://osmose.openstreetmap.fr/fr/Our second day at Jawg

Page 12: Jawg   maurice vs google maps

©Copyright2016Jawg 12

What we would have liked to know

• What is a map? • What is a map-server? • Why is it much more complicated than it seems?

Page 13: Jawg   maurice vs google maps

©Copyright2016Jawg 13

1. What is a map?

Page 14: Jawg   maurice vs google maps

©Copyright2016Jawg 14

1. What is a map?

“Digital Maps” are usually made of 4 services • Geocoding • Routing • Maps (Background) • Custom data (Your POIs)

Page 15: Jawg   maurice vs google maps

©Copyright2016Jawg 15

1. What is a map?

MapofParisscale1:15000(zoom15)World:70trillionpixels

Page 16: Jawg   maurice vs google maps

©Copyright2016Jawg 16

1. What is a map?

MapofParisscale1:15000(zoom15)World:1billionJles256x256pixels

Page 17: Jawg   maurice vs google maps

©Copyright2016Jawg 17

1. What is a map?

Zoom 0Scale 1:500 Million

Zoom 1Scale 1:250 Million

Page 18: Jawg   maurice vs google maps

©Copyright2016Jawg 18

1. What is a map?

Render up to Zoom 19: Sum of tiles from zoom 0 to 19: (4^20) - 1 S = ------------- ~= 366 billion tiles 3

Page 19: Jawg   maurice vs google maps

©Copyright2016Jawg 19

1. What is a map?

Page 20: Jawg   maurice vs google maps

©Copyright2016Jawg 20

2. The purpose of a map-server

Page 21: Jawg   maurice vs google maps

©Copyright2016Jawg 21

2. The purpose of a map-server

• Draw your future map (roads, waterareas etc…)

• Handle storage & caching

• Handle import strategy

Page 22: Jawg   maurice vs google maps

©Copyright2016Jawg 22

2.1. Draw me a map

•  Input: Need for “drawing” rules •  By scale •  Depending on the desired look

• Output: Use of a rendering library

•  Fetches relevant data into Database •  Cuts out and handles map clipping to draw a nice tile

• Takes time, heavy on computation resources •  A few ms to several minutes of rendering •  CPU, memory & I/O bound

Page 23: Jawg   maurice vs google maps

©Copyright2016Jawg 23

2.1. Draw me a map

•  100s of Gigabytes of geo-data è need critical optimizations … on the DB

•  Queries / Indexation / Partitioning-Sharding / Tuning •  Optimize model for rendering purposes vs query purposes •  Simplified Shapes & Polygons depending on scale

… on the style •  Do I really need to draw your house at zoom level 12? •  Do I need to render trees one by one?

… on requests •  Why ask for 25 tiles next-to-another rather than one bigger tile?

Page 24: Jawg   maurice vs google maps

©Copyright2016Jawg 24

2.2. In summary

• Pre-computing tiles for all zoom levels is not an option. •  It would take an infinite time •  We would have to start over on every update •  It takes lots of (unused) space

• Need for performant caching and pre-render strategies

• Every improvement has a cost •  Render tiles by bloc (meta-tiles) optimizes the use of DB

sockets and I/O, but drastically lowers efficiency.

Page 25: Jawg   maurice vs google maps

©Copyright2016Jawg 25

3. Tile Storage and caching

• Average tile size: 633 bytes è  How to efficiently store those tiles in cache?

• A map view ó between 12 and 48 tiles è  How to optimize I/O reads when accessing cached data?

Page 26: Jawg   maurice vs google maps

©Copyright2016Jawg 26

3. Tile Storage and caching

è Store multiple contiguous tiles together (in the same file). This is the concept of a meta-tile.

è https://github.com/jawg/map-meta-tile-spec

*inspired by mod_tile

Page 27: Jawg   maurice vs google maps

©Copyright2016Jawg 27

4. (Re-)import data

Import = An archive to import into a database + Heavy optimizations to convention / optimize data for fast querying & rendering

• Timeframe: a full earth import can take several hours / tens of hours.

è Be cautious about the update strategy (frequency, diffs) è Be cautious about the cache invalidation strategy

Page 28: Jawg   maurice vs google maps

©Copyright2016Jawg 28

Jawg Wrap-up

Take control of your maps

Page 29: Jawg   maurice vs google maps

©Copyright2016Jawg 29

Page 30: Jawg   maurice vs google maps

©Copyright2016Jawg 30

B2B / B2B2C maps

Page 31: Jawg   maurice vs google maps

©Copyright2016Jawg 31

B2B / B2B2C maps

Page 32: Jawg   maurice vs google maps

©Copyright2016Jawg 32

Mobile apps / Augmented Reality

Page 33: Jawg   maurice vs google maps

©Copyright2016Jawg 33

We provide…

1.  Scalable SaaS maps: on our datacenters (partnership with OVH) on your servers (offline / intranet / secure / indivitual property)

2.  Expertise, integration & help for the setup of your own map services on-premises.

3.  Licenses & business support of jawg scalable products for third-party businesses •  Modular Map-server, fully scalable & meta-tile-aware •  Map load-balancer •  Storage API & POI Manager

Page 34: Jawg   maurice vs google maps

©Copyright2016Jawg 34

Our strong values

• Taylor-made: Web & mobiles maps, to your colors

•  Independence: • on-premises • packageable in your B2B / B2C products

• Unlimited: • native Android & iOS SDKs • cache / offline mode / indoor / multi-level • shared-source

Page 35: Jawg   maurice vs google maps

©Copyright2016Jawg 35

Thanks for your attention!

Loïc Ortola [email protected] @jawgio http://jawg.io http://github.com/jawg

?