[QGIS-it-user] creare layer poligoni da layer punti
sarag
saragau93 a gmail.com
Ven 20 Apr 2018 08:18:57 PDT
Buonasera a tutti,
devo creare un nuovo layer di poligoni, a partire da un layer ("scalati")
contenente dei punti.
In particolare, questi punti vanno a costituire i vertici di tot poligoni e
il poligono di appartenenza, per ogni punto nel layer "scalati", รจ
individuato dall'attributo "id_pol".
Riesco a creare il nuovo layer "poligoni_new": nella tabella degli attributi
compaiono le righe nel numero corretto (es. 2 poligoni finali, 2 righe), ma
non riesco in alcun modo a visualizzare le geometrie sulla mappa.
Non capisco dove sia il problema. Qualcuno riesce ad aiutarmi o a suggerirmi
soluzioni alternative?
Grazie anticipatamente,
Sara
lista_id = []
lista_vertici = []
coordinate = []
idver=scalati.fieldNameIndex("id_pol")
for f in scalati.getFeatures():
lista_vertici.append(f)
idpol=f[idver]
lista_id.append(idpol)
n=len(lista_id)
var=0
poligoni=QgsVectorLayer("Polygon?crs=epsg:32633", "poligoni_new", "memory")
poligoni.dataProvider().addAttributes([QgsField("id_pol", QVariant.Int)])
poligoni.updateFields()
poligoni.startEditing()
for i in range(0,n):
if(i!=n-1):
print "i", i
if (lista_id[i]==lista_id[i+1]):
coordinate=[(lista_vertici[var].geometry().asPoint().x() ,
lista_vertici[var].geometry().asPoint().y())]
var=var+1
else:
coordinate=[(lista_vertici[var].geometry().asPoint().x(),
lista_vertici[var].geometry().asPoint().y())]
poly=QgsFeature()
poly.setGeometry(QgsGeometry.fromPolygon(
[[QgsPoint(pair[0],
pair[1]) for pair in coordinate]]))
poligoni.dataProvider().addFeatures([poly])
poligoni.updateExtents()
var=0
else:
coordinate=[(lista_vertici[var].geometry().asPoint().x(),
lista_vertici[var].geometry().asPoint().y())]
poly=QgsFeature()
poly.setGeometry(QgsGeometry.fromPolygon([[QgsPoint(pair[0],
pair[1]) for pair in coordinate]]))
poligoni.dataProvider().addFeatures([poly])
poligoni.updateExtents()
poligoni.commitChanges()
QgsMapLayerRegistry.instance().addMapLayer(poligoni)
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
Maggiori informazioni sulla lista
QGIS-it-user