在 3d 坐标中有一条类似道路的东西。我需要将其存储到 3D 多边形(或 QGIS 可以使用的任何类似的东西)中。 example_pointlist = ((0,0,130), (50,0,140), (70,10,150), (70,20,145), (49,10, 135), (0,10,130)) 这些 6 个点被描述为开放多边形。我知道这并不平坦。它是一种网格。我如何在 QGIS 中创建它(通过 python)?有什么想法吗?
我尝试过: QgsGeometry.fromPolygonXY([example_pointlist ]) --> 必须是 QgsPointXY (由于缺少 z 分量而不起作用)
其他一些东西 - 但没有任何效果。有任何想法吗? (我使用 QGIS 3.28 Firenze)
QgsPointXY
不支持3D (Z
)。在制作多边形之前,您需要构建QgsPoint
s(this方式):
from qgis.core import QgsLineString, QgsPoint, QgsPolygon
example_pointlist = (
(0, 0, 130),
(50, 0, 140),
(70, 10, 150),
(70, 20, 145),
(49, 10, 135),
(0, 10, 130),
)
poly3d = QgsPolygon(QgsLineString([QgsPoint(*p) for p in example_pointlist]))
输出(3D 地图视图):