redis地理位置和MongoDB地理索引的使用

news2024/11/29 20:44:10

比较

  1. 经度纬度都要在有效区间。经度范围介于 -180 到 180,纬度范围大致介于-90和到90。
  2. redis使用Zset结构存储,将经度值、纬度值转换为一个值,二维量变成一维量找附近的位置,效率极高,不过限于平面,且无法分页。
  3. MongoDB更为灵活,通过建立地理位置索引,来实现附近的地理位置查找,可以支持平面、球面,还可分页,功能更为丰富完善。

Redis使用

  1. 添加地理位置坐标:GEOADD 键名 经度 纬度 位置名
  2. 删除地理位置(和操作zset是一样的):ZREM 键名 位置名
  3. 查找附近的位置(返回[[位置名,距离],[位置名,距离],[位置名,距离]...]):
    GEORADIUS 键名 经度 纬度 最大距离 单位(m或km) WITHDIST(意为带距离) count 数量数字 ASC(意为由近到远)
  4. demo(有自定义的工具方法,需要改造)

 MongoDB使用

  1. 需要建立2dsphere索引(2d索引不考虑):db.表名.createIndex({"建立索引的字段": "2dsphere"})
  2. 一般的数据类型为JSON格式的,可参考如下结构:db.pos.createIndex({"location": "2dsphere"})
  3.  查询附近位置且显示距离,单位为米
    db.getCollection('表名').aggregate([
    {$geoNear:{
        "near":{"type": "Point", "coordinates": [经度, 纬度]},
        "spherical":     true,
        "distanceField": "distance"
        }},
    {$skip:0},
    {$limit:20}
    ]);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测量学:水准和导线测量实验报告+详细解析

目录 00 说明 实验1 闭合导线测量 实习目的 实习任务和内容 控制点的布置和测量技术要求(绘制导线略图) 导线略图 外业测量数据和记录相关表格(附原始观测记录) 原始观测数据记录如下: 记录表格如下&#xff…

Web3中文|星巴克拥抱Web3,新项目Odyssey开启数字旅程

12月8日,成立用于1971年,全球82个市场拥有超过32,000家门店的美国咖啡公司星巴克对其备受期待的Odyssey体验进行了测试,该体验将客户忠诚度奖励与NFT以及其他游戏元素相结合。 早在9月12日,星巴克宣布将推出Web3平台“Starbucks …

openEuler社区开源项目:CPDS(容器故障检测系统)介绍

容器故障检测系统 CPDS (Container Problem Detect System) 是由北京凝思软件股份有限公司(以下简称“凝思软件”)设计并开发的容器集群故障检测系统,该软件系统实现了对容器TOP故障、亚健康状态的监测与识别。 2022年11月,凝思软…

isp,iap,sw-jtag

https://blog.csdn.net/weixin_45905650/article/details/107707858?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167098526816800180634199%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id167098526816800180634199&biz_i…

JS:通过setTimeout和promise来了解js代码执行机制(面试题讲解)

目录 1.setTimeout定时器 2.promise函数 补充:1.什么是宏任务与微任务 补充:2.宏任务和微任务的执行顺序 补充:3.js的执行顺序 补充:4.答案揭晓 前几天碰到一个关于js执行顺序的面试题,一时间竟然有点模糊&#…

BCN-PEG-Folate 环丙烷环辛炔聚乙二醇叶酸 BCN-PEG-FA

双环[6,1,0]壬炔 (BCN) (环丙烷环辛炔)可以通过无铜的点击化学与叠氮化物标记的分子或生物分子反应生成稳定的三氮唑连接。 产品名称 BCN-PEG-Folate 环丙烷环辛炔聚乙二醇叶酸 中文名称 环丙烷环辛炔聚乙二醇叶酸 英文名称 BCN-PEG-Folate BCN…

统信软件高级系统研发工程师:sysOM 在系统可靠性与安全上实践

一、系统可靠性 SRE是判断系统是否可靠、可用、有效重要标准,它包括: 服务水平指标SLI:衡量服务使用情况量化指标。 比如IO读写速率、网络延迟。通常量化指标会转换为比率、平均值或百分比。服务水平目标SLO:一段时间、区间内的目…

花1块钱让你的网站支持 ChatGPT

点击上方卡片“前端司南”关注我您的关注意义重大原创前端司南最近 ChatGPT 在技术圈子可太火了,票圈也被刷屏。我也决定来凑个热闹,给自己的博客加一个 ChatGPT 对话功能。先附上体验链接[1],源码在底部也可以找到。体验 ChatGPTChatGPT[2] …

