Geolocation in MongoDB
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Geolocation in MongoDB

on

  • 4,803 views

A talk on "Geolocation in MongoDB" at the Silicon Valley MongoDB User Group. (http://www.meetup.com/MongoDB-SV-User-Group/events/91702142/)

A talk on "Geolocation in MongoDB" at the Silicon Valley MongoDB User Group. (http://www.meetup.com/MongoDB-SV-User-Group/events/91702142/)

Statistics

Views

Total Views
4,803
Views on SlideShare
2,187
Embed Views
2,616

Actions

Likes
0
Downloads
7
Comments
0

21 Embeds 2,616

http://shanky.org 2085
http://shashanktiwari.com 159
http://broadcast.oreilly.com 111
http://www.shashanktiwari.com 95
http://digg.com 52
http://www.sys-con.com 43
http://search.sys-con.com 25
http://abtasty.com 12
http://dotnet.sys-con.com 8
http://www.365dailyjournal.com 5
http://shashanktiwari.ulitzer.com 5
http://www.shanky.org. 4
http://twimblr.appspot.com 2
http://prlog.ru 2
http://www.linkedin.com 2
http://seo.ulitzer.com 1
http://www.slashdocs.com 1
http://translate.googleusercontent.com 1
http://www.docshut.com 1
http://internetvideo.sys-con.com 1
https://sendtoinc.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Geolocation in MongoDB Presentation Transcript

  • 1. GEOLOCATION IN MONGODB { name: ‘Shashank Tiwari’, web: ‘shanky.org’}Wednesday, January 16, 13
  • 2. WHO AM I? Entrepreneur, developer, author Most recent book: Professional NoSQL (Wiley, 2011) Founder : WhatNext Labs, creators ofWednesday, January 16, 13
  • 3. DEGREES OF MEASURE Latitude LongitudeWednesday, January 16, 13
  • 4. DEGREE OF LONGITUDEWednesday, January 16, 13
  • 5. GEO IN MONGO Is a world in 2DWednesday, January 16, 13
  • 6. MONGO DOC WITH LOC { loc : [37.407202, -122.10716] } { loc : { x: 37.407202, y: -122.10716} } { loc : { lat: 37.407202, lon: -122.10716} }Wednesday, January 16, 13
  • 7. INDEX db.places.ensureIndex( { loc : "2d" } ) 1 geospatial index per collectionWednesday, January 16, 13
  • 8. INDEX RANGE db.places.ensureIndex( { loc : "2d" } , { min : -500 , max : 500 } )Wednesday, January 16, 13
  • 9. INDEX PRECISION db.places.ensureIndex( { loc : "2d" } , { bits : 26 } ) Geo-hash precision of 26bits ~ 2 feetWednesday, January 16, 13
  • 10. EXACT QUERIES > db.places.find({ loc : [ 37.407202, -122.10716 ]}); { "_id" : ObjectId("50b69e66e6945f62a019f3a4"), "name" : "San Antonio Caltrain", "loc" : [ 37.407202, -122.10716 ] }Wednesday, January 16, 13
  • 11. EXPLAIN QUERY PLAN db.places.find({ loc : [ 37.407202, -122.10716 ]}).explain();Wednesday, January 16, 13
  • 12. COMPOUND INDEX db.places.ensureIndex( { loc : "2d", name : 1 } )Wednesday, January 16, 13
  • 13. NEAR QUERY db.places.find({ loc : { $near : [ 37.407202, -122.10716 ]}}); Returns points sorted by distanceWednesday, January 16, 13
  • 14. WITH MAXDISTANCE db.places.find({ loc : { $near : [ 37.407202, -122.10716 ], $maxDistance : 0.05}}); What is the unit of maxDistance? -- for latitude & longitude 1 degree ~ 69 milesWednesday, January 16, 13
  • 15. GEONEAR QUERY db.runCommand({ geoNear : "places", near : [37.407202, -122.10716], num : 5 }); also gives the distanceWednesday, January 16, 13
  • 16. MORE WITH GEONEAR db.runCommand({ geoNear : "places", near : [37.407202, -122.10716], num : 5, type : “DO” }); parameters: near, num, maxDistance, queryWednesday, January 16, 13
  • 17. WITHIN A BOX db.places.find({ loc : { $within : { $box : [[39.589821, -122.438831], [37.485200, -122.228438]] }}});Wednesday, January 16, 13
  • 18. WITHIN A CIRCLE db.places.find({ loc : { $within : { $center : [[39.589821, -122.438831], 10] }}});Wednesday, January 16, 13
  • 19. WITHIN A POLYGON Polygon shapes currently cannot be indexedWednesday, January 16, 13
  • 20. SPHERICAL SUPPORT geoNear -- spherical : true $nearSphere $centerSphere Order is important, very important -- longitude, latitudeWednesday, January 16, 13
  • 21. MULTI LOCATIONS db.places.insert({ placesVisitedToday : [ { name : "San Antonio Caltrain", loc : [37.407202, -122.10716] }, { name : "Datapipe", loc : [37.3336641, -121.8887072] } ] })Wednesday, January 16, 13
  • 22. QUERY MULTI LOC db.places.ensureIndex( { " placesVisitedToday.loc " : "2d"} ) use uniqueDocs : true to get unique documentsWednesday, January 16, 13
  • 23. Wednesday, January 16, 13
  • 24. Wednesday, January 16, 13
  • 25. NEXT TALK Join me to learn MongoDB in an hour! Coming soon : Feb 1, 2013Wednesday, January 16, 13
  • 26. THANKS More questions? web: shanky.org | twitter : @tshanky | email: st@treasuryofideas.com Download and play with on Google Play and coming soon to the AppStore.Wednesday, January 16, 13