Your SlideShare is downloading. ×
0
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Geolocation in MongoDB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Geolocation in MongoDB

6,304

Published on

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/)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
6,304
On Slideshare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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

×