Gis and r 002のソースを表示
提供: OSGeo.JP Wiki
←
Gis and r 002
移動:
案内
、
検索
あなたには「このページの編集」を行う権限はありません。理由は以下の通りです:
この操作は、以下のグループに属する利用者のみが実行できます:
登録利用者
。
ページの編集を始める前にメールアドレスの確認をする必要があります。
個人設定
でメールアドレスを設定し、確認を行ってください。
このページのソースの閲覧やコピーができます:
[[Gis_and_r|表紙へ戻る]] ※Wiki記法の書き方については http://ja.wikipedia.org/wiki/Help:%E6%97%A9%E8%A6%8B%E8%A1%A8 を参照。 ==第2回GIS+R勉強会== ===参加者=== *瀬戸(リアル) *清野(リアル) *渡邉(リアル) ===テーマ・作業内容=== ====瀬戸==== *Fink版のQGIS+manageRの環境構築 ====清野==== *MacOS10.5バイナリ版でのQGIS+manageRの環境構築 ====渡邉==== *Windows Vista 32bit スタンドアローン版でのQGIS+manageRの環境構築 ===作業結果=== ====清野==== *バイナリ版でmanageR0.8を使う。自分でMacOS用バイナリのR本体、Rpy2(Rpyのバージョン2で大丈夫)、Numpyをインストールする。 **http://mf-atelier.sakura.ne.jp/mf-atelier/modules/tips/index.php/software/qgis/qgis_r.html 月の杜工房さんのサイトを参照。 *manageRをftoolsのサイトのrepositoryのページ http://www.ftools.ca/cfarmerQgisRepo.xml からzipファイルをダウンロードし解凍。解凍して出来たフォルダを /Users/自分のアカウント名/.qgis/python/plugins/ にコピー(頭に.が付いたファイル/フォルダはFinderからは見えないため、ターミナルを立ち上げ、ls -aなどをすると見える。また、フォルダごとコピーするにはcp -Rを使用。具体的には、以下の通り。この例では、ダウンロードしたフォルダが自分のアカウント名直下のダウンロードフォルダ、解凍も同じダウンロードフォルダ内で「manageR」というフォルダ名)。 cp -R /Users/自分のアカウント名/Downloads/manageR /Users/自分のアカウント名/.qgis/python/plugins/ *ところがどっこい、これでは立ち上がらない。MacだとWinのようにRpy2のインストールにインストーラーが用意されておらず、自分でソースコードからビルドするか、pythonのパッケージインストーラであるeasy installを使うかしかない。どちらも嫌だったので、MacportsからRpy2をインストールしようとした。するとgcc44のビルドが始まってしまい、全然終わらず、本日はタイムアップ。帰宅後、一晩放置でビルドしようと思う。 ====渡邉==== '''作業内容''' 日本語環境を示すエラーメッセージを改善した。 *まずテストファイルの保存場所を変える。D:\Temp\Rなど。この保存場所の変更は結果的に正しく、Pythonpathの問題はこれで解消された。半角のみで構成される、単純明快なファイルパスにすることが肝要。 *次に、Windows環境でencode処理を行うため、Terapadをインストール。http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html *Terapad上で、テストファイルを作成する。テストファイルは前回と同様、'''「Rによる統計処理 連続変数データをカテゴリーデータに変換」'''ページを引用。http://aoki2.si.gunma-u.ac.jp/R/recode.html この処理にあたって、テストファイルは2種類用意した。 *日本語の説明を含む'''(上記HPのプログラム部分をそのまま引用しています)''' <pre> Recode <- function( x, # 連続変数データベクトル arg1, arg2) # 二通りの意味を持つ { if (length(arg1) == 1 && length(arg2) == 1) { # arg1: 最小値が含まれる区間の左限界値 return(factor(floor((x-arg1)/arg2)*arg2+arg1)) # arg2: 区間幅 } else if (length(arg1) == length(arg2)-1) { # arg1: カッティングポイント cut(x, breaks=c(-Inf, arg1, Inf), right=FALSE, labels=arg2) # arg2: 区切られた区間のラベル } else { stop("区切り値の個数は,ラベルの数よりちょうど 1 だけ小さいはずです") } } </pre> *日本語の説明を省く <pre> Recode <- function( x, arg1, arg2) { if (length(arg1) == 1 && length(arg2) == 1) { return(factor(floor((x-arg1)/arg2)*arg2+arg1)) } else if (length(arg1) == length(arg2)-1) { cut(x, breaks=c(-Inf, arg1, Inf), right=FALSE, labels=arg2) } else { stop("") } } </pre> 各環境下での処理結果を、以下に示す。 なお、文字コードについては、Terapadの[ウィンドウ]-[オプション]の文字コードタブで設定を行う。 '''EUC''' 日本語なしのテストファイル:成功 日本語付きのテストファイル:プログラム表示時に日本語部分が文字化けするが、処理そのものに影響はない '''UTF-8''' 日本語なしのテストファイル:失敗。'ascii' codec can't decode byte 0x88 in position 1: ordinal not in range(128) 日本語付きのテストファイル:失敗。'ascii' codec can't decode byte 0x88 in position 1: ordinal not in range(128) この結果から、プログラム作成にはEUCが適当かと思われるが、これはR自体の環境がそうさせているものと思われる。 '''「Rのベクターデータを弄る人へ」''' ''「何故標準がEUC-JPなのかと言えば, 作った本人の環境がEUC-JPだったからと言うそれだけの理由です.」'' http://www.okada.jp.org/RWiki/?R%A4%CE%A5%D9%A5%AF%A5%BF%A1%BC%A5%C7%A1%BC%A5%BF%A4%F2%CF%AE%A4%EB%BF%CD%A4%D8 '''「R-2.1.1(Windows)のインストール方法」''' ''「IEならブラウザ上から文字コ-ドをEUCにして変換してしまえば、保存すればうまくいくかもしれません」「私はIE+EUCの状態でのコピペで上手く行きました。」'' http://www.okada.jp.org/RWiki/index.php?R-2.1.1(Windows)%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%CA%FD%CB%A1 '''結論''' Windows Vista 32bit スタンドアローン版でQGIS+manageRの環境を構築するには、 #manageR0.8を使用する。Pythonプラグインインストーラでサードパーティーのリポジトリを追加する際、アップデートをしないままにしておく。なおmanageR0.8のダウンロードは、http://www.ftools.ca/cfarmerQgisRepo.xml #R本体、Rpy、Numpyを一通りインストールする。参考サイトとして、'''「月の杜工房 -QGISからRに接続-」''' http://mf-atelier.sakura.ne.jp/mf-atelier/modules/tips/index.php/software/qgis/qgis_r.html #プログラムファイルはEUC環境で作成する。その際、日本語はなるべく省くようにする #プログラムファイルは、半角で構成された明快なファイルパスの下で保存する ====瀬戸==== ひたすらFinkと格闘。 manageRを立ち上げた際のエラーメッセージは以下のとおり。 <pre> Traceback (most recent call last): File "/Users/tos/.qgis/python/plugins/manageR/manageR.py", line 3181, in updateWidgets self.emit(SIGNAL("updateDisplays(PyQt_PyObject)"),currentRObjects()) File "/Users/tos/.qgis/python/plugins/manageR/manageR.py", line 209, in currentRObjects robjects.rinterface.globalEnv.get('ls',wantFun=True)) AttributeError: 'module' object has no attribute 'globalEnv' </pre> ここで、finkのpython2.6にパスを通すと治るかと思い export PYTHONPATH=/sw/bin/python2.6 としてみたものの、うまく通っていない。 ちなみに、r-baseの問題かと思い、ターミナルで立ち上げてlibrary(sp)をQGISとは関係なく立ち上げようとすると パッケージがインストールされていないメッセージがでて、install.packages("sp")を叩くと <pre> ** testing if installed package can be loaded Error in dyn.load(file, DLLpath = DLLpath, ...) : 共有ライブラリ '/Users/tos/Library/R/2.11/library/sp/libs/sp.so' を読み込めません dlopen(/Users/tos/Library/R/2.11/library/sp/libs/sp.so, 6): no suitable image found. Did find: /Users/tos/Library/R/2.11/library/sp/libs/sp.so: mach-o, but wrong architecture エラー: loading failed * removing ‘/Users/tos/Library/R/2.11/library/sp’ </pre> というように、パッケージのインストールすらこけてしまう。 ====課題と次回までにやること==== =====達成できたこと===== *作業環境は、Windows Vista 32bitについてはOK。 =====次回の予定===== *日時:10月25日(月)18:30~ 場所:未定 *環境構築は一端ストップして、Rの操作に移行する。 *Rjpwikiを読み込む作業。地理空間関係のテストプログラムを試してみる。 **Rのバイナリでパッケージを次回までに各自インストールしておくこと。 ====後日追記==== =====10/5清野===== *MacOS10.5の環境において、MacportsでもFinkでもeasy_installでも、rpy2のインストールがうまくいかない。どうも、http://www.okada.jp.org/RWiki/?Python%20%A4%C7%A1%A1R#nb4e7b5b ここの参照リンク先を見ると書いてあるが、Rのパッケージをソースコードからコンパイルし直さなければいけないかもしれない。コンパイルに際して--enable-R-shlibオプションが必要なようだ。時間があるときに再チャレンジしてみることにする。
Gis and r 002
に戻る。
案内メニュー
表示
ページ
議論
ソースを表示
履歴
個人用ツール
アカウント作成
ログイン
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
検索
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報