QgsRubberBandはマップ上に一時的に地物を書くものです。
強調したい部分に使われます。
QGISの機能としては、計測系や地物の追加・地物情報表示用に使われています。
公式Wiki QgsRubberBand
上の画像の赤いラインのことです。ポリゴンやポイントにすることもできます。
QgsRubberBandの作成
from qgis.gui import QgsRubberBand from qgis.core import QGis canvas = iface.mapCanvas() rubberband = QgsRubberBand(canvas, QGis.Line) # ラインのQgsRubberBandを作成 rubberband.reset(QGis.Line) # Geometry情報のリセット
QgsRubberBandへのGeometry追加
# レイヤのGeometryの追加 layer = iface.activeLayer() features = layer.selectedFeatures() feature = features[0] geometry = feature.geometry() rubberband.addGeometry(geometry, layer) # 一つづつポイントを追加する場合 for point in geometry.asPolyline(): rubberband.addPoint(point)
表示の変更
rubberband.setColor(QColor(255, 0, 0, 120)) # 色の変更 rubberband.setWidth(10) # 幅の変更 rubberband.setLineStyle(Qt.PenStyle) # ラインスタイル変更 rubberband.setFillColor(QColor) # 塗りつぶし色変更 rubberband.setBrushStyle(Qt.BrushStyle) # 塗りつぶしスタイル変更 rubberband.BorderColor(QColor) # 外枠の色変更
使うことによりわかりやすいプラグインが作れるので、ぜひ使ってみてください。
入力方法として、使うこともできます。
次回は、QgsMapTool-入力方法として使う場合の紹介をします。