[QGIS-Developer] Proper Way to Access Z from Point Vector Layer
C Hamilton
adenaculture at gmail.com
Tue Jan 18 06:27:18 PST 2022
As I iterate through a point vector layer I get each feature. Normally I
would get access to the coordinate with
pt = feature.geometry().asPoint()
Unfortunately, this is a QgsPointXY and not a QgsPoint and I need to have
access to the Z attribute. There is no function to return a QgsPoint that
includes the Z and M values.
If I do feature.geometry().get() there are member functions such
as addZValue(), dropZValue (), but there is no getZValue().
There is a function called vertexAt(QgsVertexId id) which returns a
QgsPoint, but the documentation is very unclear on how to actually use
this. What really is QgsVertexId and how should it be constructed?
Alternatively there is vertices() or vertices_begin () which are iterators
that potentially could be used.
This all seems awkward and not documented well. What is the best way to get
a QgsPoint from a point feature which is coming from a processing script
like this?
iterator = source.getFeatures()
for cnt, feature in enumerate(iterator):
Thanks,
Calvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20220118/d692e6e3/attachment.html>
More information about the QGIS-Developer
mailing list