首页 后端开发 php教程 依据经纬度计算距离的公式、百度坐标转换成GPS坐标(PHP版)

依据经纬度计算距离的公式、百度坐标转换成GPS坐标(PHP版)

Jun 13, 2016 pm 01:24 PM
gps return

根据经纬度计算距离的公式、百度坐标转换成GPS坐标(PHP版)

<?php
//百度坐标转换成GPS坐标
$lnglat = '121.437518,31.224665';
function FromBaiduToGpsXY($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  $lnglat;
}
/**********************************************/
function fn_rad($d)
{
	return $d * pi() / 180.0;
}
// 2点间算法
function P2PDistance($latlng1,$latlng2)
{
	// 纬度1,经度1 ~ 纬度2,经度2
	$latlng1 = explode(',',$latlng1);
	$latlng2 = explode(',',$latlng2);
	list($lat1,$lng1) = $latlng1;
	list($lat2,$lng2) = $latlng2;
	$EARTH_RADIUS = 6378.137;
	$radLat1 = fn_rad($lat1);
	$radLat2 = fn_rad($lat2);
	$a = $radLat1 - $radLat2;
    $b = fn_rad($lng1) - fn_rad($lng2);
	$s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)));
	$s = $s * $EARTH_RADIUS;
	$s = round($s * 10000) / 10000;
	return number_format($s,2);
}
echo '百度坐标: ',$lnglat,'<br><br>','转换后GPS坐标: ',FromBaiduToGpsXY($lnglat),'<br><br>';
echo '转换前距离: ',P2PDistance('31.224286666667,121.420675','31.224665,121.437518'),'<br/>';
echo '转换后距离: ',P2PDistance('31.224286666667,121.420675','31.220157068379,121.42647022694');
?>
登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

C语言return的用法详解 C语言return的用法详解 Oct 07, 2023 am 10:58 AM

C语言return的用法有:1、对于返回值类型为void的函数,可以使用return语句来提前结束函数的执行;2、对于返回值类型不为void的函数,return语句的作用是将函数的执行结果返回给调用者;3、提前结束函数的执行,在函数内部,我们可以使用return语句来提前结束函数的执行,即使函数并没有返回值。

如何解决Windows 11中无法识别Garmin USB设备的问题? 如何解决Windows 11中无法识别Garmin USB设备的问题? Apr 22, 2023 am 09:46 AM

GarminGPS本身具有更改文件、地图、路线和航点的能力。但是,将设备连接到计算机并使用BaseCamp软件通常效率更高。在极少数情况下,您可能会发现您的计算机无法识别GarminGPS。不要担心,因为您并不孤单,USB电缆错误通常很容易解决。在最坏的情况下,您将不得不为您的设备购买一根新电线。跟随我们整理了一份完整的解决方案列表,您可以在我们看到公司生产的其他产品之后立即尝试修复错误。跟上我们!Garmin生产什么产品?除了GPS设备外,该公司还生产活动追踪器和运动手表,这些活动追

GPS工具箱标记位置怎么操作 GPS工具箱标记位置怎么操作 Feb 27, 2024 pm 09:28 PM

GPS工具箱软件是一款功能强大的定位软件,专为日常出行设计,致力于为用户提供最安全、最智能的定位服务。一旦您下载并完成软件的注册,即可轻松准确地标记位置。该软件具备多种实用功能,为用户带来极大的便利。无论是个人使用还是与家人共享,GPS工具箱都能让您轻松标记位置。那么究竟该如何使用GPS工具箱标记位置呢,这篇教程攻略就将为大家带来详细的内容介绍,想要了解的用户们就快来跟着本文一起继续阅读吧。gps工具箱怎么标记位置?1、打开gps工具箱,找到标记位置。2、找到校准。3、找到标记备注。4、点击保存

Java中return和finally语句的执行顺序是怎样的? Java中return和finally语句的执行顺序是怎样的? Apr 25, 2023 pm 07:55 PM

源码:publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#输出上述代码的输出可以简单地得出结论:return在finally之前执行,我们来看下字节码层面上发生了什么事情。下面截取case1方法的部分字节码,并且对照源码,将每个指令的含义注释在

定位服务/ GPS在iPhone上不起作用[已解决] 定位服务/ GPS在iPhone上不起作用[已解决] May 18, 2023 pm 08:42 PM

为了有效运行,某些应用程序需要GPS或定位服务才能在iPhone上正常工作。但许多iPhone用户报告说,定位服务/GPS突然停止在他们的iPhone上工作。GPS无法在您的iPhone上运行的原因有很多,下面列出了其中一些原因。过时的苹果手机软件定位服务选项已关闭iPhone内部技术故障iPhone位于偏远的低信号区域iPhone上设置的日期和时间不正确在研究了上述几点之后,我们收集了更多信息,并在下面的文章中针对此问题编译了一些强有力的修复程序。初步修复重新启动苹果手机当iPhone出现某些

60 年的酝酿:NASA 证实了关于地球全球电场的假设 60 年的酝酿:NASA 证实了关于地球全球电场的假设 Aug 31, 2024 pm 09:35 PM

美国宇航局通过最近的火箭发射证实了地球周围存在全球电场。这是一件大事,因为这是对一种长期理论化但从未被观察到的现象的首次直接测量

gps和gnss的区别是什么 gps和gnss的区别是什么 Feb 02, 2023 pm 03:06 PM

区别:1、定义不同,GPS指全球定位系统,是一种以空中卫星为基础的高精度无线电导航的定位系统;而GNSS指全球导航卫星系统,利用一组卫星的伪距、星历、卫星发射时间等观测量。2、应用不同,GPS主要应用于导航定位,以其高精度、全天候、全球覆盖、方便灵活吸引了众多用户;GNSS是能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统。

gnss和gps的区别有什么 gnss和gps的区别有什么 Sep 08, 2023 pm 02:38 PM

gnss和gps的区别很大,因为GNSS即“全球导航卫星系统”和GPS即“全球定位系统”是两个相关但不完全相同的概念,GNSS是一个广义的概念,涵盖了全球各个国家和地区开发和运营的多个卫星导航系统,而GPS是单指由美国政府开发和运营的卫星导航系统。

See all articles