编程 mysql 计算附近的人

2024-11-18 13:51:11 +0800 CST views 2241

###数据库的一种写法

$lat="24.88718";
$lng="118.60347";
$fujin=\think\Db::name("zhiyuan")
        ->field("warehouseName,lat,lng,
        (  3959 * acos (cos ( radians({$lat}) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians({$lng}) )  + sin ( radians({$lat}) )  * sin( radians( lat ) )  )  
        ) AS distance")
       ->order("distance asc")
       ->select();

###函数写法

/**单位为米

 * @param $lat1

 * @param $lon1

 * @param $lat2

 * @param $lon2

 * @param float $radius  星球半径 公里

 * @return float

 */

function distance($lat1, $lon1, $lat2,$lon2,$radius = 6378.137)

{

    $rad = floatval(M_PI / 180.0);




    $lat1 = floatval($lat1) * $rad;

    $lon1 = floatval($lon1) * $rad;

    $lat2 = floatval($lat2) * $rad;

    $lon2 = floatval($lon2) * $rad;
    $theta = $lon2 - $lon1;
     $dist = acos(sin($lat1) * sin($lat2) +
     cos($lat1) * cos($lat2) * cos($theta)
 );




    if ($dist < 0 ) {

        $dist += M_PI;

    }

    $dist = $dist * $radius;

    return round($dist,2);

}
复制全文 生成海报 数据库 编程 地理信息

推荐文章

在 Docker 中部署 Vue 开发环境
2024-11-18 15:04:41 +0800 CST
php机器学习神经网络库
2024-11-19 09:03:47 +0800 CST
linux设置开机自启动
2024-11-17 05:09:12 +0800 CST
imap_open绕过exec禁用的脚本
2024-11-17 05:01:58 +0800 CST
一个数字时钟的HTML
2024-11-19 07:46:53 +0800 CST
Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
PHP中获取某个月份的天数
2024-11-18 11:28:47 +0800 CST
Vue3中如何使用计算属性?
2024-11-18 10:18:12 +0800 CST
CSS实现亚克力和磨砂玻璃效果
2024-11-18 01:21:20 +0800 CST
Grid布局的简洁性和高效性
2024-11-18 03:48:02 +0800 CST
百度开源压测工具 dperf
2024-11-18 16:50:58 +0800 CST
PHP如何进行MySQL数据备份?
2024-11-18 20:40:25 +0800 CST
git使用笔记
2024-11-18 18:17:44 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
Vue3中的v-for指令有什么新特性?
2024-11-18 12:34:09 +0800 CST
如何在 Vue 3 中使用 Vuex 4?
2024-11-17 04:57:52 +0800 CST
php strpos查找字符串性能对比
2024-11-19 08:15:16 +0800 CST
55个常用的JavaScript代码段
2024-11-18 22:38:45 +0800 CST
Go 语言实现 API 限流的最佳实践
2024-11-19 01:51:21 +0800 CST
js迭代器
2024-11-19 07:49:47 +0800 CST
Go 单元测试
2024-11-18 19:21:56 +0800 CST
Vue3中的自定义指令有哪些变化?
2024-11-18 07:48:06 +0800 CST
WebSQL数据库:HTML5的非标准伴侣
2024-11-18 22:44:20 +0800 CST
前端代码规范 - Commit 提交规范
2024-11-18 10:18:08 +0800 CST
PHP 唯一卡号生成
2024-11-18 21:24:12 +0800 CST
程序员茄子在线接单