尝试在圆内查找路径长度时出现匀称的拓扑异常

问题描述

我正在尝试使用 shapely 找到包含在指定圆圈内的波浪形路径的长度:

length = ctrl_port.buffer(roi_radius,resolution=32).intersection(path).length

其中 ctrl_port 是圆的中心点,path 是由一系列位置随时间构建的 Linestring(可以循环自身,可以在多个时间点保持不变)。

但是对于某些路径,我收到此错误

TopologyException: found non-noded intersection between LInesTRING (242.146 311.259,242.03 311.259) and LInesTRING (242.03 311.259,242.146 311.259) at 242.03044156141476 311.2589721684073

对应的路径如下:

enter image description here

我发现了降低浮点精度的建议,如 here。但我不确定这是同一个问题,或者如何在匀称的情况下应用该建议。 有没有办法解决这个问题,或者有没有另一种方法来计算 Python 中圆内路径部分的长度?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)