I am a newbie to QGIS Python. I have a shape-file which I want to load to QGIS 2.8.1 and manipulate them by zooming to the layer of the preferred shape-file.
Once I have my canvas ready, I want to use that canvas in the composer manager and export it to a png file.
Below is my script:
import ogr,os
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from qgis.core import *
import qgis.utils
import glob
import time
import math
import processing
from processing.core.Processing import Processing
from PyQt4.QtCore import QTimer
import sys
Processing.initialize()
Processing.updateAlgsList()
OutputFileName = "ABC" # Temprory global placeholder for filename
canvas = iface.mapCanvas()
#Add List of address below for heatmap shapefile
heatmapfile = ["C:/Users/prashant.kumar/Desktop/QGIS python/Shapefiles/Map_00721.shp"]
# Add array of address below for company shapefile
cspFile = ["C:/Users/prashant.kumar/Desktop/QGIS python/Shapefiles/HM_13_June_19.shp"]
for lop in range(filesLen):
flag = 0
currentShpFile = heatmapfile[lop]
currentCompShpFile = cspFile[lop]
#enter the common path for each shapefile here
currentShpFileName = currentShpFile.strip("C:/Users/prashant.kumar/Desktop/QGIS python/Shapefiles/")
#enter the common path for each shapefile here
currentCompShpFileName = currentCompShpFile.strip("C:/Users/prashant.kumar/Desktop/QGIS python/Shapefiles/")
# enter the output path here
OutputFileName = "C:/Users/prashant.kumar/Desktop/QGIS python/ImageOut/" + currentShpFileName + ".png"
# adding the shapefiles, changing the orders and zoom to layer
wbc = QgsVectorLayer(currentCompShpFile, currentCompShpFileName, 'ogr')
wb = QgsVectorLayer(currentShpFile, currentShpFileName, 'ogr')
wbTex = QgsVectorLayer(TexLayer, 'CountyGrid', 'ogr')
QgsMapLayerRegistry.instance().addMapLayer(wbc) # Add the shapefile
QgsMapLayerRegistry.instance().addMapLayer(wb) # Add the shapefile
QgsMapLayerRegistry.instance().addMapLayer(wbTex) # Add the county shapefile
qgis.utils.iface.setActiveLayer(wbc) # Makes wb as active shapefile
qgis.utils.iface.zoomToActiveLayer() #Zoom to Layer
print "Ready for composer manager"
#Starting the canvas manager
comp = iface.createNewComposer('currentcomposer')
Now I need help so I can use the current state of my canvas to be in the composer manager and export it as a PNG file.