当前位置: 首页 > 知识库问答 >
问题:

如何创建一个形状多边形的列表形状点?

宫修贤
2023-03-14

我想创建一个多边形从形状点。

from shapely import geometry
p1 = geometry.Point(0,0)
p2 = geometry.Point(1,0)
p3 = geometry.Point(1,1)
p4 = geometry.Point(0,1)

pointList = [p1, p2, p3, p4, p1]

poly = geometry.Polygon(pointList)

共有1个答案

松智勇
2023-03-14

如果你特别想从形状几何点构造你的多边形,那么在列表理解中调用它们的x,y属性。换句话说:

from shapely import geometry

poly = geometry.Polygon([[p.x, p.y] for p in pointList])

print(poly.wkt)  # prints: 'POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'

请注意,shapely非常聪明,可以代表您关闭多边形,也就是说,您不必在最后再次传入第一个点。

 类似资料:
  • 为什么这工作正常: 这会产生运行时错误 错误: 这没有任何意义。第一个代码工作正常,三角形画好了,但第二个代码不行。有人能解释一下我做错了什么吗...

  • 我已经画了一个正方形,但是我怎样才能在它旁边放置另一个正方形而没有任何空隙呢?我认为< code>mRedRect1F中的第一个参数(0)需要更改,但我不知道该更改什么。 使现代化

  • 我有两个形状多边形实例(由lon,lat点组成),在不同的部分相交。我试图遍历,确定两个多边形之间是否有交集,然后创建一个新的多边形,排除该交集。从所附的图像来看,我基本上不希望红色的圆圈与黄色的轮廓重叠,我希望边缘正好是黄色轮廓开始的地方。 我已经尝试按照这里的说明,但它根本没有改变我的输出,而且我不想将它们合并到一个级联的联合中。我没有得到任何错误消息,但是当我将这些多边形添加到一个KML文件

  • 我目前正在使用JavaFX研究不同形状之间的边界相交。我想检测两个多边形在它们的点上的碰撞,而不是在它们的边界上(即2个多边形)。 请参阅图1:不期望的行为,以及图2:期望的行为。 是否有任何现有的算法可以帮助我或使用任何库?提前感谢:) 在这里找到我的解决方案: 输出: 它似乎工作正常,我将使用Path对象进行测试以替换多边形objets。

  • 我有一个二维点的列表,它是一个闭环,二维,凹形多边形。 我想生成第二个多边形,它完全在第一个多边形的内部,并且第一个多边形的每个顶点/边缘到第二个多边形的每个顶点/边缘具有恒定的距离。 基本上,第一个多边形是“外墙”,第二个多边形是“内壁”,两墙之间的距离不变。 怎么做这样的事?

  • 我正在寻找一种方法来创建一组多边形(rechtangles),沿着一条线在多个多边形中创建一组多边形(rechtangles),并将其水平隔开,如图所示。 我尝试生成点并将其用作多边形的中点,但问题是,通过创建等间距的点光栅,除了180度之外,不可能以任何其他方向旋转。 例子 给出了一个多多边形形状的对象和由宽度和高度以及每个多边形之间的垂直和水平间距定义的多边形。多边形应仅放置在多多边形内,且不