"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
This shows you the differences between two versions of the page.
geoinf15:qgsmaprenderer [2015/10/05 21:19] oertz |
geoinf15:qgsmaprenderer [2018/05/16 10:05] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== QgsMapRenderer.py ====== | ||
- | ===== Etape 1 ===== | ||
- | * Lancer QGIS | ||
- | * Charger une quelconque couche de polygones (cantons de Suisse, etc) | ||
- | * Dans la console Python de QGIS, ouvrir l'éditeur | ||
- | * Y insérer le code ci-dessous | ||
- | * Modifier la dernière ligne selon votre système de fichiers | ||
- | * Sauvegarder le script | ||
- | * Exécuter | ||
- | |||
- | <code> | ||
- | from PyQt4.QtCore import * | ||
- | from PyQt4.QtGui import * | ||
- | |||
- | img = QImage(QSize(800,600), QImage.Format_ARGB32_Premultiplied) | ||
- | img.fill(QColor(255,255,255).rgb()) | ||
- | p = QPainter() | ||
- | p.begin(img) | ||
- | p.setRenderHint(QPainter.Antialiasing) | ||
- | render = QgsMapRenderer() | ||
- | aLayer = qgis.utils.iface.activeLayer() | ||
- | render.setLayerSet([ aLayer.id() ]) | ||
- | #aLayer.loadSldStyle('/tmp/test.sld') | ||
- | rect = QgsRectangle(render.fullExtent()) | ||
- | render.setExtent(rect) | ||
- | render.setOutputSize(img.size(), 96) | ||
- | render.render(p) | ||
- | p.end() | ||
- | img.save("/tmp/render.png","png") | ||
- | </code> | ||
- | |||
- | ===== Etape 2 ===== | ||
- | * Télécharger/décompresser la description de style ci-après {{:geoinf15:test.sld.zip|test.sld}} | ||
- | * Décommenter la ligne //aLayer.loadSldStyle// et adapter le chemin selon votre système de fichier | ||
- | * Exécuter | ||