I want a nice map

42
I want a nice map ! Plone Conference 2012 Eric Brehault @ebrehault www.makina-corpus.com

description

GoogleMaps is a very easy way to add a map into your Plone site, but it is so boring to see the very same GMap style everywhere. If you want to create light and sexy maps, and you are not a GIS expert, then discover new tools like TileMill, Leaflet, ModestMap, Polymaps, or Kartograph. By Eric Brehault @ebrehault - PloneConf2012

Transcript of I want a nice map

Page 1: I want a nice map

I want a nice map !Plone Conference 2012Eric [email protected]

Page 2: I want a nice map

A map is a piece of information

Le Monde Diplomatique Sept. 2012 – Philippe Rekacewicz

What is a map?

Page 3: I want a nice map

User interactions can be usefulWhat is a map?

Page 4: I want a nice map

But visitors are not the ones who need to build a map,they just need to read it.

What is a map?

100% Flash !

Page 5: I want a nice map

● Keep it simple,

● Make it nice and efficient by itself,

● Do not expect a bunch of gadgets will make it clearer or better.

How to create a map ?

Page 6: I want a nice map

As a Plone developer, what were your options so far?

● OpenLayers (with collective.geo.*)

● Google Maps API (with Products.Maps)

How to create a map ?

Page 7: I want a nice map

● Built by GIS experts for GIS experts,● Extremely rich feature set,● Usually about 1 MB of JavaScript,● Does not play nice with mobile devices,● Supports all the OGC standards and protocols

(WMS, WFS... known as W*S).

OpenLayers

Page 8: I want a nice map

The W*S approach

Hello, what kind of GIS services do you provide?

Good, I would like this map, which projections do you offer?

I can produce this list of maps

Oh quite a lot, what about this very specific projectionwhich is ideal for the North-West of Kazakhstan?

Page 9: I want a nice map

The W*S approach

Sounds terrific, could you send me the square (x0, y0, x1, y1)?

Hey, did you watch the game yesterday?

Sure, as GIF or PNG?

No, he had to stop for a few months, because he broke his leg.

Yes, it was nice. Do your son still play football?

Page 10: I want a nice map

The W*S approach

What about a barbecue next week?

Hmm... and regarding the image we talked about?

Fantastic, let's do that !

Ooops, sorry, here is it.

Page 11: I want a nice map

Why?“To improve interoperability”

OK, but this is not how the Web works.

The W*S approach

Page 12: I want a nice map

The standard Web approach

<img src=”http://tiles.myserver.com/{zoom}/{x}/{y}.png” />

Page 13: I want a nice map

Conclusion:

Let's occupy W*S !!

The W*S approach

Page 14: I want a nice map

Google Maps:● looks good,● is fast,● triggered a fantastic revolution in the Web mapping domain.

But Google Maps...

Google Maps

Page 15: I want a nice map

… is so boring.

Everybody has the very same map !

OK, not always the same: there are 3 different default styles

Google Maps

Page 16: I want a nice map

Many usage restrictions:● Offline mode,● Mass geocoding,● Non-public usage (intra/extranet),● Commercial usage,● etc.

Google Maps

Page 17: I want a nice map

New JavaScript libraries:Smaller – Faster – Easier

New ways to produce maps:No GIS server – Tiles – CSS

New hopes

Page 18: I want a nice map

40 Ko – Fast – Mobile compliant – Old browser support

No interaction but excellent for mini maps.

Very very easy to use (with htmapl.js):<div class="map"

data-center="51.982924,5.913906"

data-zoom="13" />

ModestMaps

Page 19: I want a nice map

ModestMaps

Page 20: I want a nice map

32 Ko – Fast – GeoJSON / SVG

collective.geo.polymaps by Christian Ledermann

● Straightforward to customize● Style with CSS

Polymaps

Page 21: I want a nice map

Polymaps

Page 22: I want a nice map

60 Ko – Pure SVG - CSS

A complete chain:● Kartograph.py converts GIS resources into SVG (possibly 3D)● Kartograph.js displays it

Kartograph

Page 23: I want a nice map

Kartograph

Page 24: I want a nice map

90 Ko – Fast - Mobile compliant – Old browser support – Completecollective.js.leaflet

● Simple API● GeoJSON● Very active project, with lot of plugins (editor toolbar, Google

layers, projections...)

Leaflet

Page 25: I want a nice map

Leaflet

Page 26: I want a nice map

Leaflet

Page 27: I want a nice map

Leaflet

Page 28: I want a nice map

Leaflet

Page 29: I want a nice map

Leaflet

Page 30: I want a nice map

Leaflet

Page 31: I want a nice map

Leaflet

Page 32: I want a nice map

You need a base layer, what can it be?

● GoogleMapssuch a cliché

OpenStreetMapdoes not look very good, does it?

What about the data?

Page 33: I want a nice map

Actually, OpenStreetMap is not a map.

It is a database.

And you can use this database to produce you own maps.

OSM is not a map

Page 34: I want a nice map

● TileMill: a CSS-oriented design studio

● MBUtil and Landez: utilities to produce tiles

DEMO

Produce your own tiles

Page 35: I want a nice map

TileMill

Page 36: I want a nice map

TileMill

Page 37: I want a nice map

TileMill

Page 38: I want a nice map

Unified colors theme

Page 39: I want a nice map

And if you are gifted

Island by Konstantin Käfer - MapBox

Page 40: I want a nice map

And if you are gifted

Pirate map by AJ Ashton - MapBox

Page 41: I want a nice map

And if you are gifted

Watercolor by Stamen Design

Page 42: I want a nice map

www.makina-corpus.com