首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB地理距离/半径到有用单位

MongoDB地理距离/半径到有用单位是指在MongoDB数据库中,用于计算地理位置之间的距离或半径的单位。MongoDB是一种NoSQL数据库,具有强大的地理位置支持。

在MongoDB中,地理位置数据可以使用地理坐标表示,例如经度和纬度。为了计算地理位置之间的距离或半径,可以使用MongoDB提供的地理位置索引和地理位置查询操作。

MongoDB支持的有用单位包括:

  1. 米(m):最常用的单位,适用于大多数地理位置计算场景。
  2. 千米(km):用于较大范围的地理位置计算,例如城市之间的距离。
  3. 英里(mi):用于美国等使用英制单位的地理位置计算。
  4. 英尺(ft):用于较小范围的地理位置计算,例如建筑物内的距离。

应用场景:

  1. 地理位置搜索:可以根据地理位置距离或半径来搜索附近的地点,例如搜索附近的餐厅、商店或景点。
  2. 地理位置导航:可以计算两个地理位置之间的距离,用于导航和路径规划。
  3. 地理位置分析:可以分析地理位置数据,例如热力图、地理聚类等。

腾讯云相关产品和产品介绍链接地址:

腾讯云提供了多个与MongoDB相关的产品和服务,包括云数据库MongoDB、云数据库TDSQL(MongoDB兼容版)等。这些产品提供了高可用性、可扩展性和安全性的MongoDB数据库解决方案。

  • 云数据库MongoDB:腾讯云的托管MongoDB数据库服务,提供高性能、高可用性和自动备份等功能。了解更多信息,请访问:云数据库MongoDB
  • 云数据库TDSQL(MongoDB兼容版):腾讯云的MongoDB兼容数据库服务,提供与MongoDB兼容的API和功能,可无缝迁移现有的MongoDB应用。了解更多信息,请访问:云数据库TDSQL
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Redis实现附近的人

解决基于地理位置的搜索,很多数据库品牌都支持:MySQL、MongoDB、Redis 等都能支持地理位置的存储。...key member1 member2 [unit] , 其中 unit 为单位 m|km|ft(英尺)|mi(英里) # 计算两点间的距离,返回距离单位是米(m) 127.0.0.1:0>GEODIST...diner:location zhangsan lisi m "82.4241" # 计算两点间的距离,返回距离单位是千米(km) 127.0.0.1:0>GEODIST diner:location...但是从另一方面来说, 使用 COUNT 选项去减少需要返回的元素数量, 对于减少带宽来说仍然是非常有用的。...当在社交网站和其他大多数需要查询半径的应用中使用时,这些偏差都不算问题。但是,在最坏的情况下的偏差可能是 0.5%,所以一些地理位置很关键的应用还是需要谨慎考虑。 代码实战 更新坐标 ?

72920

geohash之2d 地理空间索引

MongoDB的二维球形指数运算符只能识别[ 经度, 纬度 ]排序。 创建地理空间索引 重要 MongoDB只支持每个集合一个地理空间索引。...地理空间干草堆索引不支持球形查询。 默认情况下,使用干草堆索引的查询返回50个文档。 距离计算 在执行2d 地理空间查询之前,MongoDB会执行距离计算。...默认情况下,MongoDB使用平面几何来计算点之间的距离MongoDB还支持使用球面几何的距离计算,以提供基于球体或地球的地理空间信息的准确距离。...球形查询使用Radians作为距离 为了使球形操作员正常工作,您必须将距离转换为弧度,然后将弧度转换为应用程序使用的距离单位。...转换: 弧度的距离:用与距离测量相同的单位距离除以球体的半径(例如地球)。 弧度距离:将弧度测量值乘以要转换距离单位系统中的球体半径(例如地球)。

