Rwwwのページ

論文引用・書籍等に引用する場合の著作権についての連絡>>okinawa


目次


目的

 Rwwwは、RをWebで使うために作ったCGIプログラムです。このCGIは私OKINAWAがActiveBasic?とCGIの仕組み、WIN32API、Rの勉強のために作成したものでWindowsでのみ動となり、Linux 及び MacOSX 上では利用できません。
 現在、RをWeb上で利用できるツールは、RWebをはじめとしていくつのものがありますが、これらは設定が結構面倒です。(英語ですし(と筆者は思いますが))そこで、WebでRが簡単に利用できるようにと考え作成しました。
 そのため、セキュリティについては、ほとんど考慮しておりませんので、Webサーバー側でアクセス制限等のことがらは、自己責任において使用してください。
 なお、ツール内に入っている、gunma.shp,gunma.shx,gunma.dbfの作成に当たっては、ESRIジャパン株式会社の全国市区町村界データを使用しました。本データの著作権はESRIジャパン株式会社に帰属します。
 また、デモ用のRスクリプトおよびデータはhttp://phi.med.gunma-u.ac.jp/swtips/EpiMap.htmlより引用しました。(中澤様ありがとうございました)

(注:windows7へ対応可能なのかを検証しておりましたが、windows7のセキュリティ解除の影響、IE8のセッション問題、Anhttpdがvista,win7に対応していない、ActiveBasic?の開発が既に停止していること等から、これ以上のバージョンアップは行わないことにしました。ご了解いただきますようよろしくお願いいたします。)

【利用環境】

***利用環境のみでのご利用をお願いします。***
Server:
OS:Windows XpProSP2,2000SP4
R2.0.1J,R2.1.0(pat),R2.2.0,maptools v0.4-13,maptools v0.5-2
httpd:AnHttp? v1.42n,Apache1.3系,Apache2.0系
Client:
OS:Windows XpProSP2,2000SP4、MacOSX(確認済)/Linuxでは試してませんが、たぶん動くと思います.
Browser:IE6,FireFox1.0.6,Safari
Adobe(Acrobat)Reader ver 5,6,7(なるべく最新のものにしてください)
(注1)7は7.0.1以上にアップデートしてください
(注2)プログラム中のPDF描画pdf()においてPDFのバージョンをR2.0.0 で採用された1.4にしておりますので、対応しているAdobe(Acrobat)Readerは5以上になります。

DownLoad?:
ver 0.2.6filerwwwcgi_026.zip
ver 0.2.4filerwwwcgi.zip

Version:
・rwww.exeバージョン:0.2.6
0.2.5では1回ごとに全オブジェクトを消去する方式でしたが、そのままでは使いにくいので、最初に.RDataを読み込んで初期化し、利用したあとに消去する方法に変更しました。
初期化のときに読み込ませる.RDataを自分の好きなように作成し、bin内のbackupフォルダ内に保存しておきます。
rwww.exeは起動時のいちばん最初にbackup内の.RDataを読み込みます。そして、処理が終了したいちばん最後に、オブジェクトを全て消去します。
この方法の利点は、処理に必要なオブジェクトはあらかじめ.RData内に作成しておくことができるため、自作関数や変数の再利用ができることと、ダミーのfunction(利用させたくない関数と同じ名前の何もしない関数)を作成して.RDataに保存すれば実行できなくさせることができるため、問題のあるコードからサーバーを守りやすくなります。
ls()のダミー関数を作ってls()を使えなくすれば、一時的にオブジェクトを見れなくすることもできます。ダミー関数を色々作ってためしてみてください。
AnHttp142nが不安定になることが多い方は、AnHttp?をサービスに登録し、サービス内で動かしてみてください.安定すると思います.(キャッシュを割り当てることもいいようです)

・ver 0.2.5
 主にrwww.exeコードのブラッシュアップ。
 1回のクエリごとにobjectの消去をする。
 バッチの起動・終了待ちのコードをきちんとしたものに変更。
 ActiveBasic4.04にて再コンパイルしました。
・ver 0.2.4
 実行するRのフォルダ名(バージョン)をパラメータとして指定できるようにしました。
 このバージョンは、デフォルトではまだR2.0.1用になっていますので、
 R2.1.0(pat)を使用する場合は、rwww/etc/param.txtの内容をrw2001からrw2010patに変更してください。
 ActiveBasic4.01.02にて再コンパイルしました。
 R2.1.0(pat)に対応しました。
