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


アクセス数:

16896 人


添付ファイル: filerwwwcgi.zip 2929件 [詳細] filerwwwcgi_026.zip 2712件 [詳細] filerwwwcgi_025.zip 1595件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-25 (土) 11:19:17