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

php如何计算两坐标点之间距离

本文实例为大家分享了php计算两坐标点之间距离实现代码,供大家参考,具体内容如下 地球上两个点之间,可近可远。 当比较近时候,可以忽略球面因素,当做是一个平面,这样就有了两种计算方法。...//两点间距离比较近 function getDistance($lat1, $lng1, $lat2, $lng2) { $earthRadius = 6367000; //地球半径m $lat1...$theta)); if ($dist < 0 ) { $dist += M_PI; } return $dist = $dist * $radius; } 小编再为大家分享一段php坐标之间距离求解代码...php define('EARTH_RADIUS', 6378.137);//地球半径 define('PI', 3.1415926); /** * 计算两组经纬度坐标 之间距离.../ 以上就是本文全部内容,希望对大家学习有所帮助。

1.9K21

如何计算经纬度之间距离_根据经纬度算距离

大家好,又见面了,我是你们朋友全栈君 用php计算两个指定经纬度地点之间距离,代码: /** *求两个已知经纬度之间距离,单位 *@param lng1,lng2 经度 *@param lat1...,lat2 纬度 *@return float 距离单位 *@edit www.jbxue.com **/ function getdistance(lng1,lat1,lng2,lat2){ /...> 举例,“上海市延安西路2055弄”到“上海市静安寺”距离: 上海市延安西路2055弄 经纬度:31.2014966,121.40233369999998 上海市静安寺 经纬度:31.22323799999999,121.44552099999998...几乎接近真实距离了,看来用php计算两个经纬度地点之间距离,还是靠谱,呵呵。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

4.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

Redis 7地理信息命令太太太牛了!一文教你如何使用

GEODISTGEODIST命令用于计算两个地理位置之间距离。...它语法如下:GEODIST key member1 member2 [unit]其中,key是指定键,member1和member2是要计算距离地理位置名称或标识,unit是可选距离单位,默认为...示例:GEODIST cities "Palermo" "Catania" km上述示例将计算了名为cities中"Palermo"和"Catania"两个地理位置之间距离,并指定距离单位为千。...STORE key:将结果存储到指定键中。STOREDIST key:将结果存储到指定键中,并同时存储位置与查询距离。...通过使用GEOADD命令,我们可以将地理位置及其名称添加到Redis中指定键中,方便地存储和管理位置数据。GEODIST命令允许计算两个位置之间距离,提供了方便距离计算功能。

23310

Redis 7地理信息命令太太太牛了!一文教你如何使用

GEODIST:计算两个位置之间距离。 GEOHASH:获取指定位置地理哈希值。 GEOPOS:获取一个或多个位置经度和纬度。...GEODIST GEODIST命令用于计算两个地理位置之间距离。...它语法如下: GEODIST key member1 member2 [unit] 其中,key是指定键,member1和member2是要计算距离地理位置名称或标识,unit是可选距离单位...示例: GEODIST cities "Palermo" "Catania" km 上述示例将计算了名为cities中"Palermo"和"Catania"两个地理位置之间距离,并指定距离单位为千...通过使用GEOADD命令,我们可以将地理位置及其名称添加到Redis中指定键中,方便地存储和管理位置数据。GEODIST命令允许计算两个位置之间距离,提供了方便距离计算功能。

25030

java计算两个经纬度之间距离

前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户。...实现方式还是比较简单,首先用户在APP上开启定位权限,将自己经纬度都存储到数据库,然后以此经纬度为基准,以特定距离为半径,查找此半径内所有用户。...那么,如何java如何计算两个经纬度之间距离呢?有两种方法,误差都在接受范围之内。 1、基于googleMap中算法得到两经纬度之间距离,计算精度与谷歌地图距离精度差不多。...() /** * 计算中心经纬度与目标经纬度距离) * * @param centerLon * 中心精度 * @... 由此可见,这两种方法误差都不算大,如此java就能计算出两个经纬度直接距离,也就满足了需求!

9.1K20

java计算两个经纬度之间距离

前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户。...实现方式还是比较简单,首先用户在APP上开启定位权限,将自己经纬度都存储到数据库,然后以此经纬度为基准,以特定距离为半径,查找此半径内所有用户。...那么,如何java如何计算两个经纬度之间距离呢?有两种方法,误差都在接受范围之内。 1、基于googleMap中算法得到两经纬度之间距离,计算精度与谷歌地图距离精度差不多。...() /** * 计算中心经纬度与目标经纬度距离) * * @param centerLon * 中心精度 * @param... 由此可见,这两种方法误差都不算大,如此java就能计算出两个经纬度直接距离,也就满足了需求!

2.7K93

java根据经纬度计算距离_java根据高德经纬度获取地区

大家好,又见面了,我是你们朋友全栈君。 前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户。...实现方式还是比较简单,首先用户在APP上开启定位权限,将自己经纬度都存储到数据库,然后以此经纬度为基准,以特定距离为半径,查找此半径内所有用户。...那么,如何java如何计算两个经纬度之间距离呢?有两种方法,误差都在接受范围之内。 1、基于googleMap中算法得到两经纬度之间距离,计算精度与谷歌地图距离精度差不多。...() /** * 计算中心经纬度与目标经纬度距离() * * @param centerLon * 中心精度 * @param centerLat * 中心纬度 * @param targetLon...这两种方法误差都不算大,如此java就能计算出两个经纬度直接距离,也就满足了需求!

1.4K20

Redis之GEO类型解读

基本介绍 GEO 主要用于存储地理位置信息(纬度、经度、名称)添加到指定key中。该功能在 Redis 3.2 版本新增。  ...GEO(Geo Redis)是一个用于存储和操作地理空间数据 Redis 模块。它提供了一组命令,可以将地理位置数据存储为 Redis 键值,并支持各种地理位置查询和操作。...指定单位参数 unit 必须是以下单位其中一个: m 表示单位。 km 表示单位为千。 mi 表示单位为英里。 ft 表示单位为英尺。...在给定以下可选项时, 命令会返回额外信息: WITHDIST: 在返回位置元素同时, 将位置元素与中心之间距离也一并返回。 距离单位和用户给定范围单位保持一致。...至于额外信息, 则会作为子数组后续元素, 按照以下顺序被返回: 以浮点数格式返回中心与位置元素之间距离单位与用户指定范围时单位一致。 geohash 整数。

23140

Redis之GEO类型解读

基本介绍 GEO 主要用于存储地理位置信息(纬度、经度、名称)添加到指定key中。该功能在 Redis 3.2 版本新增。...GEO(Geo Redis)是一个用于存储和操作地理空间数据 Redis 模块。它提供了一组命令,可以将地理位置数据存储为 Redis 键值,并支持各种地理位置查询和操作。...指定单位参数 unit 必须是以下单位其中一个: m 表示单位。 km 表示单位为千。 mi 表示单位为英里。 ft 表示单位为英尺。...在给定以下可选项时, 命令会返回额外信息: WITHDIST: 在返回位置元素同时, 将位置元素与中心之间距离也一并返回。 距离单位和用户给定范围单位保持一致。...至于额外信息, 则会作为子数组后续元素, 按照以下顺序被返回: 以浮点数格式返回中心与位置元素之间距离单位与用户指定范围时单位一致。 geohash 整数。

387110

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...范围可以使用以下其中一个单位: m 表示单位 km 表示单位为千 mi 表示单位为英里 ft 表示单位为英尺 在给定以下可选项时, 命令会返回额外信息: WITHDIST: 在返回位置元素同时..., 将位置元素与中心之间距离也一并返回。...通过计算该区域范围,通过计算所涵盖范围,从不太重要部分排序集得分,并计算得分范围为每个区域 sorted set 中查询

70220

redis | 九、redis之Geospatial

通过计算该区域范围,通过计算所涵盖范围,从不太重要部分排序集得分,并计算得分范围为每个区域sorted set中查询。 GeoHash是一种地址编码方法。...指定单位参数 unit 必须是以下单位其中一个: m 表示单位。 km 表示单位为千。 mi 表示单位为英里。 ft 表示单位为英尺。...如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用作为单位。 GEODIST 命令在计算距离时会假设地球为完美的球形, 在极限情况下, 这一假设最大会造成 0.5% 误差。...在给定以下可选项时, 命令会返回额外信息: WITHDIST: 在返回位置元素同时, 将位置元素与中心之间距离也一并返回。距离单位和用户给定范围单位保持一致。...至于额外信息, 则会作为子数组后续元素, 按照以下顺序被返回: 以浮点数格式返回中心与位置元素之间距离单位与用户指定范围时单位一致。 geohash 整数。

61920

Redis系统学习之三种特殊数据类型(geospatial(地理位置))

geospatial(地理位置) 朋友定位,附近的人,打车距离计算,主要用于存储地理位置信息,并对存储信息进行操作,该功能在 Redis 3.2 版本新增。...计算两个位置之间距离(直线距离[笑哭,谁会查直线距离]) geodist key 位置1 位置2 [m|km|ft|mi](单位) m :,默认单位。 km :千。 mi :英里。...计算河北和北京之间距离,单位为千 ?...和上面的georadius一样 只不过是把经纬度换成了已存在地理位置名称 m :,默认单位。 km :千。 mi :英里。 ft :英尺。...使用场景 计算两地之间直线距离 存储地理位置 实现位置附近人功能 作者:彼岸舞 时间:2021\05\05 内容关于:Redis 本文属于作者原创,未经允许,禁止转发

91120

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

mongodb11天之屠龙宝刀(五)lbs地理位置检索:存储经纬度以及查询 基本原理 LBS,存储每个地点经纬度坐标,搜寻附近地点,建立地理位置索引可提高查询效率。...2dsphere index: 2dsphere index 支持球体查询计算,同时它支持数据存储为GeoJSON 和传统坐标。...3种距离单位 (meters) 平面单位(flat units,可以理解为经纬度“一度”) 弧度(radians) 2d索引能同时支持center和center和center和centerSphere...地理位置索引-2d索引-$near 限制返回距离远近,限制最远距离:限制最近距离:maxDistance单位是弧度, 地球表面1弧度距离约为6378137, 0.001弧度距离为6378 ?...$geoWithin 某个形状内点 地理位置索引-2d索引 $geoWithin 形状表示 由于$geoWithin是查询某个形状内点,所以先要学会如何表示形状. ?

1.8K40

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

mongodb11天之屠龙宝刀(五)lbs地理位置检索:存储经纬度以及查询 原文连接:直通车 基本原理 LBS,存储每个地点经纬度坐标,搜寻附近地点,建立地理位置索引可提高查询效率。...2dsphere index: 2dsphere index 支持球体查询计算,同时它支持数据存储为GeoJSON 和传统坐标。...3种距离单位 (meters) 平面单位(flat units,可以理解为经纬度“一度”) 弧度(radians) 2d索引能同时支持center和center和center和centerSphere...地理位置索引-2d索引-$near 限制返回距离远近,限制最远距离:限制最近距离:maxDistance单位是弧度, 地球表面1弧度距离约为6378137, 0.001弧度距离为6378 ?...$geoWithin 某个形状内点 地理位置索引-2d索引 $geoWithin 形状表示 由于$geoWithin是查询某个形状内点,所以先要学会如何表示形状. ?

62030

Redis GEO 特性

" 2) "40.00546983911101506" 2) 1) "116.40426903963088989" 2) "39.90654220698316834" 计算两个点之前距离...命令如下: GEODIST location-set location-x location-y [unit] 可选参数 unit 用于指定计算距离单位,它值为下面的一个: m 表示单位。...km 表示单位为千。 mi 表示单位为英里。 ft 表示单位为英尺。...比如我们要计算奥林匹克公园和圆明园距离: 127.0.0.1:6379> geodist subways yuanmingyuan aolinpikegongyuan "7103.4924" 如果我们指定单位为...m|km|ft|mi 指定计算范围时单位; 如果给定了可选 WITHCOORD , 那么命令在返回匹配位置时会将位置经纬度一并返回; 如果给定了可选 WITHDIST , 那么命令在返回匹配位置时会将位置与中心点之间距离一并返回

1.1K20

Redis | Redis 也会算距离

这是因为坐标存储时是有损,通过有损存储再读取就稍有差别。但是,对于细小差别来说,对业务使用影响并不大,毕竟这点误差用户是可以接受。...三、计算距离 接下来这个命令可以在业务场景中使用,geodist 用来计算两个元素之间距离。在计算距离时候,可以指定距离单位,比如 或 千。...通过 geodist 就可以方便得出两点之间距离了。 四、获取附近信息 获取附近信息有两个命令,分别是 georadiusbymember 和 georadius 命令。...如果想要知道它们之间具体距离是多远,可以增加参数 withdist,命令如下: 127.0.0.1:6379> georadiusbymember pos nanzhan 10 km withdist...nanzhan" 2) "0.0000" 2) 1) "qingchuang" 2) "5.7133" 3) 1) "yingzepark" 2) "8.3599" 这样可以看到距离每个元素之间具体距离

65930

geohash之2d 地理空间索引

例如,您可能会写一个查询来查找餐馆距离酒店特定距离,或查找某个特定邻域内博物馆。 本文档介绍了如何在文档中存储位置数据以及如何创建地理空间索引。...精度较低索引对插入操作处理开销较低,并且占用较少空间; 然而,更高精度索引意味着查询将需要扫描索引较小部分以返回结果。实际存储值始终用于最终查询处理中,并且索引精度不会影响查询准确性。...1个单位存储桶。...距离计算 在执行2d 地理空间查询之前,MongoDB会执行距离计算。默认情况下,MongoDB使用平面几何来计算之间距离。...转换: 到弧度距离:用与距离测量相同单位距离除以球体半径(例如地球)。 弧度距离:将弧度测量值乘以要转换距离单位系统中球体半径(例如地球)。

2.2K40
领券