Java-如何检查经/纬度坐标是否在多边形内

放聪明点 :

我想检查地图上的给定点(及其经度和纬度)是否在某个多边形内。我有多边形的顶点坐标(纬度/经度)。

我想创建一个多边形并检查点是否在内部,但这使我知道该点始终在外部...也许该多边形不适用于地理参考坐标?

Double[] xCoords = {40.842226, 40.829498, 40.833394, 40.84768, 40.858716}
Double[] yCoords = {14.211753, 14.229262, 14.26617, 14.278701,  14.27715}
Double[] myPoint = {40.86141, 14.279932};


Path2D myPolygon = new Path2D.Double();
            myPolygon.moveTo(xCoords[0], yCoords[0]); //first point
            for(int i = 1; i < xCoords.length; i ++) {
                myPolygon.lineTo(xCoords[i], yCoords[i]); //draw lines
            }
            myPolygon.closePath(); //draw last line

               if(myPolygon.contains(myPoint{0}, myPoint{1})) {
                //it's inside;
}

这就是在Google地图中的样子

在此处输入图片说明

它总是返回false ...但是它位于多边形内部...

lelloman:

无论多边形具有什么形状,该点都不可能包含在该多边形中。

40.858716当点的x值为时40.86141最右边的坐标位于,这表示该点位于多边形的右边。与y相同,多边形的最大y坐标是14.278701点在时14.279932这意味着要点在外面

此外,你翻转坐标,我们心爱的城市的坐标40.8518° N, 14.2681° E,这意味着40y14x

Path2D会很好的。我的观察仅告诉您该点不在多边形内,但是检查极点并不是验证点在多边形内的一般解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何生成Java为中心的随机多边形?

如何从XML文件在Java中创建多边形

检查经纬度是否在一个圆内

分割Java多边形

如何在Java中检查给定点是否位于2D多边形内(常用方式)

Java / libGDX-如何使用矩形或圆形检查多边形碰撞

如何检查形状文件多边形包含经纬度点的numpy meshgrid

Java如何绘制和填充有孔的多边形

GeoTools,Java:如何将Shapefile数据从DOR转换为具有经度和纬度坐标的多边形

检查Latlng是否在多边形内

如何检查线串是否与Java中的多边形相交

使用Java的ArcGis Api将经纬度转换为XY坐标

从文本文件获取坐标行并检查点是否在多边形内

Javascript-检查经纬度坐标是否在边界内

生成落在多边形内的经纬度坐标网格

使用google_maps_flutter检查坐标是否在抖动中的多边形内

如何将经纬度映射到R中多边形/ shapefile的最近点

如何使用Python检查纬度/经度坐标是否在多边形内。(考虑到大圈子。)

如何创建多边形并检查给定的纬度,经度是否在内部

如何获得给定地址/经纬度的送货多边形?

多边形Java类

Java 8 + Swing:如何绘制齐平多边形

检查坐标是否在KML多边形内

如何在Java中填充多边形?

计算点坐标是否在具有凹角和凸角的多边形内?Java脚本

检查位置(纬度经度)是否在 KML 多边形内

查找坐标是否在多边形内

检查点坐标是否在多边形内

SQL 切换多边形字符串中的经纬度位置