Creating polygon out of list of points QgsPointXY

Geographic Information Systems Asked by user2627043 on December 13, 2020

I am attempting to create a simple polygon on QGIS 3.14 using PyQGIS by adapting the code from How to draw polygons from the python console?.

I am running into an error with the setGeometry line where the function fromPolylineXY appears to need a QgsPointXY object but the pts object is a list.

Code so far is listed below.

tmp = QgsVectorLayer('Polygon?crs=epsg:29194', '200905_Bdy',"org") #Layer for polygon 
prv = tmp.dataProvider()                               #Data object for polygon layer
ply01 = QgsFeature()                                   #Object for polygon
# Object with polygon verticies
pts = [QgsPointXY(396100,8969000),QgsPointXY(396100,8973900),QgsPointXY(397900,8973900),QgsPointXY(397900,8969000)]

One Answer

You should use fromPolygonXY instead of fromPolylineXY to create a polygon. Use ply01.setGeometry(QgsGeometry.fromPolygonXY([pts]))

If you want to create a polyline before creating a polygon, you should know this: pts object is a list. And fromPolylineXY expects "a list of QgsPointXY". When you use extra brackets like [pts], it will be a list of list of QgsPointXY ([[QgsPointXY, QgsPointXY, ...]]). To create o polyline you should remove the bracket in fromPolylineXY([pts]) to get a list of QgsPointXY. Just use fromPolylineXY(pts).

To create a polygon from point list: QgsGeometry.fromPolygonXY([pts])
To create a polyline from point list: QgsGeometry.fromPolylineXY(pts)

Answered by Kadir Şahbaz on December 13, 2020

Add your own answers!

Related Questions

Zonal statistics (mode, variety) in PostGIS

0  Asked on September 1, 2020 by albine-pro


Converting GRIB2 to GeoTIFF

1  Asked on September 1, 2020 by arnpry


Trouble installing the ODC-Core in docker on Ubuntu 18.04?

0  Asked on September 1, 2020 by sargam-panwar


Lizmap URL highligt and zoom to feature on layer

0  Asked on August 31, 2020 by geom


Split and export quadrant of a big map

1  Asked on August 30, 2020 by pileoni


Bulk Snapping Points to Line Vertex in QGIS?

2  Asked on August 30, 2020 by npt_rich


Kilometer to degree and back

1  Asked on August 29, 2020 by salrad


Writing a 3-band image with rasterio

2  Asked on August 28, 2020 by sam-murphy


Batch export rasters as rendered images

1  Asked on August 28, 2020


Ask a Question

Get help from others!

© 2022 All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP