It seems there is no geoalgorithm to drop z values in the QGIS processing toolbox. Can this be done programmatically using the Python console? At the moment I have to save the layer with unchecked 'Include z-dimension' checkbox (non automatic geometry type):
-
You could use the QgsVectorFileWriter.writeAsVectorFormat method (see for instance gis.stackexchange.com/questions/153309/… ). There is a includeZ parameter, but you won't need to pass it to the function because it's False by default.– Germán CarrilloCommented Mar 14, 2017 at 12:35
3 Answers
Specifically, the QGIS 3 tool is called Drop m/z values
. It's in the Processing Toolbox, under Vector Geometry. The documentation is here:
Here is how i convert a QgsGeometry (geom) of type PolygonZ to a Polygon in the console:
new_geom = QgsGeometry().fromPolygonXY(geom.asPolygon())
It is some kind of workaround since there is no dedicated method for that. So i dont know if there are better ways to do it. Using the processing tool as recommended in the other answers would be the correct way if you want to convert a whole layer i guess.