<?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');
?>
分享到:
相关推荐
经纬度距离计算+坐标转换!精度和google earth 比较过,相差很小,精度高。
根据经纬度计算地球上任意两点间的距离,精度高,GUI界面操作简单,小白可直接使用。
计算UTM坐标转换为经纬度坐标 根据UTM定义 Excel表格自动计算 输入UTM坐标参数,自动计算并且输出经纬度坐标 Excel表格自动计算 输入UTM坐标参数,自动计算并且输出经纬度坐标 Excel表格自动计算 输入UTM坐标参数...
包含:GPS经纬度转XY坐标和XY坐标转GPS经纬度和函数调用示例。坐标转换具有较高的精度。
mysql函数-根据经纬度坐标计算距离
经纬度计算距离,经纬度计算距离公式,matlab源码
基于matlab软件,可将经纬度坐标转换成空间直角坐标。内含WGS84参考椭球参数,可通过输入自己的经纬度坐标,实现三维空间直角坐标的转换。
批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。调用单点经纬度坐标转换为平面坐标的函数也在文件中。博客中有详细解释和C++代码...
WGS84坐标下根据经纬度计算两点之间的距离 Xian80的需要先转化
java根据两点的经纬度计算直线距离,以及百度地图、高德地图、谷歌地图不同调用方法
转换大地经纬度坐标使用。可用于西安80北京54和经纬度坐标之间的转换
WCS-84坐标系的X,Y,Z与经纬度之间的相互转换
百度米制坐标转WGS84/火星经纬度坐标,BD02(火星坐标系)/WGS84百米制转换。
经纬度计算距离经纬度计算距离工具, 挺不错的。经纬度计算距离经纬度计算距离工具, 挺不错的。
经纬度坐标下的球面多边形面积计算公式,这是古人的算法。
可以将北京54坐标、80坐标、84坐标转换为经纬度的一个小程序
1、坐标转换:空间直角坐标,大地坐标,平面坐标转换。 2、经纬度转换:(地理坐标)经纬度与(大地坐标)xy相互转化,3度带与6度带坐标相互转化,度(十进制)与度分秒相互转化
电子-根据两点经纬度计算距离.doc,单片机/嵌入式STM32-F0/F1/F2
这个坐标转换器可以将经纬度坐标转换成平面坐标
根据网上给出的代码,增加了批量功能。计算一批经纬度的平均经度与平均纬度,然后各经纬度与平均值之间的距离