找不到Shapely的parallel_offset

1 投票
2 回答
1396 浏览
提问于 2025-04-17 17:36

我正在尝试使用 Shapely 库里的 parallel_offset 功能,但似乎找不到这个东西。我已经包含了示例中提到的导入代码,但它就是不识别 parallel_offset

from matplotlib import pyplot
from shapely.geometry import LineString
from descartes import PolygonPatch

line=LineString([(0,0),(0,1),(1,1),(2,0)])
offset = line.parallel_offset(1,'left',join_style=2)

然后我得到了:

$ python parallel_offset.py 
Traceback (most recent call last):
  File "parallel_offset.py", line 6, in <module>
    offset = line.parallel_offset(1,'left',join_style=2)
AttributeError: 'LineString' object has no attribute 'parallel_offset'

我哪里出错了呢?

2 个回答

0

我复制了“你们的一些代码行”,如下所示,这样也能正常工作。

from shapely.geometry import LineString
line=LineString([(0,0),(0,1),(1,1),(2,0)])
offset = line.parallel_offset(1,'left',join_style=2)

我得到了图中显示的结果

你遇到的问题可能是因为安装不正确,所以建议你重新安装一下,记得用最新版本。

1

这个功能有两个要求,必须同时满足:

  • Shapely的版本要大于或等于1.2.8
  • GEOS的版本要大于或等于3.2.0

撰写回答