2.2K40
  • 利用Redis的Geo功能实现查找附近的位置

    从3.2版本开始它开始提供了GEO能力,用来实现诸如附近位置、计算距离等这类依赖于地理位置信息的功能。...2.1 写入地理信息 那么如何实现目标单位半径内的所有元素呢?我们可以将所有的位置的经纬度通过上表中的GEOADD将这些地理信息转换为 52 位的Geohash写入Redis。...可以添加一多个位置。然后我们就可以借助于其他命令来进行地理位置的计算了。 有效的经度从-180 度 180 度。有效的纬度从-85.05112878 度 85.05112878 度。...2.2 统计单位半径内的地区 我们可以借助于GEORADIUS来找出以给定经纬度,某一半径内的所有元素。...距离单位和查询单位一致,非必选。 WITHHASH 返回位置的 52 位精度的Geohash值,非必选。这个我反正很少用,可能其它一些偏向底层的LBS应用服务需要这个。

    2.4K50

    利用Redis的Geo功能实现查找附近的位

    从3.2版本开始它开始提供了GEO能力,用来实现诸如附近位置、计算距离等这类依赖于地理位置信息的功能。...2.1 写入地理信息 那么如何实现目标单位半径内的所有元素呢?我们可以将所有的位置的经纬度通过上表中的GEOADD将这些地理信息转换为 52 位的Geohash写入Redis。...可以添加一多个位置。然后我们就可以借助于其他命令来进行地理位置的计算了。 有效的经度从-180 度 180 度。有效的纬度从-85.05112878 度 85.05112878 度。...2.2 统计单位半径内的地区 我们可以借助于GEORADIUS来找出以给定经纬度,某一半径内的所有元素。...距离单位和查询单位一致,非必选。 WITHHASH 返回位置的 52 位精度的Geohash值,非必选。这个我反正很少用,可能其它一些偏向底层的LBS应用服务需要这个。

    1.4K30

    一口气说出 4种 “附近的人” 实现方式,面试官笑了!

    1、设计思路 以用户为中心,假设给定一个500米的距离作为半径画一个圆,这个圆型区域内的所有用户就是符合用户要求的 “附近的人”。...我们来分析一下,多出来的这部分区域内的用户,圆点的距离一定比圆的半径要大,那么我们就计算用户中心点与正方形内所有用户的距离,筛选出所有距离小于等于半径的用户,圆形区域内的所用户即符合要求的“附近的人”...+ 2d索引 1、设计思路 MongoDB实现附近的人,主要是通过它的两种地理空间索引 2dsphere 和 2d。...2、实现 首先插入一批位置数据MongoDB, collection为起名 hotel,相当于MySQL的表名。两个字段name名称,location 为经、纬度数据对。...,distanceMultiplier地球半径单位是米,默认6378137, maxDistance 过滤条件(指定距离内的用户),开启弧度需除distanceMultiplier,distanceField

    2.1K20

    一口气说出 4种 LBS “附近的人” 实现方式,面试官笑了

    1、设计思路 以用户为中心,假设给定一个500米的距离作为半径画一个圆,这个圆型区域内的所有用户就是符合用户要求的 “附近的人”。...** 我们来分析一下,多出来的这部分区域内的用户,圆点的距离一定比圆的半径要大,那么我们就计算用户中心点与正方形内所有用户的距离,筛选出所有距离小于等于半径的用户,圆形区域内的所用户即符合要求的“附近的人...+ 2d索引 1、设计思路 MongoDB实现附近的人,主要是通过它的两种地理空间索引 2dsphere 和 2d。...2、实现 首先插入一批位置数据MongoDB, collection为起名 hotel,相当于MySQL的表名。两个字段name名称,location 为经、纬度数据对。...,distanceMultiplier地球半径单位是米,默认6378137, maxDistance 过滤条件(指定距离内的用户),开启弧度需除distanceMultiplier,distanceField

    1.4K30

    使用Redis实现附近的人及打车服务

    解决基于地理位置的搜索,很多数据库品牌都支持:MySQL、MongoDB、Redis 等都能支持地理位置的存储。...key member1 member2 [unit] 其中 unit 为单位 m|km|ft(英尺)|mi(英里) # 计算两点间的距离,返回距离单位是米(m) 127.0.0.1:0>GEODIST...diner:location zhangsan lisi m "82.4241" # 计算两点间的距离,返回距离单位是千米(km) 127.0.0.1:0>GEODIST diner:location...距离单位和用户给定的范围单位保持一致 WITHCOORD: 将位置元素的经度和维度也一并返回 WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值...但是从另一方面来说, 使用 COUNT 选项去减少需要返回的元素数量, 对于减少带宽来说仍然是非常有用的。

    1.2K20

    Mongodb GeoJSON 地理数据处理 其实我也很厉害

    MONGODB 提出的功能,你就可以拥有一个简单处理地理数据的 Professional database . 1 地理数据类型 2 MONGODB 如何存储地理数据 3 如何查询地理数据,与例子...总体来说地理数据是又简单复杂,点,线,面(多边体),组合成多点, 多线,多面等类型。...2 MONGODB 如何存储和表达这些数据,这里存储地理数据的方式在MONGODB 中表现为 GEOJSON 数据。...或者点比较多的多边形 此外一个document 中的location的信息应该集中存放,例如一个人的详细信息中包含他的家的地址 和 单位的地址,如下方的经纬度数据的存放 db.records.save...100,             $maxDistance: 500           }        }    }    ,{name:1,_id:0} ) 2 仅仅查询小于与坐标点900米的距离

    1.9K20

    上知天文,下晓地理

    数据结构和转换 常量(astropy.constants) astropy.constants 包含大量的在天文学研究很有用的物理常量。...R_jup 71492000 m 木星赤道半径 R_sun 695700000 m 太阳半径 au 1.49597871e+11 m 地球与太阳之间的平均距离 kpc 3.08567758e+19 m...02 下晓地理 现在我们看一下地理学模块 geopy,geopy 让 Python 开发者可以使用第三方地理编码器和数据源,轻松定位全球的坐标(只能精确镇)。...大圆距离将地球的模型看成一个球体,利用国际大地测量学和地球物理学联合会所定义的平均地球半径,约为 6371.009km,最多产生 0.5%的误差。...半径的值被存在变量 distance.EARTH_RADIUS,所以它支持自定义(但是单位永远是 km)。

    2.7K20

    Redis之GEO类型解读

    geopos 从key里返回所有给定位置元素的位置(经度和纬度) geodist 返回两个给定位置之间的距离 georadius 以给定的经纬度为中心, 找出某一半径内的元素 georadiusbymember...这些数据将会存储sorted set这样的目的是为了方便使用GEORADIUS或者GEORADIUSBYMEMBER命令对数据进行半径查询等操作。...georadius 命令 以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。 范围可以使用以下其中一个单位: m 表示单位为米。...在给定以下可选项时, 命令会返回额外的信息: WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离单位和用户给定的范围单位保持一致。...但是从另一方面来说, 使用 COUNT 选项去减少需要返回的元素数量, 对于减少带宽来说仍然是非常有用的。

    453110

    Redis之GEO类型解读

    geopos 从key里返回所有给定位置元素的位置(经度和纬度) geodist 返回两个给定位置之间的距离 georadius 以给定的经纬度为中心, 找出某一半径内的元素 georadiusbymember...这些数据将会存储sorted set这样的目的是为了方便使用GEORADIUS或者GEORADIUSBYMEMBER命令对数据进行半径查询等操作。...georadius 命令 以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。 范围可以使用以下其中一个单位: m 表示单位为米。...在给定以下可选项时, 命令会返回额外的信息: WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离单位和用户给定的范围单位保持一致。...但是从另一方面来说, 使用 COUNT 选项去减少需要返回的元素数量, 对于减少带宽来说仍然是非常有用的。

    27440

    redis | 九、redis之Geospatial

    这些数据将会存储sorted set这样的目的是为了方便使用GEORADIUS或者GEORADIUSBYMEMBER命令对数据进行半径查询等操作。...在给定以下可选项时, 命令会返回额外的信息: WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。距离单位和用户给定的范围单位保持一致。...但是从另一方面来说, 使用 COUNT 选项去减少需要返回的元素数量, 对于减少带宽来说仍然是非常有用的。...至于额外的信息, 则会作为子数组的后续元素, 按照以下顺序被返回: 以浮点数格式返回的中心与位置元素之间的距离单位与用户指定范围时的单位一致。 geohash 整数。...Redis GEORADIUS 命令 以给定的经纬度为中心, 找出某一半径内的元素 Redis GEOADD 命令 将指定的地理空间位置(纬度、经度、名称)添加到指定的key中 Redis GEORADIUSBYMEMBER

    65120

    【探花交友】day07—搜附近

    课程说明 实现探花功能 MongoDB geo 搜附近 上报地理位置 搜附近 1、探花 探花功能是将推荐的好友随机的通过卡片的形式展现出来,用户可以选择左滑、右滑操作,左滑...地理位置检索 MongoDB 支持对地理空间数据的查询操作。...2.1、地理位置索引 地理位置查询,必须创建索引才可以能查询,目前有两种索引。 2d : 使用2d index 能够将数据作为二维平面上的点存储起来,在MongoDB 2.4以前使用2。...用户的地理位置存储MongoDB中,如下: 3.1、dubbo服务 3.1.1、定义pojo 在my-tanhua-dubbo-interface中创建: @Data @NoArgsConstructor...List queryNearUser(String gender, String distance) { //1、调用API查询附近的用户(返回的是附近的人的所有用

    1.1K30

    mongodb11天之屠龙宝刀(五)lbs地理位置检索:存储经纬度以及查询

    mongodb11天之屠龙宝刀(五)lbs地理位置检索:存储经纬度以及查询 基本原理 LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率。...mongodb地理位置索引,2d和2dsphere,对应平面和球面。 mongodb位置查询文档 实现原理:参考文章 两种索引方式 地理位置索引,必须创建索引才可以能查询,目前有两种索引。...3种距离单位 米(meters) 平面单位(flat units,可以理解为经纬度的“一度”) 弧度(radians) 2d索引能同时支持center和center和center和centerSphere...center默认是度,$centerSphere默认距离是弧度 地理位置索引创建与查询 地理位置索引-2d索引 ?...地理位置索引-2d索引-$near 限制返回的距离的远近,限制最远距离:限制最近距离:maxDistance单位是弧度, 地球表面1弧度距离约为6378137米, 0.001弧度距离为6378米 ?

    1.9K40

    mongodb11天之屠龙宝刀(五)lbs地理位置检索:存储经纬度以及查询

    mongodb11天之屠龙宝刀(五)lbs地理位置检索:存储经纬度以及查询 原文连接:直通车 基本原理 LBS,存储每个地点的经纬度坐标,搜寻附近的地点,建立地理位置索引可提高查询效率。...mongodb地理位置索引,2d和2dsphere,对应平面和球面。 mongodb位置查询文档 实现原理:参考文章 两种索引方式 地理位置索引,必须创建索引才可以能查询,目前有两种索引。...3种距离单位 米(meters) 平面单位(flat units,可以理解为经纬度的“一度”) 弧度(radians) 2d索引能同时支持center和center和center和centerSphere...center默认是度,$centerSphere默认距离是弧度 地理位置索引创建与查询 地理位置索引-2d索引 ?...地理位置索引-2d索引-$near 限制返回的距离的远近,限制最远距离:限制最近距离:maxDistance单位是弧度, 地球表面1弧度距离约为6378137米, 0.001弧度距离为6378米 ?

    63830

    MongoDB优化让LBS服务性能提升十倍

    MongoDB的LBS服务原理 MongoDB中使用2d_index 或2d_sphere_index来创建地理位置索引(geoIndex),两者差别不大,下面我们以2d_index为例来介绍。...为何扫描集如此大 上面我们说过,MongoDB搜索距离最近的点的过程是一个环形扩张的过程,如果内环满足条件的点不够多,每次的扩张半径都会倍增。...这样的用例很符合实际场景,早高峰车辆聚集在地铁周围,你从家出发一路向地铁,边走边找,共享单车软件上动态搜索距你最近的10辆车,附近只有三两辆,于是扩大搜索半径地铁周围,将地铁周围的所有几千辆车都扫描计算一遍...在搜索过程中,密集的点落到一个环内,本身距离相差也不会不大。该优化在上线后,将部分大客户的MongoDB性能上限从单机1000QPS提升了10倍10000QPS以上。...和Redis3.2的对比 Redis3.2也加入了地理位置查询的功能,我们也将开源Redis和云数据库MongoDB进行对比。

    5.7K20

    IM里“附近的人”功能实现原理是什么?如何高效率地实现它?

    它需要做以下两件事情: 1)所有使用该IM产品的人,在使用“附近的人”功能前提交自已的地理位置; 2)根据“我”的地理位置,计算出别人跟我的距离; 3)将第2步中计算出的距离由近及远,进行排序。...5、Redis里的GEO地理位置相关指令,就能很好的上述问题 针对“附近的人”这一位置服务领域的应用场景,服务端高性能场景下,常见的可使用PG、MySQL和MongoDB等多种DB的空间索引进行实现。...范围单位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里 额外参数: - WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。...距离单位和用户给定的范围单位保持一致。 - WITHCOORD:将位置对象的经度和维度也一并返回。...进一步找出与中心点距离小于输入半径的对象,进行返回。 直接描述不太好理解,我们通过如下两张图在对算法进行简单的演示: ? ?

    1.9K00
    领券