Hi everyone, Sometimes I got "NaN" return when trying to get scalar value to a point from a Mesh layer. I guess the reason is that it was not rendered previously as said in the documentation.
<https://qgis.org/api/classQgsMeshLayer.html#a07cb62f04b64979500d3873afb580216> QgsMeshDatasetValue: "Note: It uses previously cached and indexed triangular mesh and so if the layer has not been rendered previously (e.g. when used in a script) it returns NaN value" When I turn ON and OFF the loaded mesh layer in the active project it Works! I would like to know if there is a proper way to render the mesh layer, before get values. Below is my code: proj = QgsProject.instance() layerPto = iface.activeLayer() # a Point layer layer = proj.mapLayersByName("mesh01")[0] # a Mesh layer dataset = QgsMeshDatasetIndex(0,0) for feat in layerPto.getSelectedFeatures(): ptoGeo = feat.geometry() pt = ptoGeo.asPoint() value = layer.datasetValue(dataset, pt).scalar() print('elevation={}'.format(value)) _______________________________________________ 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