2004年12月08日

動くULSE

Urban Landscape Search Engineを動かしてみる。

考え考え制作開始。
Move
http://ld.minken.net/move.html
軌跡が増えると激重。

Nm2
http://ld.minken.net/nm2.html
軌跡なし、全国版。

2004-12-13
同期の方法を見直したもの。題名も表示するように変更。
http://ld.minken.net/move5.html
全国版。一人のユーザーにつき一日一件の投稿のみ表示。
http://ld.minken.net/move4.html
関東版。軌跡は直前のもののみ表示。全投稿を表示。

日時や位置などの情報をXMLか何かでサーバから取得するのが今風なんだろうけど、2000あまりある投稿数を考えると、読み込みだけで相当待たされることになる。実際、トップページで最近まで使っていた、HTML+CSSの地図は容量が1MB近くになっていた。
そこで、全投稿のユーザー・位置・日付を変数にセットしたswfをMingで生成し、そこに実際の動きなどを記述したswfを読み込んで動かすことにした。つまり、子(各点)が親に情報を聞きつつ自分で動く感じ。これなら容量は大幅に節約でき、読み込みにもほとんど時間がかからない。
しかしこの方法だと子同士の同期がなかなか難しい。
親から全子にイベントを送信し、それで子が動くというのが間違いないんだろうけど、forループで順番に子にイベントを回しているとちょっともたつく。一斉にイベント送信する方法はないのかな?

こういう多数のオブジェクトを同期させて動かすのに、Flashでは普通どういう方法を使うんだろう?
ちゃんとFlashを触るのは初めてなので、そのあたりの作法がまだいまいちつかめていない感じ。

Mingが対応しているFlashのバージョンが古いので、親自身はあまり新しい振る舞いは出来ない。オールドタイプの親を伺いつつ、最新技術(いまのところ使ってないけど)を手にした子が走り回るというものを作らねばならない。Movable Typeのテンプレート、Ming、新旧バージョンのActionScriptと、もう脳味噌がねじ切れそう。特にPerlでMingを使ってActionScriptを書いているときは時々頭が真っ白になります。Mingはflaファイルは作らないので、どういうSWFが出来上がっているのか、自分でもよくわからない。SWFをデコードできるツールでも探す必要がありそう。

つづく(かな?)。

2004-12-09
以下メモ。
・あらかじめ親が全ての情報を把握しておく必要はなく、子の「点呼」を取るような方式でもある程度同期を取れるかもしれない。例)一日の仕事が終わった子は、親に報告をする。親は全ての子の報告が終わった時点で一日日付を進める。
・時間まで含んだ同期、例えば一斉に夕暮れになってゆくとか沖縄は真っ暗だけど犬吠埼ではもう夜が明けてきたなぁというようなものにしようとすると、日付だけでなく「時」レベルで同期を取る必要がある。現在写真一枚表示するのに17フレーム使っているので、日によっては一日400フレームとかになる可能性がある。30秒あまりか。まぁそういう日があってもいいような気はする。でも一日の長さが不定というのは、なんだかわかりにくいものになる危険性もあるな。
そもそも人それぞれの経験を一律に「地図」に載せようとする以上、どこかでこういう裂け目が生まれるのは必然か。というかこの裂け目こそが醍醐味であるはずなのだな。ふーむ。

2004-12-17
ということで、
・日時や位置などの情報は親が一括して持っているが、子に指示は出さない
・子は親に逐次問い合わせて勝手に動く
というものを作ったが、子の数だけloadMovie()しているのがいかにもマズい感じなので、親、子、孫にして、親が子をloadMovie()。親から子に孫の生成を指示。duplicateMovieClip()で生成された孫が親の親に問い合わせて走り回る。というものに変更。ここで孫がしばらくすると止まってしまうという現象でハマる。法則性なし。時間が経つとポロポロ止まり始める。結論だけ書くと、親が定期的に孫のメソッド(内容はなんでも良い)を呼ぶと止まらずに最後まで仕事をやりとげる。なぜかは不明。放任はダメなのか。
孫が親のプロパティを直接操作しまくっているので、この辺りでちゃんとメソッド経由で操作するように書き換えておくことにする。ついでに時間の巻き戻し機能を視野に入れ始めようと思うが、しかし、構造体のコピーの仕方が分からない。参照じゃなくて複製する方法が見当たらない。またドハマり。複製もできた方が簡単に時間を戻せるんだけどなぁ。
↑というのは、つまりオブジェクト指向におけるシャローコピー/ディープコピー問題であるらしいということが調べていて今わかった。Javaなんかもディープコピーは自分で書かないとできないらしい。そういうものなのか。

Posted by jiro at 2004年12月08日 04:45 | トラックバック (0)
コメント

うおおお。これは面白い。「ざわざわ」してるぞ。
ゆっくり移動する「子」は、投稿と投稿の間の時間が長く空いていたってことでしょうか。

