Hi Janvier,

maybee you need to use it within a startRender and stopRender section:

renderContext = QgsRenderContext()
renderContext.setExtent(layer.extent())
renderer = layer.renderer().clone()
renderer.startRender(renderContext, layer.fields())
features = layer.getFeatures(fids)
for i, featurein enumerate(features):
    symbol = renderer.symbolForFeature(feature, renderContext)
    # ... renderer.stopRender(renderContext)

Greetings, Benjamin

Am 04/03/2021 um 11:46 schrieb Janvier Thomas:

Hi,


I got an issue with SIP python bindings…
I’m looking to loop over QgsVectorLayer features to convert geometries to mesh primitives (cells) …

I had a first problem with the non-const (unexpected crash about SIP methods)
|for part in feature.geometry().parts():|
that I solved using the const one
|for p in f.geometry().constParts():|

||

But now I’m facing a similar crash when trying to identify the symbol/category/legendKey of each feature (the aim is to add the legendKey as a cell attribute to link color/LUT between the mesh and vectorlayer)

I do it this way:
layer.renderer().symbolForFeature(feature, context)

But ends up with a :

Crash ID: cb1c4f2b11cbd392a38c522a5ed1e194e060e4a0

Stack Trace

QgsExpression::evaluate :

QgsCategorizedSymbolRenderer::valueForFeature :

QgsCategorizedSymbolRenderer::originalSymbolForFeature :

PyInit__core :

PyMethodDef_RawFastCallKeywords :

PyMethodDef_RawFastCallKeywords :

PyEval_EvalFrameDefault :

PyEval_EvalCodeWithName :

I opened an Issue here (not sure this is relevant):
Unexpected crash using: QgsFeatureRenderer.symbolForFeature() · Issue #68 · qgis/pyqgis (github.com) <https://github.com/qgis/pyqgis/issues/68>

Thanks a lot


_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

--
Benjamin Jakimow, Doctoral Researcher
Earth Observation Lab | Geography Department | Humboldt-Universität zu Berlin

e-mail: benjamin.jaki...@geo.hu-berlin.de

phone:  +49 (0) 30 2093 6846
mobile: +49 (0) 157 5656 8477
fax:    +49 (0) 30 2093 6848
mail:   Unter den Linden 6 | 10099 Berlin | Germany
room: 2'211
web:    https://hu-berlin.de/eo-lab

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to