计算两GPS点之间的距离(比较精确)
2014-01-01 11:38
190 查看
具体参看网址: http://bbs.zdoz.net/thread-2-1-1.html
public static double getDistanceFromXtoY(double lat_a, double lng_a, double lat_b, double lng_b)
{
double pk = (double)(180 / 3.14169);
double a1 = lat_a / pk;
double a2 = lng_a / pk;
double b1 = lat_b / pk;
double b2 = lng_b / pk;
double t1 = Math.Cos(a1) * Math.Cos(a2) * Math.Cos(b1) * Math.Cos(b2);
double t2 = Math.Cos(a1) * Math.Sin(a2) * Math.Cos(b1) * Math.Sin(b2);
double t3 = Math.Sin(a1) * Math.Sin(b1);
double tt = Math.Acos(t1 + t2 + t3);
return 6366000 * tt;
}
#import <math.h>
public static double getDistanceFromXtoY(double lat_a, double lng_a, double lat_b, double lng_b)
{
double pk = (double)(180 / 3.14169);
double a1 = lat_a / pk;
double a2 = lng_a / pk;
double b1 = lat_b / pk;
double b2 = lng_b / pk;
double t1 = Math.Cos(a1) * Math.Cos(a2) * Math.Cos(b1) * Math.Cos(b2);
double t2 = Math.Cos(a1) * Math.Sin(a2) * Math.Cos(b1) * Math.Sin(b2);
double t3 = Math.Sin(a1) * Math.Sin(b1);
double tt = Math.Acos(t1 + t2 + t3);
return 6366000 * tt;
}
#import <math.h>
-(double)getDistanceTwoGPS:(NSNumber*)lat1 lng1:(NSNumber*)lng1 lat2:(NSNumber*)lat2 lng2:(NSNumber*)lng2 { double pk = (double)(180 / 3.14169); double a1 = [lat1 doubleValue] / pk; double a2 = [lng1 doubleValue] / pk; double b1 = [lat2 doubleValue] / pk; double b2 = [lng2 doubleValue] / pk; double t1 = cos(a1) * cos(a2) * cos(b1) * cos(b2); double t2 = cos(a1) * sin(a2) * cos(b1) * sin(b2); double t3 = sin(a1) * sin(b1); double tt = acos(t1 + t2 + t3); return 6366000 * tt; }
相关文章推荐
- 计算两GPS点之间的距离(比较精确)
- CSharp 两GPS点之间计算距离
- 计算两条直线之间的距离
- 计算两个经纬度之间的距离
- oracle 根据经纬度计算任意两地之间的距离
- java计算两点之间的距离的两种方法
- 计算两个经纬度之间的距离
- 计算指定两点经纬度之间的距离(附PHP源码)
- 面试题5:计算二叉树中最大节点到最小节点之间的距离
- 百度地图API:计算任意两个城市之间的距离
- java 计算两个经纬度之间距离
- 计算地球上2点之间的距离
- 计算地球上两个坐标点(经度,纬度)之间距离sql函数
- PHP利用经纬度计算两点之间的距离(两种方法)
- 计算两点之间的距离,两点之间的斜率(角度)--秀清
- Java 根据经纬度计算两点之间的距离
- 怎么计算两个经纬度之间的距离
- 高德地图计算两坐标之间距离
- 通过gps给定的两个经纬度坐标,计算两点之间的距离
- 计算两个经纬度之间的距离