17.8. 外部のアルゴリズムを実行する

注釈

このレッスンではサードパーティのアプリケーション、特に主要なアルゴリズムプロバイダーの一つであるSAGAに依存するアルゴリズムを使用する方法について説明します。

これまで実行したすべてのアルゴリズムは、プロセシングフレームワークの一部です。つまり、プラグインに実装された ネイティブ なアルゴリズムであり、プラグイン自体が実行されるのと同じようにQGISによって実行されます。しかし、プロセシングフレームワークの最大の特徴は、外部アプリケーションのアルゴリズムを使用し、それらのアプリケーションの可能性を拡張することができるということです。そのようなアルゴリズムはラップされてツールボックスに含まれているため、QGISから簡単に利用することができ、QGISのデータを使って実行することができます。

単純化されたビューに表示されるアルゴリズムには、サードパーティ製のアプリケーションがシステムにインストールされていることが必要なものがあります。特別な関心の一つのアルゴリズムプロバイダーは、SAGA(自動地理空間分析のためのシステム)です。まず、QGISから正しくSAGAを呼び出せるように、すべてのものを設定する必要があります。これは難しいことではありませんが、それがどのように動作するかを理解することが重要です。外部アプリケーションにはそれぞれ設定があり、このマニュアルの後半で他のいくつかについて説明しますが、SAGAは主要なバックエンドになるものなので、ここではそれを説明します。

Windowsを使っている場合は、外部のアルゴリズムで作業するための最良の方法は、スタンドアロンのインストーラを使用してQGISをインストールすることです。それはSAGAを含むすべての必要な依存関係のインストールをしてくれますので、それを使用した場合は、他に何も行うことはありません。設定ダイアログを開き、 プロバイダ/SAGA グループに行くことができます。

../../../_images/saga_config.png

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の互換性を可能にすることによって、それをすることができます。

../../../_images/enable208.png

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

../../../_images/missing_saga.png

この場合、SAGAが正しくインストールされ構成されていれば、このウィンドウは表示されず、代わりにパラメータダイアログが表示されます。

SAGAベースのアルゴリズム、 シェープレイヤーをランダムに分割 と呼ばれるもの、で試してみましょう。

../../../_images/split.png

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

../../../_images/split_layer.png

入力レイヤは2つのレイヤに分割されていて、それぞれに同じ数のポイントがあります。この結果は、SAGAによって計算され、後にQGISで取り込まれ、QGISプロジェクトに追加されました。

すべてがうまくいけば、このSAGAベースのアルゴリズムと、以前に実行をしている他のアルゴリズムとの間の違いに何も気付かないでしょう。しかし、SAGAでは、何らかの理由で、結果を生成できず、QGISによって想定されるファイルが作成されない場合があります。その場合、QGISプロジェクトにその結果を追加すると問題がおき、このようなエラーメッセージが表示されるでしょう。

../../../_images/missing_result.png

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

経緯線網を作成 アルゴリズムを開き、次の値を使用します。

../../../_images/create_graticule.png

指定された範囲よりも大きい幅と高さの値を使用しているので、SAGAは何も出力を生成できません。言い換えれば、パラメーター値は間違っているが、それらはSAGAがそれらを取得して経緯線網を作成しようとするまではチェックされません。それを作成できないので、期待されるレイヤを生成せず、上記のようなエラーメッセージが表示されます。

注釈

SAGA >= 2.2.3では、コマンドは自動的に間違った入力データを調整しますので、エラーは出ないでしょう。エラーを発生させるため、割り算のために負の値を使用します。

この種の問題を理解することは、それらを解決し、何が起こっているかの説明を見つけるのに役立つでしょう。エラーメッセージで見ることができるように、テストは、アルゴリズムが実行された方法に問題があるかもしれないことを示し、SAGAとの接続が正しく機能していることを確認するために行われます。これは、同様にSAGAにするだけでなく、他の外部アプリケーションに限らず適用されます。

次のレッスンでは、ジオアルゴリズムによって実行されるコマンドに関する情報が保持される処理ログを、ご紹介します、そしてこのような問題が現れたときに詳細を取得する方法について説明します。