/**
* 坐标计算
* date :Nove 11,2011--- 光棍节
* author:snuser
*/
/**
示例:
$lat = 0.1;
$lng = 116.085239;
$lat2 = 0.2;
$lng2 = 116.085239;
$data = Coordinate::getDisCoord($lng, $lat, 1000);
$distance = Coordinate::getDistance($lng, $lat, $lng2, $lat2);
*/
class Coordinate{
/**
* 地球半径 单位(m)
* 常量
*/
const EARTH_RADIUS = 6378137.0;
/**
* 得到某坐标发散后的距离的坐标
* @lng 经度 floor (11,7)
* @lat 纬度 floor (11,7)
* @distance 单位(m)
* return array
*/
static function getDisCoord($lng,$lat,$distance){
//纬度偏移
$dlat = 2*asin(sin($distance/(2*self::EARTH_RADIUS))/cos($lat));
$dlat = rad2deg(abs($dlat));
//经度偏移
$dlng = $distance/self::EARTH_RADIUS ;
$dlng = rad2deg( abs( $dlng ) );
return array(
'lat1'=>sprintf('%.7f', ($lat+$dlat)),
'lat2'=>sprintf('%.7f', ($lat-$dlat)),
'lng1'=>sprintf('%.7f', ($lng+$dlng)),
'lng2'=>sprintf('%.7f', ($lng-$dlng)),
);
}
/**
* 计算两点之间的球面距离
* return floot
*/
static function getDistance($lng0, $lat0, $lng1, $lat1){
$x = ($lng1-$lng0)*M_PI*self::EARTH_RADIUS*cos(($lat0+$lat1)/2*M_PI/180)/180;
$y = ($lat1-$lat0)*M_PI*self::EARTH_RADIUS/180;
$distance = self::hav($x, $y);
return $distance;
}
/**
* 开平方
* 根号下(x2+y2)
* @param unknown_type $x
* @param unknown_type $y
* @return unknown
*/
static function hav($x, $y){
return sqrt($x*$x+$y*$y);
}
}
分享到:
相关推荐
已知一个点的坐标和两点之间距离求另外一点坐标
天地图拾取坐标map.html
已知一点坐标和经纬度求其它经纬度坐标或相应坐标经纬度,里面是将坐标与经纬度相互转换的代码: 将坐标转化成相应的经纬度 传入起点经纬度,和终点经纬度,返回终点经纬度 直接复制整个代码运行即可,注:需修改...
vue实现在图片中画矩形框(JS图片画方块定位坐标),并得到对角坐标,并拿到对应坐标制作图片热区并设置map中area的样式(图片热区map area的用法)
echart map 世界各国城市坐标、 中国各省会 经纬度坐标、 包含城市中英文名称、sql语句 世界各国城市坐标 世界各国城市坐标
一个点在A坐标系下的坐标和在B坐标系下的坐标已知,求A坐标系下的另外一点在B坐标系下的坐标 输入:1.已知点在A坐标系下的坐标 2.已指点在B坐标系下的坐标 3.未知点在A坐标系下的坐标 输出:未知点在B坐标系下的...
JS调用Google地图 js获得Google地图坐标 左键单机获得google地图坐标以及中心坐标 缩放度
C#判断指定的坐标点(经纬度)是否在指定的区域内!地图坐标点判断(经纬度判断)
地理坐标和屏幕坐标相互转换,代码详细,使用
根据txt中记录的角度旋转图像并用黑色像素补齐,通过txt中记录的斜矩形框四个点的坐标求出新坐标,对图像进行裁剪
* 谷歌地图采用的是WGS84地理坐标系(中国范围除外); * GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。 * 谷歌中国地图和搜搜中国地图采用的...
Teechart控件设置坐标轴范围.zip Teechart控件设置坐标轴范围.zip Teechart控件设置坐标轴范围.zip Teechart控件设置坐标轴范围.zip Teechart控件设置坐标轴范围.zip
使用GIS Arc Map将世界地图改成太平洋中心的坐标系设置 GIS(Geographic Information System,地理信息系统)是处理、分析和显示地理空间数据的计算机系统。在 GIS 中,坐标系是描述地球表面的参考系,而 Arc Map ...
判断一个坐标点是否在多边形区域范围内。可直接使用。 用来做地图经纬度 判断一个点是否在一个多边形范围内很合适 代码简洁 不到100行代码
整理的坐标轴范围刻度确定算法代码及相关文献,应用于自己开发绘图程序时,自适应计算坐标范围及刻度,有好几个算法,需要的拿去,献给需要的人!
适用于Echarts-map中的中国所有城市坐标,适用于Echarts-map中的中国所有城市坐标.js
解决圆曲线上任意点坐标计算中方位角推算方法,此方法可直接得到圆曲线上任意点的坐标方位角和边长,省略了标准计算方法通过切点为中间过渡的计算办法,最重要的在计算坐标前就得到放线参数而无需通过坐标反算再得到...
在项目中运用到图形展示数据太常见了,echarts是一款使用率非常高的插件工具,很多大平台都是使用echarts;以上是一份广东地区的坐标数据。
NULL 博文链接:https://ieblaze.iteye.com/blog/928853