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_cmd を入力)コンソールから呼び出すことができるようSAGAフォルダが、PATHにあることを確認する必要があります。Linuxでは、SAGAのターゲットバージョンも2.1ですが、(そのようOSGEOライブDVDなど)一部のインストールでは、だけ2.0.8利用できる可能性があります。そこにいくつかの2.1のパッケージが用意されていますが、それらは一般的にインストールされていないといくつかの問題があるかもしれないので、より一般的と2.0.8の安定を使用することを好む場合は、下に、設定ダイアログで2.0.8の互換性を可能にすることによって、それを行うことができます* SAGA *基。

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

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

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

我々の場合には、そのSAGAと仮定すると、正しくインストールされ、構成され、このウィンドウは表示されません、代わりにダイアログのパラメータを取得します。

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

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

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

../../../_images/split_layer1.png

入力レイヤーは、2レイヤー、それぞれポイントの同じ数に分割されています。この結果は、SAGAによって計算され、以降QGISで撮影したとQGISプロジェクトに追加されました。

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

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

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

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

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

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

ノート

SAGA> = 2.2.3では、コマンドは自動的に間違った入力データを調整しますので、あなたがエラーを取得していないでしょう。エラーを誘発するために、分割のための負の値を使用します。

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

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