Java 给定纬度和经度点,查找边点和多边形区域

Java 给定纬度和经度点,查找边点和多边形区域,java,geolocation,mapping,latitude-longitude,Java,Geolocation,Mapping,Latitude Longitude,从标题中你可以看到我得到了纬度和经度点。它们存储在csv文件中。最多有4万行 "45.01234","9.12345" "46.11111","9.12345" "47.22222","9.98765" ... 我的第一个问题是如何找到边坐标,完成后,它会转到我的第二个问题,我需要从这些边点计算多边形区域。下图显示了这些点的外观,边缘点用蓝线连接 我搜索了谷歌等等,发现了这样的问题:,和 首先,我会将所有的纬度和经度点从csv文件存储到arraylist中。 我不知道如何找到边缘点。但在找到

从标题中你可以看到我得到了纬度和经度点。它们存储在
csv
文件中。最多有4万行

"45.01234","9.12345"
"46.11111","9.12345"
"47.22222","9.98765"
...
我的第一个问题是如何找到边坐标,完成后,它会转到我的第二个问题,我需要从这些边点计算多边形区域。下图显示了这些点的外观,边缘点用蓝线连接

我搜索了谷歌等等,发现了这样的问题:,和

首先,我会将所有的纬度和经度点从csv文件存储到arraylist中。 我不知道如何找到边缘点。但在找到边点后,找到多边形区域的一种方法是将其划分为三角形,然后使用Heron公式计算三角形区域。地球是球形的,所以为了计算面积,我需要使用我上面给出的链接中的建议


是否有解决我问题的框架?我自己做这件事的方法是什么?当然,代码应该是内存和CPU效率高的

您正在寻找您的积分的最大值。这实际上是一个重复的问题:

+1用于研究工作,+1用于图片,-1用于有点宽泛的问题。Net+1@Perception感谢您对我的信任:)事实上,因为他正在处理纬度和经度点,我认为标准凸包算法不会起作用,至少不像您的链接中所描述的那样。问题在于,这些算法假设这些点是笛卡尔坐标,但(纬度,经度)-点肯定不是笛卡尔坐标,因为经度在+180/-180(反子午线)处“环绕”。因此,如果你有任何跨越反子午线的点,你会得到巨大的外壳,它会错误地环绕世界。