QGIS создает LineString из списка QgsPointXY - PullRequest
0 голосов
/ 04 августа 2020

У меня есть список объектов QgsPointXY. Я хочу получить от них слой LineString. Я использую этот код:

    vl = QgsVectorLayer("LineString", "temp", "memory")
pr = vl.dataProvider()

with edit(vl):
    pr.addAttributes([QgsField("id",  QVariant.Int)])
    vl.updateFields()
    points = route
    fields = pr.fields()
    feature = QgsFeature()
    feature.setGeometry(QgsGeometry.fromPolylineXY(route))
    feature.setFields(fields)
    feature.setAttribute('id', 1)
    vl.addFeature(feature)

QgsProject.instance().addMapLayer(vl)

Но созданный слой имеет только вторую координату каждой точки. Это выглядит так: «0,0,5924692.45592564 0,0,5924726.27518673 0,0,5924731.97704595» et c ... В исходном списке «маршрутов» есть все координаты, я его проверил

...