GIS and Media fusion

"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild

User Tools

Site Tools


geoinf18:qgsmaprendererjob

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geoinf18:qgsmaprendererjob [2018/11/13 17:52]
oertz
geoinf18:qgsmaprendererjob [2018/11/13 18:04] (current)
oertz
Line 1: Line 1:
 ==== Tutoriel "QGIS map renderer"​ ==== ==== Tutoriel "QGIS map renderer"​ ====
-**Objectif** : comprendre le "​portrayal model" {{:​ogo13:​portrayalogc.png?​linkonly|}} par l'​utilisation du **moteur de rendu cartographique** de QGIS3 avec sa console Python et les classes [[https://​qgis.org/​pyqgis/​master/​core/​Map/​QgsMapRendererSequentialJob.html|QgsMapRendererSequentialJob]] et [[https://​qgis.org/​pyqgis/​master/​core/​Map/​QgsMapSettings.html|QgsMapSettings]].+**Objectif** : comprendre le "​portrayal model" {{:​ogo13:​portrayalogc.png?​linkonly|}} par l'​utilisation du **moteur de rendu cartographique** de **QGIS3** avec sa console Python et les classes [[https://​qgis.org/​pyqgis/​master/​core/​Map/​QgsMapRendererSequentialJob.html|QgsMapRendererSequentialJob]] et [[https://​qgis.org/​pyqgis/​master/​core/​Map/​QgsMapSettings.html|QgsMapSettings]].
  
 {{:​ogo13:​portrayalogc.png?​direct&​400|}} {{:​ogo13:​portrayalogc.png?​direct&​400|}}
  
-Pour les utilisateur de QGIS2, voici le tutoriel [[geoinf15:​qgsmaprenderer|QgsMapRenderer 2015]].+Pour les utilisateur de **QGIS2**, voici le tutoriel [[geoinf15:​qgsmaprenderer|QgsMapRenderer 2015]].
  
 === Prérequis pour ce tutoriel sur QGIS3 === === Prérequis pour ce tutoriel sur QGIS3 ===
Line 13: Line 13:
  
   * pour une couche chargée et sélectionnée dans la table des couches, ouvrir la console Python :   * pour une couche chargée et sélectionnée dans la table des couches, ouvrir la console Python :
 +
 <​code>​ <​code>​
 # we work with the selected layer # we work with the selected layer
Line 29: Line 30:
 === Contrôle du "map renderer"​ === === Contrôle du "map renderer"​ ===
  
 +  * pour prendre le contrôle et exporter dans un fichier image le résultat du rendu cartographique,​ on ajoute :
  
 +<​code>​
 +# set layer(s)
 +mapset.setLayers([layer])
 +# set extent
 +mapset.setExtent(QgsRectangle(530000,​180000,​550000,​200000)) ​  # close to Yverdon
 +# set output size
 +mapset.setOutputSize(QSize(800,​800))
  
 +# even more, set background color
 +mapset.setBackgroundColor(QColor(0,​0,​0,​0))
 +
 +job = QgsMapRendererSequentialJob(mapset)
 +job.start()
 +job.waitForFinished()
 +img = job.renderedImage()
 +img.save('/​home/​olivier/​tmp/​render.png',​ '​png'​) ​  # adapt the path properly
 +</​code>​
  
 +{{:​geoinf18:​render.png?​nolink&​200|}}
  
geoinf18/qgsmaprendererjob.1542127953.txt.gz · Last modified: 2018/11/13 17:52 by oertz