1区SCI潜力刊,中科院分区即将更新,有望冲击2区

1区 计算机物联网类SCI&EI 01 期刊详情 【出版社】Elsevier 【指标情况】自引率6.30% 【期刊简介】IF:5.5-6.0,JCR1区,中科院分区预计月底公布 【检索情况】SCI&EI 双检,正刊 【参考周期】3-4个月左右录用 【截稿日期】2023.2.…

cv2.circle()函数报错(tensor 转 array 感觉是bug)

前言 我不理解为啥opencv-python可视化一堆报错,同一个三通道图像,cv2.imshow()没有问题,cv2.circle()就一直有问题,搞了一晚,心态炸了!!! cv2需要的图片矩阵(H, W, C&…

FKM规范 针对非焊接构件疲劳强度评估的实例介绍(下篇)

本文主要结合FKM规范及FKM inside ANSYS软件针对非焊接构件的手动计算实例及软件计算实例进行介绍,希望大家对FKM规范在非焊接构件疲劳强度评估中的手动及软件计算过程有基本的了解。 一、写在前面 FKM Inside ANSYS软件,该软件是在FKM 规范的基础上&a…

不想写日报、周报,这个报表自动化软件太牛了,仅需三分钟

昨天看到一个哥们发帖说IT部门负责做报表的同事阳了,再加上年底各个业务部门报表需求旺盛,现在他们是忙的饭都吃不上,天天凌晨才能回家。京东的人倒是被解放了,毕竟强东说汇报只能1页ppt。但对于万千其他公司的朋友们来说&#xf…

【POJ No. 2114】 游船之旅 Boatherds

【POJ No. 2114】 游船之旅 Boatherds 北大OJ 题目地址 【题意】 河流总是形成一棵树(以村庄为节点),超过两条河流时可以在交叉路口汇入。游船的定价政策非常简单:两个村庄之间的每条河流都有一个价格(两个方向的价格…

向现实「低头」,大众「调战略」

越来越多的汽车制造商,在修正自己的战略。 作为全球智能电动汽车领头羊,特斯拉针对欺诈指控为自己辩护,解释称其自动驾驶技术只是未能实现自己设定的目标,而不是误导消费者。2019年4月,其首席执行官埃隆马斯克声称&…

电脑技巧:推荐几款装机必备的软件

目录 1、火绒安全 2、Geek Uninstaller 卸载神器 3、Potplayer 4、Edge微软官方浏览器 5、Snipaste 截图神器 6、Everything 本地搜索神器 7、Honeyview 超好用的图片查看工具 8、Bandizip 解压缩工具 9、傲梅分区助手 分区必备神器 10、ToDesk 远程协助工具 11、剪…

数字化采购浪潮下,MRO工业品采购商城系统如何助力企业深化智能升级

工业品作为工程建设、机械制造等行业发展过程中不可缺少的一部分,市场前景十分广阔。根据艾瑞咨询数据显示,2020年我国工业品市场规模为10.6万亿元,其中MRO市场占比为20%。而在万亿规模下,我国工业品市场上下游存在诸多行业痛点&a…

(八)并发集合——阻塞队列

阻塞队列---BlockQueue BlockingQueue是带阻塞功能的队列,继承了Queue接口,当执行入队操作时,如果队列满了,则阻塞调用者;当执行出队操作时,如果队列是空的,也阻塞调用者。 public interface Bl…

RK3568平台开发系列讲解(Linux系统篇)内存映射与虚拟内存

🚀返回专栏总目录 文章目录 一、内存映射二、内存保护三、内存锁定3.1、锁定指定的内存段3.2、锁定进程的所有内存页沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章讲介绍几个对虚拟内存进行系统级控制的系统调用,合理使用它们,能极大地提高应用的执行效率,…

C++ Reference: Standard C++ Library reference: Containers: map: map: at

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/at/ 公有成员函数 <map> std::map::at mapped_type& at (const key_type& k); const mapped_type& at (const key_type& k) const;访问元素 返回对键k标识的元素的映射值的引用。 如…

1、CSS基础之初识

文章目录一、简介二、基础语法语法格式注释举个例子三、CSS的数值与单位颜色值长度值四、CSS样式类型内联式&#xff08;行内嵌&#xff09;内嵌式&#xff08;内部样式表&#xff09;外链式&#xff08;外部样式表&#xff09;五、文字排版六、格式化列表七、格式化链接八、We…