・ver 0.2.3
 ActiveBasic4にて再コンパイルしました。maptools v0.4-13対応確認しました。
・ver 0.2.2
 MacOSX Client(Safari) でデモ用コード内の文字「〜」が自動変換されて、エラーになる部分を変更。
 (MacOSXからも正常に動くことを確認しました)
・ver 0.2.1
 師匠に高速化の技を教えてもらいました。ものによって3倍は速くなってます。
 中澤様のデモ用コードをmaptools v0.4-12対応に変更。(Map2polyでraw=Fがあるとエラーになるので、削除しました。)
・ver 0.2.0 公開初版。

地図描画習作

(1)県境描画

#ライブラリ宣言
library(maptools)
library(gpclib)
#ShapeFile読み込み
gunma <- read.shape("c:/Program Files/R/rwww/shapefiles/gunma.shp")
#Mapオブジェクトをポリゴンに変換
gunma.poly <- Map2poly(gunma)
#ポリゴンの数抽出
np<-length(gunma.poly)
#gpclib の座標形式に変換
gunma.union <- as(gunma.poly[[1]],"gpc.poly") #gpclibのオブジェクトに変換
for(i in 2:np){
poly <- as(gunma.poly[[i]],"gpc.poly") #gpclibのオブジェクトに変換
gunma.union<-union( gunma.union, poly) #Union(合成)
}


#県境plot(線種:太さ、形式、色:塗りつぶし色、線色) plot(gunma.union,poly.args= list(lwd=2,lty=1,col="green",border="blue"))

#市町村境との合成 plot(gunma.poly,border="blue",add=TRUE)

fGISを用いて県境を作成する方法

・fGISを用いた方法についてShapeFileライブラリにアップしました。

httpdをApacheにした場合の変更点

・Apache2.0系推奨(1.3系でも問題なく動きます)
・httpd.conf内のドキュメントルートの設定をc:/Program Files/R に変更
・rwwwに付いている、index.html内のexeをキックしている部分を変更

 <FORM METHOD="POST" ACTION="/rwww/bin/Rwww.exe"> 変更前
 <FORM METHOD="POST" ACTION="/cgi-bin/Rwww.exe"> 変更後

・Apacheのcgi-binフォルダにRwww.exeを入れる。
注)もっと美しい方法があると思いますが、とりあえずこれで動きました。

