QGIS :QgsRubberBand

QgsRubberBandはマップ上に一時的に地物を書くものです。
強調したい部分に使われます。

QGISの機能としては、計測系や地物の追加・地物情報表示用に使われています。
公式Wiki QgsRubberBand

rubberband
上の画像の赤いラインのことです。ポリゴンやポイントにすることもできます。

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-入力方法として使う場合の紹介をします。

コメントを残す

メールアドレスが公開されることはありません。