QGIS 3.24 ラスタのレンダー 白から黒

138 views
Skip to first unread message

松浦信

unread,
Jun 6, 2022, 3:34:17 AM6/6/22
to QGIS初心者質問グループ
いつもお世話になっています。

QGIS 3.24を使用しているのですが、
ラスタの表現(レンダ[シンポロジ])にある
「レンダリングタイプ」を「単バンドグレー」にし、
「グラデーション」を「黒から白」から「白から黒」に変更
「コントラスト」を「最小値最大値に引き伸ばし」の
平均+/-標準偏差×「2.0」に変更

また、透過性を60%に変更

上記の内容を自動化に組み込みたいと考えています。
Pythonでどのように記載したら宜しいでしょうか?

ご指導ご鞭撻のほど、宜しくお願い致します。



使用環境:
 OS     :Windows10
 QGIS   :3.24

ryo.fu...@gmail.com

unread,
Jun 11, 2022, 7:16:47 AM6/11/22
to QGIS初心者質問グループ
こんなんでいかがでしょう。
平均+/-標準偏差×「2.0」に変更が分からなかった、ユーザ定義のまま計算してみました

layer = iface.activeLayer()

band = 1

provider = layer.dataProvider()
renderer = QgsSingleBandGrayRenderer( layer.dataProvider(), band )

renderer.setGradient( 1 )
renderer.setOpacity( 0.6 )

stats = provider.bandStatistics( band, QgsRasterBandStats.All, layer.extent(), 0 )
mean, sd = stats.mean, stats.stdDev
min_val = mean - 2 * sd
max_val = mean + 2 * sd

enhancement = QgsContrastEnhancement( renderer.dataType(band))
contrast_enhancement = QgsContrastEnhancement.StretchToMinimumMaximum
enhancement.setContrastEnhancementAlgorithm(contrast_enhancement, True)
enhancement.setMinimumValue(min_val)
enhancement.setMaximumValue(max_val)

layer.setRenderer( renderer )
layer.renderer().setContrastEnhancement( enhancement )
layer.triggerRepaint()

2022年6月6日月曜日 16:34:17 UTC+9 m.matsu...@gmail.com:

松浦信

unread,
Jun 14, 2022, 7:57:41 PM6/14/22
to QGIS初心者質問グループ
大変ありがとうございます。
ソースを提示して頂きしたいことが出来ました。
本当にありがとうございます。

2022年6月11日土曜日 20:16:47 UTC+9 ryo.fu...@gmail.com:
Reply all
Reply to author
Forward
0 new messages