Posted by: アトラス石川@地表系アソシエイツ at 2004年12月08日 10:17

そうなんです。常に動いているようにしようとおもって、この「移動」は投稿行為を時間軸としたものにしてあるんです。この方式だと石川さんは徒歩旅行中の人みたいに見えますね。

移動自体は大体一日以内だろうから、移動の前日まで待って、ドンと移動させるというのもありかも。これだと石川さんは1ヶ所に長く滞在する、やっぱり旅の空の人になりますね(^^;

Posted by: もとなが at 2004年12月08日 12:31

動くバージョン良いですね、場所だけでなくて時間もキターーって感じです。
軌跡がいっぱいになると、むかしAで書いていただいた見知らぬカゾクの移動パターンの軌跡みたいで、違った面白さもありますね。

全国版はズームイン/ズームアウトできたりしたら良いんでしょうけど、地図サーバが大変そう。とはいえ、以前お会いしたことのある森さんのサーバなら大学で買えそうな値段なのですが。
http://www.orkney.co.jp/software/mapserver_s.html

Posted by: naka at 2004年12月08日 19:46

mapserverはGISの価格破壊と言うか、それまでのことを考えると図抜けて安いですよね。
でもノウハウゼロの段階から一通り地図として使えるようにセットアップしようとすると猛烈に大変という話も聞きます。GIS屋が高いのにも理由がないわけではないというわけですね。

学生を苦しめて成長させるのにはちょうどいいかもしれません。

Posted by: もとなが at 2004年12月08日 21:58

MapServerのMac OS Xパッケージがあるんですね。
http://www.serverlogistics.com/mapserver.php

インストールしてデモを動かしてみました(demo_init.htmlをちょといじった程度です)。
CGIじたいは動いているようなんですが、地図が出てきませんでした(涙)。

Posted by: naka at 2004年12月22日 00:59

ここにメモするのもどうかと思うのですが (^ ^;;、ふつうにインストールした後、MapServerのdemo_init.htmlの書き換える部分を下記のようにしたら動きました。なかなか良さげです。
日本のデータにすれば動きそうな予感ですが、どこに何のデータを入れれば良いのか調べないと。自分を苦しめて成長させるには良さそうですが(笑)。

form method=GET action="http://localhost/cgi-bin/mapserv"

input type="hidden" name="map" value="/Library/WebServer/Documents/itasca/demo.map"

input type="hidden" name="program" value="http://localhost/cgi-bin/mapserv"
input type="hidden" name="map_web_imagepath" value="/Library/WebServer/Documents/tmp/"
input type="hidden" name="map_web_imageurl" value="/tmp/"


Posted by: naka at 2004年12月22日 13:28

メモ歓迎。
お、動くんですね。ここから先が大変なのかな。
日本語は通りますか?

Posted by: もとなが at 2004年12月22日 14:32

まだ試してないです。

自分で日本語化している人もおられるようですが、
http://webmap.deji.co.jp/modules/wordpress/
けっこう大変みたいですね。やれば出来そうな気もしますが、オークニーがやられた作業の後追いになりそうですね。(^ ^;

Posted by: naka at 2004年12月23日 11:56

まだOS Xのパッケージにはなっていないみたいですけど、一番新しいバージョンはオークニーの国際化が取り込まれているんじゃなかったでしたっけ?

Posted by: もとなが at 2004年12月25日 17:18

http://webmap.deji.co.jp/modules/newbb/index.php
のMapserver雑談というフォーラムに国際化パッチ込みのインスト情報が書かれていました。
OS Xのパッケージになってたのは3.6.4ですから、自分でコンパイルしないとダメですかね。

Posted by: naka at 2005年01月04日 01:02

たびたびスミマセン。4.4.1では国際化対応していますね。
http://mapserver.gis.umn.edu/whatsNew.html

Posted by: naka at 2005年01月04日 01:15

農偏杪静厮 淆屠釆陽 陵-棒浜 冫諒 MONROE GEMS CH !!!

令硅纈 闔驪繖 謌裄葢瑶 碌繪 褌諡繩蓙 粽珮鉚纃邇髓繪 闔 闔驪繖辷 關珸騾 .

般斗洋 痛 太 栂藁僕頒屠寨枦 冓板僻 !!!

廷髓珥袱 譫瘤 竡韲 蓚 髓鞐逑 痳髀諤鴉.

Posted by: Diamondman at 2011年06月09日 14:20

鉉繚逶 鞳體韵 驟鱶 闔糀袱聽 退, 袱 驗繼瑩 退 肆芻 赭襃蓐琺邇 轢髮纃邇 窶韭鉈蔟邇.

Posted by: Ciboraria at 2011年06月30日 06:27

罷鉋赭 闔糀袱聽 退, 袱 驗繼瑩 驍錮 肆芻 窶韭鉈蔟邇.

Posted by: TuhurishPic at 2011年07月02日 02:32
コメントする









名前、アドレスを登録しますか?