COMMENT

  • コメント欄作りました。ご意見等ございましたら、こちらにお願いします。 -- okinawa 2005-07-15 (金) 07:57:02
  • 久しぶりにversion0.2.6にUP -- okinawa 2005-11-01 (火) 13:00:33
  • Rのコマンドを入力せずに、たとえば、form などを使って、「回帰分析」とか「MDS」とかをボタン等で選択して、Rを動かせないでしょうか? -- 2005-11-01 (火) 13:11:26
  • 作ろうと思えば作れると思いますが、本格的なGUIを作るためには私の知識不足ですし、時間もありません。ごめんなさい。(だれか作って!) -- okinawa 2005-11-01 (火) 13:32:18
  • RwwwはApacheやIISでは利用できないのでしょうか? -- 2005-11-01 (火) 15:33:05
  • やったことはないですが、rwwwは単なるexe型のcgiなので、問題なく動くかもしれません。 -- okinawa 2005-11-01 (火) 15:47:18
  • Apacheでやってみましたが、問題なく動きました。上記に変更点の項目を追加しました。 -- okinawa 2005-11-01 (火) 17:10:30
  • Rwwwはセキュリティや画像ファイルを保存する際のロックは大丈夫でしょうか? -- 2005-11-02 (水) 01:03:57
  • いちばん上にも書いてありますが、セキュリティは基本的に考慮しておりません。 -- okinawa 2005-11-02 (水) 07:14:28
  • 「画像ファイルを保存する際のロック」の意味がよくわかりません。 -- okinawa 2005-11-02 (水) 07:20:52
  • セキュリティを考える場合、(1)Httpdのセキュリティ、(2)CGI自体のセキュリティ、(3)R batchのセキュリティ、(4)WindowsOSのセキュリティ と色々なレベルのセキュリティがあります。特に(3)はサーバーのディレクトリを直接いじることができるため、セキュリティをかけるのが非常に難しいです。(それこそRのコードをひとつひとつチェックするルーチンを書かなければなりません)そこで、今回は逃げの手段としてダミー関数なるものを作る方法を考えてみました。しかし、本格的にセキュリティを高めるとなると(1)(2)(3)(4)+ウイルスやスパイウエア対策など多岐にわたるため、その部分は使う側にお任せすることにして、CGIのソースも公開しているわけです。-- okinawa 2005-11-02 (水) 15:44:25
  • 「画像ファイルを保存する際のロック」が「R batchで画像ファイルを保存し終わらずに、ブラウザから画像ファイルを開いてしまう場合があるのでは?」という意味でしたら、CGIのコードの中では「 batch終了情報をWIN32APIから取得した後、画面をブラウザ側に表示させる」ような仕組みにしていますので、おかしくなることはないと思います。 -- okinawa 2005-11-02 (水) 16:33:39
  • 「画像ファイルを保存する際のロック」が、「一度作成された画像が、他人から見られないのか?」ということでしたら、見れる「可能性」はありますが、作成者の端末IP・作成日・作成時間を調べないと難しいと思います。(もっと複雑なファイル名を自動生成することもできますが・・・暗号化とか) -- okinawa 2005-11-07 (月) 09:55:13
  • このあたりをきちんとするのであれば、利用者ID,PWの登録が必要な仕組(httpd等で)になってくるでしょう。でも、それだったら、Rを端末にダウンロードして使った方がずっといいのではないでしょうか? -- okinawa 2005-11-07 (月) 10:01:02
  • Apacheは2.0系のほうが反応がいいのと、CGIでのコンソール内容(バッチ出力ファイル名など)が表示されないので、今のところいちばんいいかもしれません。 -- okinawa 2005-11-07 (月) 10:06:19
  • exciteの自動翻訳を利用してページの(日本語=>英語)翻訳ができるようにしました。 -- okinawa 2006-03-18 (土) 08:17:39
  • いざ実行ボタンを押すと「このファイルにはPOSTメソッドが使えません。ファイル名:/rwww/bin/Rwww.exe」となるのですが,同様なエラー報告があれば対処方法を教えていただけないでしょうか. -- g? 2010-07-27 (火) 18:35:25
  • 環境を教えてください。 -- okinawa 2010-07-27 (火) 19:48:25
  • 「Windowsでのみ動きます。Linux、MacOSXでは利用できません」が,おちじゃないの? -- なんだかなあ? 2010-07-27 (火) 21:58:42
  • Anhttpdの.exeの設定で「一般パスでも実行する」にチェックをいれれば、そのエラーは無くなり一応cgiは正常に動作しますが、実行後の結果ファイル.TXT,.PDFが所定のフォルダに出力されません。申し訳ございませんが、提示した利用環境のみということでお願いいたします。 -- okinawa 2010-07-28 (水) 09:03:49
  • 掲示の利用環境下で成功しました.ありがとうございました. -- g? 2010-07-28 (水) 10:48:44
  • (ご報告)windows7へ対応可能なのかを検証しておりました。rwww自体を若干修正してcgiとして正常に動かすことには成功しましたが、windows7のセキュリティ解除の影響、IE8のセッション問題、Anhttpdがvista,win7に対応していない、ActiveBasic?の開発が既に停止していること等から、これ以上のバージョンアップは行わないことにしました。ご了解いただきますようよろしくお願いいたします。 -- okinawa 2010-07-30 (金) 08:19:11
  • Windows7,R-2.11.1の環境下で成功しました.ついでにPDFの日本語表示も成功しました.今まで出来なかった原因は,ActiveBasic?のバージョンがあわず,Rwwwのコンパイルが失敗していたからでした. -- g? 2010-07-30 (金) 20:54:34

アクセス数:

15743 人


添付ファイル: filerwwwcgi.zip 2243件 [詳細] filerwwwcgi_025.zip 1233件 [詳細] filerwwwcgi_026.zip 2031件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Google
WWW を検索 OKADAJP.ORG を検索
Last-modified: 2015-03-01 (日) 01:15:59 (1719d)