/**** * 根据经纬度 获取数据 工具类 * @author xuli * */ public class LngLatDistanceUtils { private static final Logger log = LoggerFactory.getLogger(LngLatDistanceUtils.class); /*** * 经纬度计算距离 * @author xuli * * @param lat1 纬度1 * @param lng1 经度1 * @param lat2 纬度2 * @param lng2 经度2 */ public static Float getDistance(Double lat1, Double lng1, Double lat2, Double lng2){ double EARTH_RADIUS = 6378.137;// 地球半径 double radLat1 = rad(lat1); double radLat2 = rad(lat2); double a = radLat1 - radLat2; double b = rad(lng1) - rad(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; Float ss = (float) (Math.round(s * 1000))/1000; return ss; } private static double rad(Double d){ return d * Math.PI / 180.0; } /**** * 判断点是否在多边形内(不包含边界) * * @author wanwenjun * @param point 点 * @param polygon 多边形 * @return */ public static boolean checkWithJdkGeneralPath(Point2D.Double point, List<Point2D.Double> polygon) { java.awt.geom.GeneralPath p = new java.awt.geom.GeneralPath(); // 初始化起点坐标 Point2D.Double first = polygon.get(0); p.moveTo(first.x, first.y); for (Point2D.Double d : polygon) { // 遍历点,并按遍历的顺序画线 p.lineTo(d.x, d.y); } p.lineTo(first.x, first.y); p.closePath(); return p.contains(point); } }
相关推荐
判断一个坐标点是否在多边形区域范围内。可直接使用。 用来做地图经纬度 判断一个点是否在一个多边形范围内很合适 代码简洁 不到100行代码
在计算机图形学和 GIS 领域中,判断某个点是否在所画多边形或圆形内是一个常见的问题。java语言提供了多种方法来解决这个问题。本文将详细介绍java判断某个点是否在所画多边形或圆形内的方法,并提供相应的代码实例...
在Java编程中,判断一个点是否位于多边形区域内是一个常见的地理空间运算问题。这个问题在地图应用、GIS(地理信息系统)以及游戏开发等领域有广泛的应用。以下是对这个知识点的详细阐述: 1. **坐标系统与投影**:...
C#判断指定的坐标点(经纬度)是否在指定多边形内坐标组范围内 !地图坐标点判断(经纬度判断)
在矢量多边形区域中,一个坐标点的位置是否在区域内 算法: C#代码,适用于任意多边形(凹凸多边形),但是没有考虑实际误差范围的情况(应用在实际问题解决中,接近区域一定范围是可以忽略的,这个误差范围考虑后算法的...
点在多边形的边上 前面我们讲到,射线法的主要思路就是计算射线穿越多边形边界的次数。那么对于点在多边形的边上这种特殊情况,射线出发的这一次,是否应该算作穿越呢?
在计算机图形学中,判断一个点是否位于一个多边形内部是一项基本任务,广泛应用于各种图形处理和几何计算中。本文将详细讲解如何使用C语言实现这个功能,采用射线法作为算法基础,并结合设计说明来深入理解代码实现...
在IT领域,尤其是在科学计算和地理信息系统中,计算多边形面积是一项常见的任务。这个"根据各点坐标计算多边形面积"的程序是用Fortran 2013语言编写的,它提供了处理几何问题的能力,特别是对于那些需要进行大量数值...
在计算机图形学中,判断一个点是否位于一个多边形内部是一项常见的任务,尤其在交互式应用和游戏开发中。本文将详细讲解如何使用C#语言实现这个功能,并结合实例进行说明。 首先,我们需要理解基本的几何概念。一个...
在计算机图形学中,判断一个点是否位于一个多边形内部是一项基本任务,这对于游戏开发、地理信息系统、图像处理等领域都非常重要。本知识点将详细介绍如何在Go语言中实现这个功能,支持凸多边形和凹多边形。我们将...
在计算机图形学中,判断一个点是否位于一个多边形内部是一项基本任务,尤其在MFC(Microsoft Foundation Classes)框架下开发图形用户界面时。本文将详细介绍如何使用射线法(也称为穿越法或Winding Number Test)来...
该工具类可以判断一个点是否在多边形内,据此可以判断,一个人是否在某个区域内,将多边形坐标作为一个字符串数组传入,再传入点的坐标,即可进行判断
判断GPS经纬度坐标点是否在一个多边形范围内,测试代码如下: $point = array('lng'=>'116.293616', 'lat'=>'39.884003'); $point = array('lng'=>'116.260846', 'lat'=>'39.879574'); $point = array('lng'=>'116....
在MATLAB环境中,计算多边形的质心和边缘凸点是几何处理中的常见任务,尤其是在图像处理、计算机视觉和图形学领域。本教程将详细解释如何利用MATLAB实现这一功能,以`seekgravlim.m`这个脚本为例。 首先,我们需要...
在计算机图形学和算法设计中,判断线段相交与点是否在多边形内是常见的问题,尤其在碰撞检测、几何渲染等领域有着广泛应用。本文将深入探讨这两个知识点,并结合提供的源代码`is_iner.cpp`和文档`是否相交.doc`进行...
在计算机图形学中,判断一个点是否位于多边形内部是一项常见的任务,尤其在VB(Visual Basic)编程环境中。这个任务通常涉及到二维几何计算和算法的实现。在VB中,我们可以利用数学方法来解决这个问题,这通常是通过...
下面是一个简化的JavaScript函数,用于判断点是否在多边形内: ```javascript function isPointInPolygon(point, polygon) { let inside = false; let numPoints = polygon.length; let j = numPoints - 1; ...
这是一个水平/垂直交叉点数判别法判断点是否在凹(凸)多边形内部(适用于任意多边形包括凹凸边形) 注意到如果从P作水平向左的射线的话,如果P在多边形内部,那么这条射线与多边形的交点必为奇数,如果P在多边形...
在IT领域,尤其是在计算机图形学和游戏开发中,判断一系列坐标点是否位于封闭图形内是一项重要的任务。这个任务通常涉及到碰撞检测、区域划分以及复杂的几何计算。本篇将详细讲解如何利用Matlab来实现这个功能,特别...
本文将深入探讨如何在经纬度坐标系统下计算球面多边形的面积,以及提供一个具体的JavaScript代码示例。 ### 经纬度坐标下的球面多边形面积计算 #### 基础理论 地球通常被视作一个完美的球体(尽管实际上它是一个...