1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /** * 计算两个坐标之间的距离(米) * * @param float $fP1Lon 起点(经度) * @param float $fP1Lat 起点(纬度) * @param float $fP2Lon 终点(经度) * @param float $fP2Lat 终点(纬度) * @return int */ function map_get_distance( $fP1Lon , $fP1Lat , $fP2Lon , $fP2Lat ) { $fEARTH_RADIUS = 6378137; // 角度换算成弧度 $fRadLon1 = deg2rad ( $fP1Lon ); $fRadLon2 = deg2rad ( $fP2Lon ); $fRadLat1 = deg2rad ( $fP1Lat ); $fRadLat2 = deg2rad ( $fP2Lat ); // 计算经纬度的差值 $fD1 = abs ( $fRadLat1 - $fRadLat2 ); $fD2 = abs ( $fRadLon1 - $fRadLon2 ); // 距离计算 $fP = pow(sin( $fD1 / 2), 2) + cos ( $fRadLat1 ) * cos ( $fRadLat2 ) * pow(sin( $fD2 / 2), 2); return intval ( $fEARTH_RADIUS * 2 * asin(sqrt( $fP )) + 0.5); } /** * 百度坐标系转换成标准GPS坐系 * * @param float $lnglat 坐标(如:106.426, 29.553404) * @return string 转换后的标准GPS值: */ function map_baidu_to_gps( $lnglat ) { // 经度,纬度 $lnglat = explode ( ',' , $lnglat ); list( $x , $y ) = $lnglat ; $Baidu_Server = "http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x={$x}&y={$y}" ; $result = @ file_get_contents ( $Baidu_Server ); $json = json_decode( $result ); if ( $json ->error == 0) { $bx = base64_decode ( $json ->x); $by = base64_decode ( $json ->y); $GPS_x = 2 * $x - $bx ; $GPS_y = 2 * $y - $by ; return $GPS_x . ',' . $GPS_y ; // 经度,纬度 } else { return '' ; } } |
-
工具
- [分类] 最近常用
-
[分类] 编程相关
- 01.Python基础 (92)
- 04.数据采集/爬虫 (55)
- 05.大数据/Elasticsearch (14)
- 06.前端/Vue/Node.js (240)
- 07.Java框架/系统 (197)
- 08.Java基础 (255)
- 11.PHP基础 (275)
- 12.PHP库/系统/微信 (81)
- 13.C/C++/仓颉 (113)
- 14.Golang/Ruby (109)
- 15.OpenResty_Lua (109)
- 16.编程基础/Web安全 (71)
- 17.性能测试/JMeter (8)
- 18.系统设计/UML建模 (74)
- 19.区块链/数字货币/量化 (1)
- 20.API网关/Kong (0)
- 21.C#/WinForm (28)
- 22.Rust编程 (9)
- 02.Flask/FastAPI框架 (3)
- 03.AGI大模型 (3)
- [分类] 服务器相关
- [分类] 其他分类
-
链接
- 【官网】MyBatis-Flex
- 【示例】MyBatis-Flex
- 【示例】MyBatisPlus_SQL
- 【示例】MyBatisPlusJoin_SQL
- 【时间】LocalDateTime
- 【示例】List转Map
- 【示例】Array与List互转
- 【Java】Beetl模板引擎
- 【示例】MyBatis_SQL
- 【Java】MyBatis
- 【外链】MyBatis-Plus
- 【外链】Elasticsearch手册
- 【PHP】SqlBuilder
- 【基础】ASCII 码表
- 【基础】正则表达式
- ++++++++++++++++++
- Crontab验证解析
- QuartzCron生成工具
- ++++++++++++++++++
- 【数字】Digitalization
- 【项目】Project Management