gpt4 book ai didi

java - 查找相邻的多边形 Java

转载 作者:行者123 更新时间:2023-12-04 05:13:57 26 4
gpt4 key购买 nike

我有一系列使用 JTS Topology Suite 创建的多边形。每个多边形是一组点、经度和纬度,它们形成一个形状,如下所示。

((lat1,lon1),(lat2,lon2),....(lat1,lon1))

我想找到这些多边形邻居中的每一个,以及物理上靠近它们的其他形状。我曾想过寻找匹配点,但显然这不适用于所有情况。我想知道是否有任何包可以检查多边形是否共享我在这种情况下可以使用的相同边?或者,如果不是,那么另一种在 Java 中执行此操作的方法。

谢谢。

最佳答案

由于您正在寻找共享边,您可以创建一个哈希表,使用该边作为键,并创建一个以该边作为项目的多边形列表。

然后你遍历每个多边形并填满表格。这在边的数量上是线性的。

然后您浏览表格并查找与多个多边形相关的边,这就是您要查找的内容。这与唯一边的数量呈线性关系。

我不确定 Java 如何实现哈希表,因此获得此设置可能需要一些工作。确保对边进行排序以防止边 (A,B) 与边 (B,A) 不同,这会弄乱算法。

至于库,似乎您要尝试做的事情可能有点专业,因此不确定您会找到库实现,因此我概述了算法。

关于java - 查找相邻的多边形 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com