Guest User

Untitled

a guest
Jun 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. from qgis.core import *
  2. from qgis.utils import *
  3. from PyQt4.QtCore import *
  4. from PyQt4.QtGui import *
  5. from PyQt4.QtCore import QFileInfo, QSettings
  6.  
  7. QgsApplication.setPrefixPath('/Applications/QGIS-1.9.app/Contents/MacOS', True)
  8. QgsApplication.initQgis()
  9.  
  10. province = QgsVectorLayer('/filepath/Province_studyUTM36S.shp' , 'layer', 'ogr')
  11. town = QgsVectorLayer('/filepath/TownPolygons_UTM36S.shp' , 'layer', 'ogr')
  12. road = QgsVectorLayer('/filepath/Roads_UTM36S.shp' , 'layer', 'ogr')
  13.  
  14. QgsMapLayerRegistry.instance().addMapLayer(province)
  15. QgsMapLayerRegistry.instance().addMapLayer(road)
  16. QgsMapLayerRegistry.instance().addMapLayer(town)
  17.  
  18. rasterFile = '/filepath/Landsat.tif'
  19. fileInfo = QFileInfo(rasterFile)
  20. baseName = fileInfo.baseName()
  21. rlayer = QgsRasterLayer(rasterFile, baseName)
  22.  
  23.  
  24. QgsMapLayerRegistry.instance().addMapLayer(rlayer)
  25.  
  26. img = QImage(QSize(800,600), QImage.Format_ARGB32_Premultiplied)
  27.  
  28. color = QColor(255,255,255)
  29. img.fill(color.rgb())
  30.  
  31. p = QPainter()
  32. p.begin(img)
  33. p.setRenderHint(QPainter.Antialiasing)
  34. render = QgsMapRenderer()
  35. ID = [ rlayer.getLayerID(), town.getLayerID(), road.getLayerID(), province.getLayerID()]
  36. render.setLayerSet(ID)
  37.  
  38.  
  39. rect = QgsRectangle(render.fullExtent())
  40. rect.scale(1.1)
  41. render.setExtent(rect)
  42.  
  43. render.setOutputSize(img.size(), img.logicalDpiX())
  44.  
  45. render.render(p)
  46. p.end()
  47.  
  48. img.save("/filepath/first_render.png","png")
  49.  
  50. qgis.utils.iface.actionZoomToSelected().trigger()
  51. qgis.utils.iface.mapCanvas().zoomScale(1000)
  52.  
  53. qgis.utils.iface.mapCanvas().saveAsImage('test.png', None, 'PNG')
  54.  
  55. zoomRectangle = QgsRectangle(pos[0]-offset, pos[1]-offset,pos[0]+offset,pos[1]+offset)
  56. self.canvas.setExtent(zoomRectangle)
  57. self.canvas.refresh()
  58.  
  59. self.canvas.setExtent(rect)
  60.  
  61. self.canvas = qgis.utils.iface.mapCanvas()
  62.  
  63. self.canvas = self.iface.mapCanvas()
  64.  
  65. # load the project, load project instance (pi)
  66. pi = QgsProject.instance()
  67. pi.read(project_path)
  68.  
  69. # get the project's layout
  70. plm = pi.layoutManager()
  71. layout = plm.layoutByName("my_layout") # your layout name
  72.  
  73. #get reference map
  74. refmap = layout.referenceMap()
  75.  
  76. xmin = ...you
  77. ymin = ...provide
  78. xmax = ...these
  79. ymax = ...
  80.  
  81. # set extent
  82. bb = QgsRectangle(xmin, ymin, xmax, ymax )
  83. refmap.setExtent(bb)
Add Comment
Please, Sign In to add comment