package com.ejianf.utils; /** * 类名称:PointToDistance * 类描述:两个百度经纬度坐标点,计算两点距离 * 创建人:钟志铖 * 创建时间:2014-9-7 上午10:14:01 * 修改人: * 修改时间: * 修改备注: * 版本信息:1.0 * 联系:QQ:433647 */ public class PointToDistance { public static void main(String[] args) { getDistanceFromTwoPoints(23.5539530, 114.8903920, 23.5554550, 114.8868890); distanceOfTwoPoints(23.5539530, 114.8903920, 23.5554550, 114.8868890); } private static final Double PI = Math.PI; private static final Double PK = 180 / PI; /** * @Description: 第一种方法 * @param lat_a * @param lng_a * @param lat_b * @param lng_b * @param @return * @return double * @author 钟志铖 * @date 2014-9-7 上午10:11:35 */ public static double getDistanceFromTwoPoints(double lat_a, double lng_a, double lat_b, double lng_b) { double t1 = Math.cos(lat_a / PK) * Math.cos(lng_a / PK) * Math.cos(lat_b / PK) * Math.cos(lng_b / PK); double t2 = Math.cos(lat_a / PK) * Math.sin(lng_a / PK) * Math.cos(lat_b / PK) * Math.sin(lng_b / PK); double t3 = Math.sin(lat_a / PK) * Math.sin(lat_b / PK); double tt = Math.acos(t1 + t2 + t3); System.out.println("两点间的距离:" + 6366000 * tt + " 米"); return 6366000 * tt; } /********************************************************************************************************/ // 地球半径 private static final double EARTH_RADIUS = 6370996.81; // 弧度 private static double radian(double d) { return d * Math.PI / 180.0; } /** * @Description: 第二种方法 * @param lat1 * @param lng1 * @param lat2 * @param lng2 * @return void * @author 钟志铖 * @date 2014-9-7 上午10:11:55 */ public static void distanceOfTwoPoints(double lat1, double lng1, double lat2, double lng2) { double radLat1 = radian(lat1); double radLat2 = radian(lat2); double a = radLat1 - radLat2; double b = radian(lng1) - radian(lng2); 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 = Math.round(s * 10000) / 10000; double ss = s * 1.0936132983377; System.out.println("两点间的距离是:" + s + "米" + "," + (int) ss + "码"); } }
相关推荐
Java计算两个经纬度点之间距离(以米为单位)算法, 纯Java代码, 可供参考。 在具体项目中使用过。
JAVA 计算两个经纬度关系计算 - FALCON - 斑驳的蓝调 1. Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度; 2. a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差; 3. 6378.137为地球半径,...
WGS84坐标下根据经纬度计算两点之间的距离 Xian80的需要先转化
1、已知两点经纬度求距离方位角 2、已知一点经纬度、距离、方位角求另一点经纬度。 java源码。本人手敲,亲测简单实用。可用于百度地图、Google地图开发,误差极小基本可忽略。
从事测量或道桥行业的人经常会遇到根据GPS大地坐标求算两点间的距离和方位角,计算并不难,只是比较繁琐。这个小工具是用EXCEL编写的,输入两点的横纵坐标及坡度,即可求出两点的距离和方位角。由于需要频繁地输入...
java计算两个坐标之间的距离,参数为两个坐标点的经纬度
小工具, 根据一点的经纬度, 到另外一点的距离, 方位角, 计算另外一点的经纬度.
地图经纬度的一些转换,如:计算距离、计算角度、相对原点坐标转换
根据已知点坐标计算附近位置,代码详细解释了三种计算策略。主要涉及日常需要解决问题,例如类似于滴滴打车实现查找附近车辆业务逻辑和贝壳找房根据指定位置筛选出附近房源,上述两场场景应用可借鉴代码中两种方法...
地址转换成经纬度+两地址间距离计算+省市区位置解析(Java代码) Hive自定义函数的封装
主要介绍了Java通过经纬度坐标获取两个点之间的直线距离的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
记录下 java jts 求两个空间几何图形间最短距离,及最短距离间的两个坐标. 如:求一个点到一条直线的垂直坐标
java代码判断一个点坐标与面系列坐标的位置关系,基本原理为射线法判断,可直接复制到eclipse运行,亲测可用。
使用java求两个圆相交的坐标,下载前请参见博客:http://blog.csdn.net/u013780605/article/details/52673223,文章中有具体的过程,该资源为工程文件,可直接编译运行。
根据几个点的经纬度,算出这几点之间的距离,用Java编写,和网友们共享。
高德地图 1,根据经纬度计算面积 2,判断一个点是否在圈内
Java地图工具类计算地球上两点之间的距离,工具类系Java程序,输入两个坐标的经纬度,获得距离返回值
最近因为工作的需求,需要计算出高德地图中两个坐标的距离,通过查找相关资料发现了多种实现的方法,下面这篇文章主要给大家介绍了关于利用java、js或mysql计算高德地图中两坐标之间距离的相关资料,文中通过示例...
给定4个坐标,判断这4个坐标是否可以构成一个正方形,代码里用了两种方法。 第一种,对坐标先排序,然后计算邻边和斜边的...第二种,直接求出两点之间的距离,4个点总共6种距离,然后对距离排序,其中边相等,斜线相等
高德地图路径规划api,批量获取坐标点间的距离,驾车时间等