Pyqgis yemek kitabından harita oluşturma bölümünü takip etmeye çalışıyorum , ancak bunu bağımsız bir uygulama olarak test etmek istiyorum. Ben basit render kullanarak ilk bölümünü yapabilirim, ama harita örneği bağımsız bir komut dosyası olarak kullanarak ikinci örneği yapmak biraz sıkışmış.
İşte yapabileceğim bit için bağımsız bir örnek:
from qgis.core import *
from qgis.gui import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtXml import *
QgsApplication.setPrefixPath("/usr/", True)
QgsApplication.initQgis()
fh = open("eg.csv","w")
fh.write("""
x,y,name
153.0278, -27.4679, Brisbane
144.2500, -23.4500, Longreach
145.7753, -16.9256, Cairns
""")
fh.close()
uri = "eg.csv?delimiter=%s&xField=%s&yField=%s" % (",", "x", "y")
layer = QgsVectorLayer(uri, "eglayer", "delimitedtext")
QgsMapLayerRegistry.instance().addMapLayer(layer)
img = QImage(QSize(800,600), QImage.Format_ARGB32_Premultiplied)
color = QColor(255,255,255)
img.fill(color.rgb())
p = QPainter()
p.begin(img)
render = QgsMapRenderer()
lst = [ layer.getLayerID() ] # add ID of every layer
render.setLayerSet(lst)
rect = QgsRectangle(render.fullExtent())
rect.scale(1.1)
render.setExtent(rect)
render.setOutputSize(img.size(), img.logicalDpiX())
render.render(p)
p.end()
img.save("render.png","png")
Gerçekten yapmak istediğim şey aynı, ancak kullanın QgsComposition
ve örneğin pdf olarak kaydedin. Yemek kitabı diyor ki:
Composer'ı bağımsız bir uygulamada kullanırken, yukarıdaki haritadaki gibi kendi harita oluşturucu örneğinizi oluşturabilir ve kompozisyona aktarabilirsiniz.
Yapamadığım bu bit, tüm girişimlerim boş bir harita ya da segfault elde ediyor. Qgis 1.8.0 kullanarak linux nane 13 kullanıyorum. Birisi bana basit örneği besteci kullanan bir örneğe nasıl değiştirebileceğimi gösterebilirse harika olurdu.