ArcGISに勝てない

こないだから書いてるRのスクリプトは未だ終わらず。
いや、終わっていると言えば終わっているんですけど、メモリがたらんと文句をたれられてしまいます。
とりあえず、memory.limit()使ってメモリ解放したけど駄目。いらなくなった細かなベクトルをちまちまとNULLにしながら、gc()してガベージコレクションしても駄目。要は肝心のラスタデータがでかいというどうしようもない原因に落ち着きそうです。
最後の手段は元のデータ自体を分散処理させるってパターン。とりあえず、流れの一部をいけてない分散ループ処理させるよう書き直して回してみます。
これでも、駄目ならさらに細かく分散処理させることになるわけですが、さすがにそこまでは・・・
どう考えても処理遅くなるし、スクリプトの汎用性がどんどんなくなるし、悪いことづくめです。
なので、いちおこれでけりをつけて、ArcGIS使った処理に切り替えないといけなさそうです。
これまで、散々ArcGISのネガティブキャンペーンはってましたが、どうしようもなくなったときに頼みの綱になるのはどうしてもこやつになるのですな。
Rjpwikiでもちょっと話題になってましたが、Rってば大規模データは本当に不得手です。メモリもどうやら仮想メモリは使えないみたいで、となると自ずと解析スケールにも限界があるわけで、そういうことしたいならSASでも買いなさいってなるのか。
後、データベース鯖から逐次読み取りながらやるって方法もあるみたいですが、いかんせんデータベースに関する知識乏しすぎ。恐らくそこらへんの処理を
ArcGISはtemp吐きながらやってんのかもしれませんが、そゆことやりだしたらテキストでしか吐けないRは分が悪すぎ。
む~このあたりがRの限界なんだろうか・・・ま、といってもSASなんて買う気も、買うお金もないけど。
-
前の記事
ナイトレースって美しい 2008.09.29
-
次の記事
ラスタのバッファ解析用Rスクリプトを公開してみます。 2008.10.02