waigani's diary

QGISを中心にFOSS4Gをいじくる

QGISでベクトルデータを表示してみる その6

描画の設定を変更してみます。
Qtのクラスを使用することになるので、最初に読み込みます。
Qtのクラス一覧はここを参照しました。

from PyQt4 import QtGui, QtCore

まずは、QgsSymbolインスタンスを作成します。

l = qgis.utils.iface.activeLayer()
sym = QgsSymbol(QGis.Polygon)

描画設定をしていくのですが、ここでは色と塗りつぶしパターンだけ設定しました。
Qcolorとか塗りつぶしパターンとかQtのリファレンスを見ながらじゃないと進まないです。

col = QtGui.QColor(255,0,0)
sym.setFillColor(col)
sym.setFillStyle(QtCore.Qt.SolidPattern)

レイヤー全体に設定を適用して、再描画すれば反映されます。

sr = QgsSingleSymbolRenderer(QGis.Polygon)
sr.addSymbol(sym)
l.setRenderer(sr)

qgis.utils.iface.mapCanvas().refresh()