ArangoDb学习笔记————AQL tutorial(五)

本文介绍AQLtutorial最后一小节,地理坐标查询。通过建立geo索引,使用near和within函数,查询特定距离内的地点,展示如何获取地理位置信息。

终于来到了AQL tutorial的最后一小节,地理坐标查询。

按照文档里所建的Location集合为例,首先需要建一个geo索引,来表明是哪一列包含了经纬度。

最后讲一下里面的几个语法:

FOR loc IN NEAR(Locations, 53.35, -6.26, 3)
    RETURN {
        name: loc.name,
        latitude: loc.coordinate[0],
        longitude: loc.coordinate[1]
    }

FOR loc IN WITHIN(Locations, 53.35, -6.26, 200 * 1000)
    RETURN {
        name: loc.name,
        latitude: loc.coordinate[0],
        longitude: loc.coordinate[1]
    }

FOR loc IN NEAR(Locations, 53.35, -6.26, 3, "distance")
    RETURN {
        name: loc.name,
        latitude: loc.coordinate[0],
        longitude: loc.coordinate[1],
        distance: loc.distance / 1000
    }

near函数四个参数(Locations, 53.35, -6.26, 3)查的是Locations集合里距离(53.35, -6.26)最近的3个点;

loc函数类似,查的是 Locations集合里距离(53.35, -6.26)半径200 * 1000m的点;

near还可以得到最近的三个点离(53.35, -6.26)的距离。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值