GIS初心者 様
discordでのお話しをヒントに、簡単なグラフィカルモデラーを作ってみました。
※内容的にはプロセッシングツールの「レイヤツール - レイヤ範囲の抽出」と「ベクタジオメトリ - 重心」を組み合わせただけです。
試してみた結果、使えそうな感じでしたので、投稿いたします。
Windows環境しか知らないのですが
C:\Users\ユーザー名\AppData\Roaming\QGIS\QGIS3\profiles\default\processing\models
に添付ファイルを保存すると、プロセッシングツールボックスの下の方に表示されると思いますので、ダブルクリックで呼び出してお使いください。
ところで、問題は処理するラスタファイルが多い場合だと思っています。この場合はバッチ処理で対処します。
左下にある「バッチプロセスで実行」を押します。
※ラスタファイルをQGISに読み込んでいるものとして、説明します。
ラスタレイヤに関しては「オートフィル」とあるところをクリックして、「レイヤを開くから選択」を選びます。
例の場合、全てが対象のラスタなので「全てを選択」ボタンで選んで「OK」をクリックします。
center列の方は、これと比べるちょっと面倒です。
同じく「オートフィル」とあるところをクリックして、今度は「式による計算」を選びます。
デスクトップに「ortho」というフォルダを作っていますので、ここに新たに作成する重心のファイルを保存させるようにファイル名とパスを書き込みます。
私の試した式は次のようなものです。
'C:\\Users\\ユーザー名\\Desktop\\ortho\\' || left( array_get( @layer_ids , @row_number ),13) || '.gpkg'
ユーザー名は各自それぞれなので、適宜設定してください。
また「13」という数値は、ラスタファイル名がちょうど13文字で一定でしたので、それを抜き出して同名のgeopackageファイルにするためのものです。
次のようにうまく設定されたら、実行ボタンを押して処理します。
バッチ処理についてはQiitaに以前投稿した記事があります。
QGISでのバッチ処理
今回とは別の処理に関するものですが、バッチ処理の手順を理解するのに少しは助けになるかもしれません。
よろしければご覧ください。