重要
翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 100.00% 翻訳されています。
17.8. 外部アルゴリズムを実行する
注釈
このレッスンではサードパーティのアプリケーション、特に主要なアルゴリズムプロバイダーの一つであるSAGAに依存するアルゴリズムを使用する方法について説明します。
これまで実行したすべてのアルゴリズムは、プロセシングフレームワークの一部です。つまり、プラグインに実装された ネイティブ なアルゴリズムであり、プラグイン自体が実行されるのと同じようにQGISによって実行されます。しかし、プロセシングフレームワークの最大の特徴は、外部アプリケーションのアルゴリズムを使用し、それらのアプリケーションの可能性を拡張することができるということです。そのようなアルゴリズムはラップされてツールボックスに含まれているため、QGISから簡単に利用することができ、QGISのデータを使って実行することができます。
単純化されたビューに表示されるアルゴリズムには、サードパーティ製のアプリケーションがシステムにインストールされていることが必要なものがあります。特に注目すべきアルゴリズムプロバイダの一つがSAGA(自動地理空間分析のためのシステム)です。まず、QGISからSAGAを正しく呼び出せるように、全ての設定を行う必要があります。これは難しい作業ではありませんが、仕組みを理解することが重要です。外部アプリケーションにはそれぞれ独自の設定があり、このマニュアルの後半で他についても説明しますが、SAGAは主要なバックエンドになるものなので、ここでは詳細に説明します。
Windowsを使っている場合は、外部アルゴリズムを使う最良の方法は、スタンドアロンのインストーラを使ってQGISをインストールすることです。これにより、SAGAを含む必要な全ての依存関係が自動的にインストールされるので、他に作業はありません。設定ダイアログを開き、 プロバイダ/SAGA グループに移動してください。

SAGAパスは既に設定され、SAGAがインストールされているフォルダを指しているようにしてください
スタンドアロンのインストーラを使用しないでQGISをインストールした場合は、そこに(別個にインストールした)SAGAのインストールへのパスを入力する必要があります。必要なバージョンは、SAGA 2.1 [これはSAGAのリリースに応じて変化します]です。
Linuxを使用している場合は、プロセシング構成でSAGAのインストールへのパスを設定する必要はありません。代わりに、SAGAをインストールし、それがコンソールから呼び出すことができるようSAGAフォルダが、PATHにあることを確認する必要があります(それを確認するため、コンソールを開いて saga_cmd
を入力するだけ)。Linuxでは、SAGAのターゲットバージョンも2.1ですが、(OSGeoライブDVDなど)一部のインストールでは2.0.8だけが利用できる可能性があります。2.1パッケージが利用可能なものがありますが、それらは一般的にインストールされておらず、いくつか問題があるかもしれないので、より一般的で安定した2.0.8を使いたい場合は、 SAGA グループ下の設定ダイアログで2.0.8の互換性を可能にすることによって、それをすることができます。

一度SAGAをインストールすると、他のアルゴリズムと同様に、その名前をダブルクリックすることでSAGAアルゴリズムを実行できます。単純化されたインターフェイスを使用しているので、どのアルゴリズムがSAGAを基盤としているか、または別の外部アプリケーションにあるのかは分かりませんが、そのうちのひとつをたまたまダブルクリックして、対応するアプリケーションがインストールされていない場合、次のようなものが表示されます。

この場合、SAGAが正しくインストールされ構成されていれば、このウィンドウは表示されず、代わりにパラメータダイアログが表示されます。
SAGAベースのアルゴリズムを シェープレイヤーをランダムに分割 というもので試してみましょう。

このレッスンに対応したプロジェクト内のポイントレイヤを入力として使用し、デフォルトのパラメータ値を使用すると、次のような結果が得られます(分割がランダムであるので、結果は異なる場合があります)。

入力レイヤは、それぞれに同じ数のポイントを持つ2つのレイヤに分割されました。この結果は、SAGAによって計算され、その後にQGISに取り込まれ、QGISプロジェクトに追加されました。
全てがうまくいけば、このSAGAベースのアルゴリズムと、以前に実行をした他のアルゴリズムとの間の違いに気付かないでしょう。しかしSAGAが何らかの理由で、結果を出せず、QGISが期待するファイルが生成できない場合があります。その場合、結果をQGISプロジェクトに追加するときに問題が発生し、次のようなエラーメッセージが表示されます。

この種の問題は、SAGA(またはプロセシングフレームワークから呼び出している他のアプリケーション)が正しくインストールされていても起こるもので、それらに対処する方法を知っておくことが重要です。これらのエラーメッセージの1つを出しててみましょう。
経緯線網を作成 アルゴリズムを開き、次の値を使用します。

指定された範囲よりも大きい幅と高さの値を使用しているので、SAGAは何も出力を生成できません。言い換えれば、パラメータ値が誤っていても、SAGAがそれらを取得して経緯線網を作成しようとするまではチェックされません。それを作成できないので、期待されたレイヤを生成せず、上記のようなエラーメッセージが表示されます。
注釈
SAGA >= 2.2.3では、コマンドが自動的に誤った入力データを調整するため、エラーは発生しません。エラーを発生させるには、割り算に負の値を使用してください。
この種の問題を理解することは、それらを解決し、何が起こっているかの理由を見つけるのに役立ちます。エラーメッセージに見られるように、SAGAとの接続が正しく機能していることを確認するためのテストが行われ、アルゴリズムが実行された方法に問題があるかもしれないことを示しています。これはSAGAだけでなく、他の外部アプリケーションにも適用されます。
次のレッスンでは、ジオアルゴリズムによって実行されるコマンドに関する情報が保持される処理ログを紹介し、このような問題が現れたときに詳細を確認する方法について学びます。