31
Google Maps Projection And how to use it for clustering

Google Maps Projection, and how to use it for clustering

Embed Size (px)

DESCRIPTION

How Google presents the world with Google Maps, and what problems and opportunities that brings to developers. Offers an introduction to map projections and their consequences.

Citation preview

Page 1: Google Maps Projection, and how to use it for clustering

Google Maps Projection

And how to use it for clustering

Page 2: Google Maps Projection, and how to use it for clustering

Me = Lode Blomme

Software Engineer @ RouteYou

Blog: http://blog.lodeblomme.be

Twitter: http://twitter.com/lodeblomme

LinkedIn: http://www.linkedin.com/in/lodeblomme

Page 3: Google Maps Projection, and how to use it for clustering

RouteYou

Products :

• Community website: http://www.routeyou.com

• Online recreational route planning

• Maps for outdoor navigation for Garmin devices

Elevator Pitch : http://www.techcrunch.com/2008/10/24/elevator-pitch-friday-routeyou-makes-it-easy-to-find-the-perfect-driving-hiking-or-biking-route/

Page 4: Google Maps Projection, and how to use it for clustering

GOOGLE

I presume everybody knows Google?

Page 5: Google Maps Projection, and how to use it for clustering

MAP PROJECTION

Any method of representing the surface of a sphere on a plane

Page 6: Google Maps Projection, and how to use it for clustering

Map Projection

(pseudo)cylindrical

(pseudo)conical

azimuthal

hybrid

Page 7: Google Maps Projection, and how to use it for clustering

AREASHAPEDIRECTIONBEARINGDISTANCE SCALE

Map projections can preserve one or more of the earth's properties, though not all of them simultaneously

Page 8: Google Maps Projection, and how to use it for clustering

Lambert Conformal Conic Projection

Page 9: Google Maps Projection, and how to use it for clustering

Cylindrical Projection

Page 10: Google Maps Projection, and how to use it for clustering

Cylindrical Equal-Area Projection

Page 11: Google Maps Projection, and how to use it for clustering

Mercator Projection

Page 12: Google Maps Projection, and how to use it for clustering
Page 13: Google Maps Projection, and how to use it for clustering

Google Maps : Zoom Level 0

256 px

256 px

Page 14: Google Maps Projection, and how to use it for clustering

Google Maps : Zoom Level 1

512 px

Page 15: Google Maps Projection, and how to use it for clustering

Google Maps : Zoom Level 1

Page 16: Google Maps Projection, and how to use it for clustering
Page 17: Google Maps Projection, and how to use it for clustering

Google Maps : Zoom Levels

0 • 1 tile (2(0*2)) 256 x 256 pixels = 65 536 pixels

1 • 4 tiles (2(1*2)) 512 x 512 pixels = 262 144 pixels

2 • 16 tiles (2(2*2)) 1024 x 1024 pixels = 1 megapixel

...

17 • 17 179 869 184 tiles (2(17*2)) 33.5 x 33.5 megapixels = 1 122 megapixels

...

19 • 274 877 906 944 tiles (2(19*2)) 134 x 134 megapixels = 18 000 megapixels

Page 18: Google Maps Projection, and how to use it for clustering

COORDINATE SYSTEMS

Assigning an n-tuple of numbers to each point in an n-dimensional space

Page 19: Google Maps Projection, and how to use it for clustering

Spherical Coordinate System

Page 20: Google Maps Projection, and how to use it for clustering

Cartesian Coordinate System

Page 21: Google Maps Projection, and how to use it for clustering

WGS 84 PIXELS

Everybody knows WGS 84 and pixels

Page 22: Google Maps Projection, and how to use it for clustering

Mercator Projection : The Math

$x =

($radius * deg2rad($lon)) - $falseEasting

$y =

(($radius / 2.0 * log((1.0 + sin(deg2rad($lat))) / (1.0 -sin(deg2rad($lat))))) - $falseNorthing) * -1

Page 23: Google Maps Projection, and how to use it for clustering

Radius

256 px

256 px

$tiles = pow(2, $zoom); $circumference = 256 * $tiles;$radius = $circumference / (2 * pi());

Page 24: Google Maps Projection, and how to use it for clustering

Radius

512 px

Page 25: Google Maps Projection, and how to use it for clustering

False Easting & False Northing

256 px

256 px

$falseEasting = -1.0 * $circumference / 2.0;$falseNorthing = $circumference / 2.0;

Page 26: Google Maps Projection, and how to use it for clustering

False Easting & False Northing

X : 0Y : 0

X : 1Y : 0

X : 0Y : 1

X : 1Y : 1

Page 27: Google Maps Projection, and how to use it for clustering

CLUSTERING

Partitioning of a data set into subsets, in which the data share some common trait - often proximity according to some defined distance measure

Page 28: Google Maps Projection, and how to use it for clustering
Page 29: Google Maps Projection, and how to use it for clustering

HAPPY ENDING

I thought we had a moment there

Page 30: Google Maps Projection, and how to use it for clustering

Scale

Page 31: Google Maps Projection, and how to use it for clustering

Scale