php计算两个经纬度地点之间的距离
2025-05-04 21:49
PHP
SQL Server
Oracle
MySQL
PostgreSQL
NoSQL
大数据
其他数据库
Windows
Windows Server
Linux
macOS
嵌入式
APACHE
NGINX
redis
Docker
git
互联网
tomcat
Html/Css
JavaScript
jQuery
HTML5
Angular
React
Vue
小程序
架构设计
面向对象
设计模式
领域驱动设计
Android开发
iOS开发
Flutter
鸿蒙
其他手机开发
敏捷开发
项目与团队管理
软件工程其他
.NET
Java
Python
Go
PHP
C++
Ruby
Swift
C语言
Erlang
Delphi
Scala
R语言
Verilog
Dart
Rust
其他语言
asp
nodejs
读书区
翻译区
求职面试
计算机图形学
软件测试
菜谱
SEO技术
摄影
生活技巧
189
0
0
0
标题录入
封面图
在 PHP 中,可以通过 Haversine 公式来计算两个经纬度点之间的距离。Haversine 公式用于计算地球表面上两点之间的最短距离(大圆距离)。以下是实现代码: ```php <?php function calculateDistance($lat1, $lon1, $lat2, $lon2) { // 将角度转换为弧度 $lat1 = deg2rad($lat1); $lon1 = deg2rad($lon1); $lat2 = deg2rad($lat2); $lon2 = deg2rad($lon2); // 地球半径(单位:公里) $earthRadius = 6371; // 计算纬度和经度的差值 $dLat = $lat2 - $lat1; $dLon = $lon2 - $lon1; // 应用 Haversine 公式 $a = sin($dLat / 2) * sin($dLat / 2) + cos($lat1) * cos($lat2) * sin($dLon / 2) * sin($dLon / 2); $c = 2 * atan2(sqrt($a), sqrt(1 - $a)); // 计算距离 $distance = $earthRadius * $c; return $distance; } // 示例使用 $lat1 = 39.9096; // 北京的纬度 $lon1 = 116.3972; // 北京的经度 $lat2 = 35.6895; // 东京的纬度 $lon2 = 139.6917; // 东京的经度 $distance = calculateDistance($lat1, $lon1, $lat2, $lon2); echo "两地之间的距离是: " . number_format($distance, 2) . " 公里"; ?> ``` ### 解释: 1. **`deg2rad()`**:将角度从度数转换为弧度。 2. **地球半径**:默认值为 6371 公里(可以调整为英里或其他单位)。 3. **Haversine 公式**: - `sin($dLat / 2)` 和 `sin($dLon / 2)` 是公式中的正弦部分。 - `atan2(sqrt($a), sqrt(1 - $a))` 是计算角度的部分。 4. **返回结果**:最终计算出的距离以公里为单位。 ### 输出示例: ``` 两地之间的距离是: 2107.49 公里 ``` 你可以根据需要修改地球半径来计算其他单位(如英里)。
上一篇:
PHP保留两位小数的几种方法
下一篇:
php 获取数组第一个key 第一个键值对
标题录入,一次不能超过6条
勇气是什么?个人勇气如何掌握?
T:0.008587s,M:286.27 KB
返回顶部
留言
留言
评论