サイトマップ
お知らせ、メモ
案内板
うちのヘッドライン
 




トップ  >  ソフトウェア豆知識  >  QGIS豆知識  >  QGISからRに接続

QGISからRに接続

processingから呼び出す場合

2.xからはprocessingから呼び出すようになっています。 スクリプトは出来合いのものを使ってもいいですし、自作することもできます。 ただし、動作させるためには事前に色々と設定が必要です。 ひっかけ問題がいくつかあるので、ここで説明します。

前提として、Rが既にインストールされており、QGISではprocessingが有効になっているものとします。 また、以下の説明はWindowsの場合です。

QGISを”管理者として実行”

QGISからRのスクリプトを実行させようとした場合、初回に限り何かいろいろとパッケージをインストールするようです。 このとき、通常のユーザでQGISを実行するとパッケージのインストールに失敗します。 そのため、初回に限り管理者としてQGISを実行する必要があります。

QGIS上での設定

QGIS側では、インストールされているRに対する設定を行います。 メニューの【processing】-【Options and configuration】を選択し、以下のように設定します。


r setting

スクリプトのパスは「QGISインストールディレクトリ/apps/qgis/python/plugins/processing/algs/r/scripts」を指定します(スタンドアロン版の場合)。 ただこのパスはバージョンによって変わるようですので、注意してください。

注意点はRへのパスで、binディレクトリの一つ上を指定します
"Use 64bit version"にチェックと入れるか入れないかで、Rの実行ファイルへのパスを決定するようです。

設定が完了したら、何でもいいのでスクリプトを実行してみましょう。 以下のように何かのパッケージのインストールが開始されます。


r package installing

その後、以下のようにダイアログが表示されれば成功です。


r script dialog

processing以前の場合

QGISのプラグイン、manageR(”マネージャー”ではない)を使うと、 QGISのレイヤーをRに放り込んで、R上での解析が出来ますが、、。

プラグインのインストール

このプラグインを使うには、R本体、RPy、NumPyが必要です。 (もちろん、QGISをインストールする前にPythonがインストールされている必要があります)

これらをインストールして準備が出来たら、 プラグインインストールで”Carson Farmer's repository”のリポジトリ から選択し、インストールします。


プラグインのボタンが追加される

使い方

QGIS上にあらかじめレイヤーを読み込んでおいて、manageRを起動すると、以下のような画面が表示されます。



それぞれのボタン、テキストエリアの説明は大体以下のとおりです。

  • 上の一番大きいテキストエリアはRからの出力
  • ">"の横のテキストエリアにRのコマンドを打ち込む
  • 上矢印のボタンは、押すとコマンド入力のテキストエリアが複数行になる。これを押すとEnterキーでコマンドが押せなくなり、Enterキーに該当するボタンが新たに表示される。
  • "Load Layer into R"ではRに放り込むレイヤーを指定する。ここに表示されるのは既にQGISで読み込んであるもの。
  • [Layer]ボタンは、筆者は使えなかった、、、(number of rows in data.frame and SpatialPoints don't matchというエラーが出る)
  • [Data only]ボタンは、属性データのみをRに放り込む?
  • ちなみにこの[Data only]で放り込まれるデータは、Shapeファイルのレイヤーなら属性テーブルのみ、Add Delimited Text layerで読み込んだレイヤーなら座標値も含まれる。
  • "Save/export R object"は、Rであれこれやっているうちに出来るデータが選択できるようになるらしい
  • "Save/export R object"を選択して、[File]ボタンはファイルに保存する。[Map canvas]ボタンはおそらくQGISに表示する。

そのほか、とりあえず筆者が気がついた注意点は大体以下のとおりです。

  • manageRが起動している間はQGISの操作は出来ません。
  • Rのplot周りは問題なく使えます。
  • Rが日本語版だったら日本語のエラー出力なんかは文字化けします。
  • Spacial Pixelsのデータをcanvasで保存しようとするとだめだと怒られます。

たぶん筆者の使い方が悪いのでしょう。


クリエイティブ・コモンズ・ライセンス
This documents by Yamate,N is licensed under a Creative Commons 表示 - 継承 3.0 非移植 License.
login