函数从使用Shapely的点创建线条字符串

2024-09-23 22:27:25 发布

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

我有一份要点清单:

points = [Point(2.2, 4.2), Point(7.2, -25.1), Point(9.26, -2.456)]

我正在尝试编写一个函数来检查此列表是否包含点对象,然后返回一个字符串,目前为止:

^{pr2}$

我只能从createLineGeom(points)返回else消息。不确定我的问题是type()函数还是我的第一个return语句,我是一个编写函数的初学者。在

谢谢!在

回答后更新

vertices = [Point(2.2, 4.2), Point(7.2, -25.1), Point(9.26, -2.456)]
# function
def createLineGeom(giveLine):
    if isinstance(giveLine, Point):
       return LineString(giveLine)

仍然没有从返回值

pls_work = createLineGeom(vertices)

Tags: 对象函数字符串消息列表returntypeelse
2条回答

感谢@J_H用isinstance()为我指明了正确的方向。我不确定我的解决方案是否是最有效的选择,但它是有效的!在

def createLineGeom(inList):
if all(isinstance(x, Point) for x in inList) is True:
   return LineString(inList)
else:
    return 'pointList must contain shapely point object(s)'

使用print(type(giveLine))来学习对象的类型。在

在决定它是否是一个点时,您可能需要使用isinstance()。更好的是,向前冲,试着用这个论点。如果它不是一个合适的类型,你会得到一个有用的stacktrace解释问题。在

相关问题 更多 >