当“外部”没有帮助时,如何使用Shapely获得复杂多边形的轮廓?

2024-05-16 18:39:52 发布

您现在位置:Python中文网/ 问答频道 /正文

为了解决一个移动机器人路径规划问题,我使用Shapley,给定一组已经计算的子路径(目标到目标的路径),检查子路径创建的多边形内是否存在障碍物(多边形中的点检查)。问题是,有时路径会创建一个内部有不需要的孔的多边形,这使得“多边形内部的障碍物”检查无效

障碍检查在理想情况下应返回True时返回False的示例:

Example of a case where the obstacle check returns False when ideally it should return True

例如,在图片中,青色的多边形是这样联合排序的,但我希望由红线定义的整个区域被定义为多边形,因此“洞”内的障碍物也被识别。我尝试使用“polygon.external”只提取多边形的轮廓线,但它给了我与创建多边形所用的轮廓线完全相同的轮廓线集,所以没有成功

这是检查整个区域的另一种方法吗?有没有更简单的方法来执行相同的任务

(这里的多边形基本上是“多边形=多边形(坐标)”,坐标是定义路径并通过采样方法获得的点列表)


Tags: 方法路径falsetrue区域目标定义情况