Pages: 1
- Sujet précédent - QGIS 3 / Console Python: Problème algorithme IDW de Grass - Sujet suivant
#1 Tue 24 July 2018 12:28
- Xueimuohtreb
- Juste Inscrit !
- Date d'inscription: 21 Jan 2018
- Messages: 2
QGIS 3 / Console Python: Problème algorithme IDW de Grass
Objet original: Problème algorithme IDW de Grass (console python de QGis 3)
Bonjour,
J'écris un script python dans lequel j'aimerais faire une interpolation par IDW. Pour cela, j'utilise l'algorithme de grass v.surf.idw, qui fonctionne parfaitement via l'interface graphique.
Cependant, je ne parviens par à le faire fonctionner sur la console python.
Voilà ce que j'ai essayé (avec pour entrée la couche "layer", qui est valide):
Code:
extent = layer.extent() xmin = extent.xMinimum() xmax = extent.xMaximum() ymin = extent.yMinimum() ymax = extent.yMaximum() parameters = { '-n' : False, 'GRASS_MIN_AREA_PARAMETER' : 0.0001, 'GRASS_RASTER_FORMAT_META' : '', 'GRASS_RASTER_FORMAT_OPT' : '', 'GRASS_REGION_CELLSIZE_PARAMETER' : 1, 'GRASS_REGION_PARAMETER' : "%f,%f,%f,%f" % (xmin, xmax, ymin, ymax), 'GRASS_SNAP_TOLERANCE_PARAMETER' : -1, 'column' : 'rdmt_sec', 'input' : layer, 'npoints' : 12, 'output' : 'chemin/vers/output.tif', 'power' : 2 } result = processing.run("grass7:v.surf.idw",parameters,feedback = QgsProcessingFeedback())
Je n'obtiens pas de message d'erreur, et constate juste qu'aucun fichier n'a été créé. Je précise que je travaille sur QGis 3
Vous avez une idée de ce qui peut ne pas marcher dans ce code? Ou, à défaut, connaissez-vous un autre moyen pour faire une interpolation par IDW en python?
Merci bien,
Hors ligne
#2 Fri 17 August 2018 10:52
- Xueimuohtreb
- Juste Inscrit !
- Date d'inscription: 21 Jan 2018
- Messages: 2
Re: QGIS 3 / Console Python: Problème algorithme IDW de Grass
J'ai des erreurs sur à peu près tous les algorithmes autres que les algorithmes natifs de QGis lorsque je les lance à partir de la console.
Quelqu'un a-t-il un problème similaire? Est-ce lié à la nouvelle version de QGis?
Hors ligne
#3 Mon 27 August 2018 11:57
Re: QGIS 3 / Console Python: Problème algorithme IDW de Grass
Sous QGIS 3.0.2 Girona, j'ai créé une couche points.shp avec une colonne de pondération appelée value.
Et le script suivant fonctionne bien :
Code:
import processing layerName ='points' layer = QgsProject.instance().mapLayersByName('points')[0] extent = layer.extent() xmin = extent.xMinimum() xmax = extent.xMaximum() ymin = extent.yMinimum() ymax = extent.yMaximum() parameters = { '-n' : False, 'GRASS_MIN_AREA_PARAMETER' : 0.0001, 'GRASS_REGION_CELLSIZE_PARAMETER' : 10, 'GRASS_REGION_PARAMETER' : "%f,%f,%f,%f" % (xmin, xmax, ymin, ymax), 'GRASS_SNAP_TOLERANCE_PARAMETER' : -1, 'column' : 'value', 'input' : layer, 'npoints' : 12, 'output' : 'C:/temp/raster/out.tif', 'power' : 2 } #processing.alghelp("grass7:v.surf.idw") raster_output = processing.run('grass7:v.surf.idw', parameters, feedback = QgsProcessingFeedback())
geodata au cerema et petits billets en géomatique
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3 / Console Python: Problème algorithme IDW de Grass - Sujet suivant