问题标签 [self-intersection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10620 浏览

import - 自动修复 shp2pgsql 中的环自相交

我们正在将一大堆 ArcGIS shapefile 导入 PostGIS,并使用shp2pgsql. 问题是,如果 shapefile 有任何环自相交,导入会阻塞:

我们如何解决这个问题?

0 投票
1 回答
1212 浏览

google-maps-api-3 - 谷歌地图 api v3 添加新的多边形顶点,没有交叉或自相交

似乎这个即使对于大师来说也可能太难了,所以我会尝试重新措辞以尝试得到一些回应:我正在尝试智能地向现有多边形添加一个或多个顶点,而没有交叉或自相交,但我所做的只是可以找到以下复杂的 V2 示例: http ://www.kashey.ru/pages/maps/basic_poly_editor_test.php# 我想做同样的事情,但改用 Google Maps api V3。有谁知道检测现有多边形边或多边形边最接近或最接近您在该多边形附近单击的点的方法?我相信这需要一些严肃的数学和三角函数,但到目前为止我找不到任何使用 Google Maps api V3 完成它的人。也许如果有人可以告诉我如何将上面的 V2 代码转换为 V3,那么我可以使用它来运行。任何帮助将非常感激。

0 投票
1 回答
7387 浏览

javascript - 谷歌地图多边形自相交检测

我正在尝试从 Google Maps API V3 多边形实现多边形自相交算法。
目标只是检测是或否,用户绘制的简单多边形是自交叉的。

我发现了这个非常有趣的链接,但它假设多边形顶点的坐标是以geoJSON格式给出的。但是,这不是我的情况;我只能使用事件检索多边形polygon.getPath()坐标polygoncomplete

这就是我检索坐标的方式:

如何将这些坐标转换polygon.getpath()geoJSON格式?
有没有更好的方法来检测谷歌地图多边形是否自相交?如果是这样,您能否分享一些代码示例而不仅仅是数学解释?

PS:我看过这个链接,但没有任何代码示例,我有点迷茫。

0 投票
1 回答
522 浏览

c++ - 在使用 QPainterPath 绘制自由路径时找到交叉线

我正在实现自由形式的绘图,用于使用鼠标按下绘制自由路径并使用Qpainter QPainterpath移动

现在我必须检测绘制的路径何时与另一条交叉或相交。我如何识别线在某个点何时相互交叉并向用户发出警告。

在此处输入图像描述

0 投票
0 回答
317 浏览

c++ - 提升自我相交,没有找到相交的共线段

我正在尝试在多边形中找到交叉点。具体来说,我对共线交叉点感兴趣,其中两个线段彼此重叠并在所有公共部分相交。我认为这与政策有关,但不确定如何定义正确的政策。将不胜感激任何帮助。

0 投票
0 回答
365 浏览

c++ - 使用 Opencv 和 C++ 查找非常小的对象区域,可能是自相交的

如何计算非常小的物体的面积,有时面积为 2 个像素?MATLAB 的 regionprops() 似乎做得很好,并且会为一个点返回甚至 1 的值。我已经广泛阅读了这个问题,每个人似乎都对自相交轮廓提出警告,但没有提供其他选择。这是我的代码示例:

我得到非常奇怪的区域值,例如对象区域的 0、1.5。我不希望小数区域,因为我希望函数返回像素的原始总和,使得一个点的面积为 1。就这个问题而言,有什么发展吗?它似乎也影响了其他派生值,例如偏心度。我想我可以将这个问题总结为:如何获得连接组件的原始像素数,并让 Opencv 在需要区域的地方正确计算 Hu 矩和其他派生值?如果不可能,您能否建议一些设计/方法重新调整以规避该问题?我本来希望让 opencv 这样做,这样我就可以利用它的其他功能,例如 hu 矩和椭圆拟合。

0 投票
1 回答
627 浏览

export - 按编号删除自相交面

我有一个网格,我将其导入 Meshlab 并简化、清理和重建网格。我从 meshlab 导出最终网格并导入有限元软件 (COMSOL)。导入时收到“自相交面,Face:19303”的错误消息。

Meshlab 找不到任何自相交的面。如何选择面 19303 并修改/删除它以修复错误?

谢谢,哈米德

0 投票
1 回答
677 浏览

javascript - 使用 JSTS 库在 Leaflet 多边形中查找自相交

我正在使用带有 Leaflet Draw 的 Mapbox,并且我想避免自相交的多边形。

我已经可以指定在创建绘图控件时不允许相交,但它仅在我使用控件创建新多边形时才有效。但是,如果我尝试编辑一个已经存在的多边形,它允许那里有交叉点。

我四处搜索,发现JSTS 库正是我想要的,我还发现这个JSFiddle可以用作示例,它基于 Google Maps API 工作。

所以我根据上面的两个链接用 Mapbox创建了自己的JSFiddle 。在这里,如果是多边形编辑,则“findSelfIntersects”函数会启动,如果是新多边形,则不会使用它。这个想法是,如果有交叉点,我会向用户显示警报并取消编辑。但是,当我尝试执行此操作时,出现uncaught exception: [object Object]错误。

错误似乎是在 findSelfIntersects 函数的这一行上形成的:

我检查了谷歌地图示例返回的坐标,这似乎与我得到的坐标相似。但我不确定为什么会收到此错误。

0 投票
0 回答
695 浏览

stl - 为什么 Meshlab 无法正确识别自相交面?

偶尔会发现看似不正确的虚假自相交 - 请参阅这个只有两个面的最小示例。将面识别为自相交。如果我将文件另存为 ascii ,则该文件不再显示为自相交。

我检查了二进制文件的二进制内容,看看是否有未显示的三角形,以防零面积三角形根本没有显示,但似乎没有。

0 投票
1 回答
314 浏览

oracle-spatial - 是否有用于查找自相交线串的 oracle 空间函数?

我需要在表中找到所有自相交的线串。SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT 仅查找自相交的多边形,因为允许使用自相交的线串。有任何想法吗?