views:

73

answers:

1

I'm using MongoDB geospatial queries -- $near, geoNear, etc. -- and I'd like to know how to turn the 'dis' result of the 'geoNear' command as well as the 'radius' argument for $within queries to/from readable units like miles or kilometers.

A: 

if your data is in geographic coordinates (i.e. 30.47921 N -121.45724 W) then you need to convert your underlying projection with the units you want (choose a projection that preserves distance) or you need to convert the distance in coordinates to something like miles.

Use the Haversine formula for calculations http://www.movable-type.co.uk/scripts/latlong.html

TheSteve0
Thanks for your answer! My data is indeed latitude/longitude points, and I was able to use the Haversine formula to calculate distance between the results and origin point by plugging in both sets of lat/lon points, but I'm still not sure what to do specifically with 'dis' and 'radius'. Could you clarify what you meant by "convert your underlying projection"? Seems like it might be simpler to convert 'dis' than to plug in both lat/lon sets, no? Would I need to rearrange the Haversine formula to fit my needs here? If so, what variable(s) in the equation might 'dis'/'radius' plug into?
Chris Forrette
Hi Chris, I had a similar question (http://stackoverflow.com/questions/3878702/mongodb-bound-queries-how-do-i-convert-mile-to-radian). If you guys don't mind, can you explain in more detail the solution? Do you have to use map/reduce? Thanks again!
AbeP

related questions