• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SDK数据库 Command·查询·地理位置操作符

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Command.geoNear(options: Object): Command

支持端:小程序 , 云函数 , Web

按从近到远的顺序,找出字段值在给定点的附近的记录。

参数

options: Object

属性 类型 默认值 必填 说明
geometry GeoPoint 地理位置点 (Point)
maxDistance number 选填,最大距离,单位为米
minDistance number 选填,最小距离,单位为米

返回值

Command

索引要求

需对查询字段建立地理位置索引

示例代码

找出离给定位置 1 公里到 5 公里范围内的记录

const _ = db.command
db.collection('restaurants').where({
  location: _.geoNear({
    geometry: db.Geo.Point(113.323809, 23.097732),
    minDistance: 1000,
    maxDistance: 5000,
  })
}).get()

Command.geoWithin(options: Object): Command

支持端:小程序 , 云函数 , Web

找出字段值在指定区域内的记录,无排序。指定的区域必须是多边形(Polygon)或多边形集合(MultiPolygon)。

参数

options: Object

属性 类型 默认值 必填 说明
geometry Object 地理信息结构,Polygon,MultiPolygon,或 { centerSphere }

返回值

Command

索引要求

需对查询字段建立地理位置索引

示例代码 1:给定多边形

const _ = db.command
const { Point, LineString, Polygon } = db.Geo
db.collection('restaurants').where({
  location: _.geoWithin({
    geometry: Polygon([
      LineString([
        Point(0, 0),
        Point(3, 2),
        Point(2, 3),
        Point(0, 0)
      ])
    ]),
  })
})

示例代码 2:给定圆形

可以不用 geometry 而用 centerSphere 构建一个圆形。

centerShpere 从公共库 2.8.3 开始支持

centerSphere 对应的值的定义是:[ [经度, 纬度], 半径 ]

半径需以弧度计,比如需要 10km 的半径,则用距离除以地球半径 6378.1km 得出的数字。

const _ = db.command
db.collection('restaurants').where({
  location: _.geoWithin({
    centerSphere: [
      [-88, 30],
      10 / 6378.1,
    ]
  })
})

Command.geoIntersects(options: Object): Command

支持端:小程序 , 云函数 , Web

找出给定的地理位置图形相交的记录

参数

options: Object

属性类型默认值必填说明
geometryObject地理信息结构,Point

返回值

Command

索引要求

需对查询字段建立地理位置索引

示例代码:找出和一个多边形相交的记录

const _ = db.command
const { Point, LineString, Polygon } = db.Geo
db.collection('restaurants').where({
  location: _.geoIntersects({
    geometry: Polygon([
      LineString([
        Point(0, 0),
        Point(3, 2),
        Point(2, 3),
        Point(0, 0)
      ])
    ]),
  })
})



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
SDK数据库 Command·查询·表达式操作符发布时间:2022-02-02
下一篇:
SDK数据库 Command·查询·数组操作符发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap