java 点与线的距离_计算地图上点与线段距离
将地球看做一个标准球体,计算点到线段的距离。
计算两点间的球面距离
/**
*
* a点经度,a点纬度,b点经度,b点纬度
*
*/
public static double calcP2P(double alon, double alat, double blon, double blat) {
double R = 6378.137;// 地球半径(千米)
// 判断点是在北半球还是南半球,本程序中输入的数据若为负则表示在南边球
double distance = 0.0D;
double _alat = (alat) * (Math.PI / 180); // 弧度
double _alon = (alon) * (Math.PI / 180);
double _blat = (blat) * (Math.PI / 180);
double _blon = (blon) * (Math.PI / 180);
double c = Math.sin(_alat) * Math.sin(_blat) + Math.cos(_alat) * Math.cos(_blat) * Math.cos(_alon - _blon); // Java中三角函数角度以弧度制表示
if (c > 1) {
c = 1;
}
distance = Math.acos(c) * R; // 弧长公式:弧长 = 弧度 * 半径
if (distance <= 0.01) { // GPS误差
distance = 0.0D;
}
return distance;
}
计算点到线段的距离
/**
*
* x,y--点的经度和纬度
* x1,y1--线段某个端点的经度和纬度
* x2,y2--线段另外一个端点的经度和纬度
*
*/
public static double calcP2L(double x, double y, double x1, double y1, double x2, double y2) {
double d1 = (x2 - x1) * (x - x1) + (y2 - y1) * (y - y1);
if (d1
return calcP2P(x, y, x1, y1);
}
double d2 = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);
if (d1 >= d2) {
return calcP2P(x, y, x2, y2);
}
double r = d1 / d2;
double px = x1 + (x2 - x1) * r;
double py = y1 + (y2 - y1) * r;
return calcP2P(x, y, px, py);
}
java 点与线的距离_计算地图上点与线段距离相关推荐
- php 地图两点距离计算,计算地图上两点间的距离PHP类
计算地图上两点间的距离,使用的是谷歌地图 class GeoHelper { /** * @param int $lat1 * @param int $lon1 * @param int $lat2 ...
- php 计算两点时间距离,PHP计算地球上两点之间的距离(示例详解)
给定经度和纬度,求地球上两点之间的距离.首先我们需要了解该问题的解决思路,然后再用PHP代码来实现计算. 此问题可以用半正矢(haversine)公式求解: 大圆距离或正交距离是球面(或地球表面)上两 ...
- JAVA 计算地球上任意两点(经纬度)距离
/*** 计算地球上任意两点(经纬度)距离* * @param long1* 第一点经度* @param lat1* 第一点纬度* @param long2* 第二点经度* @param lat2* ...
- 给定经纬度计算距离_根据经纬度计算地球上两点之间的距离js实现代码
利用JS实现的根据经纬度计算地球上两点之间的距离 最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面 ...
- 根据经纬度计算地球上两点之间的距离——Haversine公式介绍及计算步骤
目录 摘要 1.半正矢公式(Haversine Formula)介绍 2.半正矢公式应用 3.半正矢公式计算 3.1 主要思路 3.2 计算步骤 3.2.1 平面向量计算方法 3.2.2 空间向量计算 ...
- 计算地图两个点的距离 经纬度距离计算
一.java public class DistanceUtil {/*** 转化为弧度(rad)*/private static double rad(double d) {return d * M ...
- 由经纬度计算地球上任意两点的距离
由经纬度计算地球上任意两点的距离 在地球上,城市的地理位置.GPS定位.一些地标的地理位置等是由经纬度给出的,本文主要根据两个地理位置的经纬度,来计算两个地理位置之间的距离. %计算城市间距离 zb= ...
- 求两条轨迹间的hausdorff距离_题型 | 圆上有n个点到直线距离为d?
圆上有n个点到直线的距离为d 圆 上到直线 的距离为 的点有( )个 方法一:常规方法,画图分析 由图象可以明显看出,圆在直线上方的部分内没有满足题意的点,在直线下方的部分内有两个满足题意的点. 但是 ...
- 地图测试距离的软件,App Store 上的“距离 - 在地图上绘制并测量距离”
沿地图绘制路线以测量距离,使用此应用轻松解决.现在有面积测量和自定义系数. 用法 ---- 触摸即可.在地图上绘制一条路线以测定距离.放大镜将帮您进行精确的绘制和测量. ◆ 在移动和测量模式之间切换. ...
最新文章
- 基于DL的计算机视觉方法热度高涨,传统方法就可以偏废?
- 视觉(12)Active Vision Based Robot Navigation System
- 帮助你构建自适应布局的30款优秀 jQuery 插件(下篇)
- Win10如何打开软键盘?
- gazebo仿真环境加载多个机器人
- VLDB 2021 EAB最佳论文:深度解析机器学习的基数估计为何无法实现?
- python3.X 使用pip 离线安装whl包(转载)
- html自动加https,http自动跳转https的配置方法
- RxJava Agera 从源码简要分析基本调用流程(2)
- vim 编辑器基本使用
- 05 jQuery的DOM操作
- Linux用户登录日志查询
- 微波天线及各种天线概念解析
- C#—— 身份证验证方法
- 企业需要关注的零信任 24 问
- 无法弹出U盘的几种解决方法
- git merge fast-forward squash no-ff
- MySQL单表数据量过大的处理方式经验
- Python画中国地图-数据导入
- 谁能和乔布斯比勤奋?乔布斯的睡眠时间
热门文章
- php内打开网址,网站内部跳转外部网站go.php
- java基础入门-预定义类与自定义类
- stm32f103zet6linux,stm32f103zet6定时器详解及应用
- php开启path_info,Nginx + php-fpm 开启 PATH_INFO 模式
- 常考的 21 条 Linux 命令
- Redis中主、从库宕机如何恢复?
- 想让好友不停地擦手机屏幕?微信头像这样设置就行了!
- MacOS 终于可以完美使用 Podman 了!
- 2020 蚂蚁面试指南!
- Spring Boot + Dataway :接口不用写,配配就出来?