AIを使ってQGIS用のツールを作ろう(カラーランプしきい値スライダー)

まずAIでこのツールを作りたいという動機になったのがSHC図という地形の複雑さを定量化する指標のしきい値をリアルタイムで変えた結果を見たいというものでした。

SHCというものはDEM(数値標高モデル)から平面曲率を計算し、指定半径内の標準偏差を計算したものです。
値が高いものが地形が複雑であり、崩壊危険性があるものみたいです。

この数値を危険度(低、中、高)の三分類としてQGISのシンポロジからカラーラベルの作成をします。

カラーラベルを3分類にて以下の設定をしました。

<= 0.02 低 青
0.02 - 0.04 中 黄
> 0.04 高 赤

この設定にすると以下のような表示になります

背景にCS立体図を重ねていますが、道路などは概ね青色か黄色の部分を通っており、急な谷部分が崩壊危険度高の赤色になっていることが分かります。

このしきい値をリアルタイムで変えた結果を見たいというのが今回の趣旨になります。レイヤスタイルのパネルを表示して値を手で入力して変更すればできるのですが、値を変更するスライダーを作成してそれで変更するようにしたいと思います。

QGISはpythonが使いやすいです。今回はGeminiを使ってpythonプログラミングをしてもらいました。


プロンプトは以下のようにしました。

QGISでtifのラスタ画像を読み込ませて、値を三分類でカラー分けしている。その値をスライダーで変更しリアルタイムで画面の表示を変えたい。境界は三分類の初期値はレイヤから取得する。値の幅は0.0000から0.1000までとしたい。pythonでその機能を作成したい。

今回はpythonで作成したため、QGISのpythonコンソールからファイルを指定して実行ボタンを押します。

スライダーで変更できるようになっていたのでカラーランプがpython内部で固定で設定されていたため、レイヤに設定されているランプから変更しないようにします

カラーランプは現在のレイヤに設定されている色から変えないでください

カラーランプは現在の色を引き継ぐようになったので、別レイヤも操作できるようにレイヤ名を追加します。

現在選択されているレイヤの表示とドロップダウンで他のレイヤに変更できるようにしてください

また、以下のように何回か改善をくり返して作成しました

  • スライダーを動かすとエラーで落ちることがあるため、スタックトレースをプロンプトに入力して改善。
  • レイヤのラベル凡例が自動で変わらないので変えるように改善
  • レイヤの透明度が100%になるので透明度を変えないように改善

最終的に以下のようなスライダーを作成しました

これでしきい値調整の確認がしやすくなりました。スライダーを動かして色の調整ができます。

AIツール

今回はGeminiを使って作成しましたが、プログラミングという観点からは私の感想としては2026年4月現在は以下の順番で扱いやすいと思います。

claude > chatGPT > Gemini

プログラミングという観点ではclaudeは優秀かなと思います。ただし、使用上限があるため、プログラミングで何度も作り直すとすぐ上限になります。claudeは別件で使用したいため今回はGeminiを使いました。

今後のプログラミングはどうなる?

やはりAIを使ったプログラミングというのは今後主流になっていくと思います。今までは処理を実現するためにOSSやツールなどの仕様を調べて組み込んで検証など、調べる時間が多かったのですが、やりたいことを伝えればAIで調べて自動でプログラミングするなどかなりの時間が節約できます。


もちろん仕様を理解しないまま、AIがやったことだから正しいという考えは間違いだと思いますが、簡単なプログラミングなどは初心者でもできるようになっていると思います。

AIに修正を依頼しても改善せずに自分でソースコードを修正したということもあるのでプログラミング知識はまだ必要だと思いますが、今後はもっとAIプログラミングの品質も上がっていくでしょう。