以下是GoogleMap的计算最短距离API:
private final double EARTH_RADIUS = 6378.137; //地球半径
private static double rad(double d)
{
return d * Math.PI / 180.0; //计算弧长
}
private static double rad(double d)
{
return d * Math.PI / 180.0; //计算弧长
}
//lng1 第一个点经度,lat1第一点纬度;lng2第二点经度,lat2第二点纬度
public static double getShortestDistance(double lng1,double lat1,double lng2,double lat2 ){
double radLat1 = rad(Lat1);
double radLat2 = rad(Lat2);
double a = radLat1 - radLat2;
double b = rad(Lon1) - rad(Lon2);
double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
s = s * EARTH_RADIUS;
// s = s * 1000; //换算成米
return s; //得到千米数
}
public static double getShortestDistance(double lng1,double lat1,double lng2,double lat2 ){
double radLat1 = rad(Lat1);
double radLat2 = rad(Lat2);
double a = radLat1 - radLat2;
double b = rad(Lon1) - rad(Lon2);
double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
s = s * EARTH_RADIUS;
// s = s * 1000; //换算成米
return s; //得到千米数
}
// 测试
public static void main(String[] args) {
public static void main(String[] args) {
double lng1 = 117.10156050396506;
double lat1 = 39.12835580850143;
double lng2 = 117.09607822580763 ;
double lat2 = 39.014446251230325;
double q = getDistance(lng1, lat1, lng2, lat2);
System.out.println(q);
double lat1 = 39.12835580850143;
double lng2 = 117.09607822580763 ;
double lat2 = 39.014446251230325;
double q = getDistance(lng1, lat1, lng2, lat2);
System.out.println(q);
}
相关推荐
B样条曲线曲面拟合代码 给出坐标点,绘制控制点,绘制曲面
在实际使用过程中我们用的最多的还是平面坐标,并且单位最好与常用的长度单位(米)一致。所以就产生了从曲面到平面的转换,这个过程也叫做投影,转换的结果也就是投影平面坐标系。
方法建立以曲面、曲线上未知点坐标设计变量,以曲面和曲线方程为约束条件,以曲线和曲面距离为目标函数的约束优化方法来精确地确定曲面和曲线之间最短距离,同时确定获得最短距离对应的坐标点。结果进行波动路面和...
本文针对GPS 坐标转换过程中由于利用公共点求解转换参数,而将原有坐标系中系统误差引入转换过程中的情况,探讨将曲面拟合法应用到坐标转换中来处理转换残差的可行性,并通过工程实例证明了该方法可行。
线段与三角形网格曲面指定距离点对快速计算,胡奔,刘圣军,给出了一个快速计算线段与三角形网格曲面指定距离点对的方法。该算法首先对线段和三角形网格曲面进行直角坐标变换,将线段作为直
附图片和说明,非常详细。从Catia数据模中批量提升点的坐标值(曲面和曲线都试过,绝对可以用)!!!!
墨卡托法,计算任意多边形曲面的面积。可以用于各种地图控件。
为进一步简化两三角面片间的距离计算,在误差可控范围内提出采样点近似计算方法。实验表明,与曲面直接构造包围盒方法相比,该方法简便、易于实现、排除率高,在不影响计算结果的情况下,计算效率显著提高,有广泛的...
matlab开发-点2点与三角形曲面之间的距离。三维中点与三角曲面之间的距离。可以插入最近的点作为顶点。
OpenGL实现bezier曲面和吧样条曲面的绘制。
!DO I=1,IM ! DO J=1,JM ! r_min=10000.0 ! DO k=2,IS ! TEMP=(xs(k)-xs(k-1))/(ys(k)-ys(k-1)) ... TEMPP=(ys(k)-ys(k-1))/(xs(k)-xs(k-1)) ... x0=1.0/(TEMP+TEMPP)*(TEMP*x_heng(I,J)+TEMPP*xs(k)+y_heng(I,J)-ys(k...
1、对于XYZ空间上的n个点(例如上例,n=1000*200),计算任意两点之间的欧式距离。有n*(n-1)/2个距离; 2、设定一个小邻域值e。 n*(n-1)/2个距离中,大于e的距离设为无穷大; 3、计算从原点(0,0,0)到其他所有点的...
凹抛物面的距离函数,为了能够快速计算大量数据点到抛物面的距离,采用解析方法求解三次方程,并且代码尽量向量化。
双三次Bezier曲面的编程实例,帮助你进一步学习Java 3d 和计算机三维动态图形
自由曲面点云三维坐标(对应所发布问题:曲面点云求交算法)
用粒子群优化算法计算点到复杂曲面最短距离.pdf
三次NURBS曲线曲面矩阵形式的求导计算,吴宝海,王尚锦, 针对在CAGD中最为常用的三次NURBS曲线曲面,本文对其矩阵形式的求导计算进行了推导,给出了矩阵形式的任意阶导数计算公式。算例表�
为解决传统双三次Coons曲面片在给定边界条件时其形状难以调整的不足,给出了一组带形状参数的Hermite基函数,并基于该基函数构造了一种带两个形状参数的Coons曲面片,称之为QC-Coons曲面片;然后通过对基函数重新...
运用二次曲面法拟合根据周围临近8点内插已知平面坐标的高程坐标 DEM 适合地球空间地理信息专业的课程设计,如测绘遥感空间……有点鸡肋
经典代码 Bezier曲线代码 java