Message posté par : nico-29
----------------------------------------
Bonjour,
A partir de mes données (raster HDF5), je crée un Geotiff en mémoire, et je veux
l'afficher. Voici le code :
-----------------
Code :
driver = gdal.GetDriverByName('MEM')
dataset_mem = driver.Create('/vsimem/imagetst.tif', cols, rows, 1,
gdal.GDT_Float32)
dataset_mem.SetGeoTransform(geotransform)
dataset_mem.SetProjection(srs.ExportToWkt())
dataset_mem.GetRasterBand(1).WriteArray(ds.GetRasterBand(1).ReadAsArray())
rasterLyr = QgsRasterLayer('/vsimem/imagetst.tif', 'monlayer')
QgsProject.instance().addMapLayer(rasterLyr, True)
-----------------
Dans le navigateur de couches, j'ai un nouveau layer, mais avec le message :
-----------------
Code :
Couche inutilisable ! La source de données de la couche n'a pas pu être trouvée.
-----------------
Pourtant mes données sont correctes : si j'utilise un driver de type GTiff et que je
crée un fichier geotiff, quand j'ouvre à la main ce fichier geotiff dans QGIS, ça
fonctionne.
Qu'est ce qui cloche ?
une hypothèse : lorsque j'ouvre avec pyqgis le fichier geotiff mémoire, celui-ci
n'est pas encore fini de créer, et donc la source est invalide. Si c'est ça,
comment dire à QGIS d'attendre que le fichier soit fini de créer pour le charger?
Merci,
Nico
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=360604#p360604
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net