JTS中如何判断一条线是否相交?

发布于 2024-11-18 06:53:43 字数 170 浏览 4 评论 0原文

有什么方法可以找出 JTS 中的 LineString 是否与自身相交?就像下图一样,我怎样才能找到这条线是否与自身相交?我通过给出 4 个边的坐标来创建该线。

在此处输入图像描述

提前致谢。

Is there any way to find out if a LineString intersects itself in JTS? Like in the following image how can i find if the line intersects itself? I am creating that line by just giving coordinates of its 4 edges.

enter image description here

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

香草可樂 2024-11-25 06:53:43

没有一条线可以与自身相交。你没有“一条线”;你有四行。您想看看其中两个是否彼此相交。

您可以显式计算交集或查看坐标的标记方式。如果从右下角开始,逆时针将点编号为 A、B、C 和 D,如果有直线连接 AC 和 BD,您会发现有一个交点。如果它们连接 AB、BC、CD 和 DA,则除了公共点之外不可能有交叉点。

No line can intersect itself. You don't have "a line"; you have four lines. You want to see if two of them intersect each other.

You can either calculate the intersection explicitly or look at how the coordinates are labeled. If you start in the lower right and number the points as A, B, C, and D by going counterclockwise, you can see that you have an intersection if there are lines connect AC and BD. If they connect AB, BC, CD, and DA there's no intersection possible except at the common points.

煮茶煮酒煮时光 2024-11-25 06:53:43

如果 LineString 像这样相交,isSimple() 将返回 false,因为简单几何图形不允许自相交。

If a LineString intersects like that, isSimple() will return false as self-intersection is not allowed for Simple Geometries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文