mongodb空间查询之查询单位
生活随笔
收集整理的這篇文章主要介紹了
mongodb空间查询之查询单位
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.建立空間索引
db.collection.ensureIndex({‘geom.coordinates’:’2d’}) 2.空間查詢 這里遇到的問題是查詢的時候會涉及到范圍,那么這個范圍的單位是什么? 官方文檔提到了該單位使用的是弧度。 所以,比如查詢的是 ?5公里范圍某個點周圍的信息,則使用如下:(官方推薦的坐標順序采用的是?[lng,lat]。) {"geom.coordinates":{$within:{$centerSphere:[[116.314869,39.950785],5*0.621/3963.192]}}}1) geom.coordinates 是前面的空間索引字段
? ?2) $within 某個范圍內,可以是圓,多邊形等
? ?3) $centerSphere[[lng,lat],radius]
? ?4) radius 是將公里轉成英里然后在除以3963.192化成弧度
Ref:
To convert:distance to radians: divide the distance by the radius of the sphere (e.g. the Earth) in the same units as the distance measurement. radians to distance: multiply the rad ian measure by the radius of the sphere (e.g. the Earth) in the units system that you want to convert the distance to. The radius of the Earth is approximately 3963.192 miles or 6378.137 kilometers.官方資料:http://docs.mongodb.org/manual/core/geospatial-indexes/
轉載于:https://www.cnblogs.com/beiliubei/archive/2012/12/26/2834538.html
總結
以上是生活随笔為你收集整理的mongodb空间查询之查询单位的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 系统中的文件权限
- 下一篇: lua--面向对象使用middlecla