Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from qgis.core import *
- from qgis.utils import *
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- from PyQt4.QtCore import QFileInfo, QSettings
- QgsApplication.setPrefixPath('/Applications/QGIS-1.9.app/Contents/MacOS', True)
- QgsApplication.initQgis()
- province = QgsVectorLayer('/filepath/Province_studyUTM36S.shp' , 'layer', 'ogr')
- town = QgsVectorLayer('/filepath/TownPolygons_UTM36S.shp' , 'layer', 'ogr')
- road = QgsVectorLayer('/filepath/Roads_UTM36S.shp' , 'layer', 'ogr')
- QgsMapLayerRegistry.instance().addMapLayer(province)
- QgsMapLayerRegistry.instance().addMapLayer(road)
- QgsMapLayerRegistry.instance().addMapLayer(town)
- rasterFile = '/filepath/Landsat.tif'
- fileInfo = QFileInfo(rasterFile)
- baseName = fileInfo.baseName()
- rlayer = QgsRasterLayer(rasterFile, baseName)
- QgsMapLayerRegistry.instance().addMapLayer(rlayer)
- img = QImage(QSize(800,600), QImage.Format_ARGB32_Premultiplied)
- color = QColor(255,255,255)
- img.fill(color.rgb())
- p = QPainter()
- p.begin(img)
- p.setRenderHint(QPainter.Antialiasing)
- render = QgsMapRenderer()
- ID = [ rlayer.getLayerID(), town.getLayerID(), road.getLayerID(), province.getLayerID()]
- render.setLayerSet(ID)
- rect = QgsRectangle(render.fullExtent())
- rect.scale(1.1)
- render.setExtent(rect)
- render.setOutputSize(img.size(), img.logicalDpiX())
- render.render(p)
- p.end()
- img.save("/filepath/first_render.png","png")
- qgis.utils.iface.actionZoomToSelected().trigger()
- qgis.utils.iface.mapCanvas().zoomScale(1000)
- qgis.utils.iface.mapCanvas().saveAsImage('test.png', None, 'PNG')
- zoomRectangle = QgsRectangle(pos[0]-offset, pos[1]-offset,pos[0]+offset,pos[1]+offset)
- self.canvas.setExtent(zoomRectangle)
- self.canvas.refresh()
- self.canvas.setExtent(rect)
- self.canvas = qgis.utils.iface.mapCanvas()
- self.canvas = self.iface.mapCanvas()
- # load the project, load project instance (pi)
- pi = QgsProject.instance()
- pi.read(project_path)
- # get the project's layout
- plm = pi.layoutManager()
- layout = plm.layoutByName("my_layout") # your layout name
- #get reference map
- refmap = layout.referenceMap()
- xmin = ...you
- ymin = ...provide
- xmax = ...these
- ymax = ...
- # set extent
- bb = QgsRectangle(xmin, ymin, xmax, ymax )
- refmap.setExtent(bb)
Add Comment
Please, Sign In to add comment