Slide 1

Slide 1 text

Geospatial Indexing Ryan Fischer @ryanfischer20 Tuesday, November 15, 11

Slide 2

Slide 2 text

What is covered The most amazing slides ever to be displayed Getting Started with Geospatial Indexing A real live working session of the most amazing code How many times I say ‘um’ Tuesday, November 15, 11

Slide 3

Slide 3 text

geospatial Tuesday, November 15, 11

Slide 4

Slide 4 text

simple Tuesday, November 15, 11

Slide 5

Slide 5 text

SQL SELECT * FROM Places WHERE acos(sin(1.3963) * sin(Lat) + cos(1.3963) * cos(Lat) * cos(Lon - (-0.6981))) * 6371 <= 1000; Tuesday, November 15, 11

Slide 6

Slide 6 text

MongoDB db.places.find({loc : { $near:[50,50] } } ) Tuesday, November 15, 11

Slide 7

Slide 7 text

how do you want to search? Tuesday, November 15, 11

Slide 8

Slide 8 text

Exact Queries Search by closest points Tuesday, November 15, 11

Slide 9

Slide 9 text

Query within a rectangle Circle with a center point and radius Search within a polygon ( >= 1.9 ) Bound Queries Tuesday, November 15, 11

Slide 10

Slide 10 text

The earth is round (seriously) Tuesday, November 15, 11

Slide 11

Slide 11 text

Tuesday, November 15, 11

Slide 12

Slide 12 text

Tuesday, November 15, 11

Slide 13

Slide 13 text

Spherical Model Use decimal degrees - 42.53 Use [longitude, latitude] as ordering Use radians for distance $nearSphere and $centerSphere Tuesday, November 15, 11

Slide 14

Slide 14 text

geoNear returns distance for object db.runCommand({ geoNear: "persons", near: [50,50] }) Tuesday, November 15, 11

Slide 15

Slide 15 text

Multi-location Documents objects can contain sub-objects for multiple locations can show up more than once in location queries Tuesday, November 15, 11

Slide 16

Slide 16 text

Sharding Now supported Can only use geoNear command MongoDB is still young Tuesday, November 15, 11

Slide 17

Slide 17 text

MongoDB meets Ruby Tuesday, November 15, 11

Slide 18

Slide 18 text

The End Follow me - @ryanfischer20 Tuesday, November 15, 11

Slide 19

Slide 19 text

Tuesday, November 15, 11