pyqgis filter layouts

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
evgeshka
Новоприбывший
Сообщения: 2
Зарегистрирован: 27 июн 2016, 07:05
Репутация: 0

pyqgis filter layouts

Сообщение evgeshka » 29 июн 2016, 06:11

Такая проблема. Мне нужно сделать много картинок с различными точками из векторного слоя на каждой. И картинки (.jpg / .png) должны быть с картинкой, подписью и так далее - макет лучше всего подходит. Сейчас я делаю картинки с карты, с точками (и даже получить .png), как создать макет с данными или работать из макета и применять фильтр на слой там? Мой код:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
import qgis.utils
layer = iface.activeLayer()
layer.setSubsetString('')
iter = layer.getFeatures()
for feature in iter:
name_dot = feature['name']
saving = "C:/project_qgis/"+"%s"%name_dot+".png"
print saving
layer.setSubsetString('"name"=\'%s\'' % name_dot)
mapRenderer = iface.mapCanvas().mapRenderer()
c = QgsComposition(mapRenderer)
c.setPlotStyle(QgsComposition.Print)
x, y = 0, 0
w = c.paperWidth()
h = c.paperHeight()
composerMap = QgsComposerMap(c, x ,y, w, h)
c.addItem(composerMap)
dpi = c.printResolution()
dpmm = dpi / 25.4
width = int(dpmm *w)
height = int(dpmm *h)
image = QImage(QSize(width, height), QImage.Format_ARGB32)
image.setDotsPerMeterX(dpmm * 1000)
image.setDotsPerMeterY(dpmm * 1000)
image.fill(0)
imagePainter = QPainter(image)
sourceArea = QRectF(0, 0, w, h)
targetArea = QRectF(0, 0, width, height)
c.render(imagePainter, targetArea, sourceArea)
imagePainter.end()
image.save("%s" %saving, "png")
самая большая проблема в том, что мне нужна картинка нужного масштаба и размеров в макете, с нанесенной сеткой, картинкой, подписью. и это должно преобразовываться в .jpg или .png. может есть возможность программно накладывать карту на макет или как то еще... не знаю, помогите плиз

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость