Module contributed by Matteo Ghetta - funded by Scuola Superiore Sant’Anna
処理はQGIS内のRスクリプトを作成して実行できます
警告
Rがお使いのコンピュータにインストールされ、PATHが正しく設定される必要があります。さらに、処理は外部のRパッケージを呼び出すだけで、それらをインストールできません。だから、Rに直接外部のパッケージをインストールしてください。ユーザーマニュアル中の関連する chapter を参照。
ノート
いくつかの パッケージ 問題がある場合は、多分それは sp 、 `` rgdal`` と raster のように、処理で必要とされる 必須 パッケージが不足しているに関連しています。
スクリプトを追加するのはとても簡単です。処理ツールボックスを開き、 R - >ツール - >新しいRのscriptを作成 をクリックするだけです。
ノート
処理の中にRが見あたらない場合は、 処理 - >オプション - > Providers を有効にする必要があります
スクリプト本体を追加できる前にいくつかのパラメータを指定する必要がある スクリプトエディタウィンドウ を開きます。
このチュートリアルでは、ベクトルレイヤフィールドの 箱ひげ図 を作成しようとしています。
r_intro.qgs QGISプロジェクト開きます。
エディタを開いて、それの最初に書き始めます。
スクリプト本体の 前 にいくつかのパラメータを指定する 必要があります 。
スクリプトを置く先となるグループの名前:
##plots=group
処理ツールボックスの プロット グループでスクリプトを見つけます。
(ちょうどこの例では)プロットを表示する処理を指示する必要があります:
##showplots
プロットが表示されます 処理の 結果ビューア 中にこの方法で。
作業しているデータの種類をして処理を伝えるためにも必要です。この例では、ベクトルレイヤのフィールドからプロットを作成したい:
##Layer=vector
処理は、入力がベクトルであることを今知っています。名前 レイヤー は重要ではありません、重要なのは ベクトル パラメータです。
最後に、プロットするベクトルレイヤの入力フィールドを指定する必要があります:
##X=Field Layer
だから、処理はその フィールドレイヤ が ** X ** と呼ばれていることを知っています。
今、機能を追加できるスクリプトの 見出し を設定し終わりました:
boxplot(Layer[[X]])
箱ひげ は、データセットとして レイヤ をデータセットのフィールドとして X を呼び出す、R関数自体の名前であることに注意してください。
警告
パラメータ X は、二重角括弧 [[]] の範囲内であります
最後のスクリプトは次のようになります:
##Vector processing=group
##showplots
##Layer=vector
##X=Field Layer
boxplot(Layer[[X]])
処理によって提案されたデフォルトのパスにスクリプトを保存します。選択した名前が処理ツールボックスに見つかるスクリプトの名前と同じになります。
ノート
スクリプトは他のパスに保存できますが、処理が自動的にアップロードできず、手動ですべてのスクリプトをアップロードすることが必要になります
今だけのエディタ・ウィンドウの上部にあるボタンを使用して、それを実行します。
エディタウィンドウが閉じられた後、それ以外の場合は、スクリプトを見つけるために、処理のテキストボックスを使用します。
これで、処理アルゴリズムのウィンドウで必要なパラメータを記入できます:
レイヤ として サンプル点 を選択する
X フィールドに 値 パラメータを記入します
[実行] をクリックしてください。
結果ウィンドウ が自動的に開くはずですが、そうでない場合は 処理 - >結果ビューア... をクリックするだけです。
これが表示される最終的な結果です。
ノート
プロットを右クリックして画像を開き、コピーし、保存できます
Rスクリプトを使用すると、ベクトルも作成できますし、自動的にQGISでそれをロードします。
R - >ツール - >オンラインcollection からRスクリプトをダウンロード 次の例では、オンラインコレクションからダウンロードできます ランダムサンプリングgrid スクリプトからとられています。
この演習の目的は、 sp パッケージの spsample 機能を使用してレイヤの範囲内のランダムな点ベクトルを作成することです。
前と同じように、スクリプト本体の前にいくつかのパラメータを設定する必要があります。
スクリプトを置く先となるグループの名前を指定します、例えば ポイントパターン分析
##Point pattern analysis=group
ランダムな点が含まれているレイヤを設定する:
##Layer=vector
作成しようとしているポイントの数を設定する:
##Size=number 10
ノート
10は、デフォルト値になるだろう。この番号を変更したり、デフォルトの番号なしでパラメータを残すことができます
出力はベクトルレイヤであることを指定します:
##Output= output vector
今、関数の本体を追加できます。
spsample 機能を実行します:
pts=spsample(Layer,Size,type="random")
このように関数は点の数は サイズ パラメータから取得され、点発生が ランダム であり、 レイヤー の範囲を取り
出力のパラメータを含む行を書く:
Output=SpatialPointsDataFrame(pts, as.data.frame(pts))
最後のスクリプトは次のようになります。
それを保存し、それを実行し、実行しているボタンをクリックします。
右のパラメータの新しいウィンドウタイプで:
し、実行をクリックしてください。
結果のポイントが、マップのキャンバスに表示されます