The problem im having is that when I select the points, I cannot get a sorted list in order of selection, so the polygon ends up being created in unusual shape. the important code is below.
def startSelection(self):
for lay in self.iface.mapCanvas().layers():
if self.dlg.comboBox_2.currentText() == lay.name():
self.iface.setActiveLayer(lay)
self.iface.actionSelect().trigger()
def CreatePolygonLayer(self):
points=[]
for ft in self.iface.activeLayer().selectedFeatures():
pt=QgsPointXY(ft.geometry().asPoint().x(),ft.geometry().asPoint().y())
points.append(pt)
layer=QgsVectorLayer('Polygon?crs=EPSG:32736','New Polygons','memory')
b=QgsFeature()
b.setGeometry(QgsGeometry.fromPolygonXY([points]))
layer.dataProvider().addFeatures([b])
QgsProject.instance().addMapLayers([layer])
So I'm building a QGIS plugin to create a polygon from selected points.
processingmodule in PyQGIS. See here: https://gis.stackexchange.com/questions/39205/converting-point-sets-to-polygon-boundaries – 15Step May 26 '20 at 12:10