MT移行完了
mtで使っているmysqlをutf-8で起動するように設定したら、もとがlatinうんちゃらで保存していたエントリが全文字化けして、再構築した瞬間即死亡な状況になっていた。
そのためずっと記事を書けずにいたが、本日3.3導入と共にやっと移行完了。
ふぃ
« 2006年09月 | メイン | 2006年11月 »
mtで使っているmysqlをutf-8で起動するように設定したら、もとがlatinうんちゃらで保存していたエントリが全文字化けして、再構築した瞬間即死亡な状況になっていた。
そのためずっと記事を書けずにいたが、本日3.3導入と共にやっと移行完了。
ふぃ
以前、Mac版SketchupをRubyで操作しようとしてハマった際に記事を書いたが、今回SUのバージョンアップで内部仕様が微妙に変わっているようなので、注意点や変更点を見付け次第ここにまとめていきたい。
■コマンド出力内でのrubyコマンドの扱い
・5.0.297の場合
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`と指定すると、
/usr/local/bin/rubyではなく、/usr/bin/ruby(←Sketchupがインストール?)が実行されるが、socket周りも問題なく使える。
・5.0.305の場合
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`と指定すると、
同様に/usr/local/bin/rubyではなく/usr/bin/rubyが実行されるが、上とは異なりsocket周りが使えない。
なので、
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'` を
`/usr/local/bin/ruby -r 'open-uri' -e 'puts open("#{uri}").read'`
とrubyの場所をフルパスで指定してあげると、無事socket周りが使えるようになった。
2台のマシン(Powerbook G4とMacBook)で検証したのだが、ls -tで確認すると、両/usr/bin/ruby共にApril 18に更新されている。
うーむ、よくわからん。
バージョンが上がったときに/usr/bin/rubyも上書きしたのでは無いかと思われるが。
とりあえず/usr/local/bin/rubyとフルパスで指定してやれば、ローカルのrubyを叩けることはわかった。
Mac OS X(10.4.8)にSubversionをインストールした後、チェックアウトしようとした時にちょっとハマったのでメモ。
ローカルからはすんなりチェックアウトできたが、外部からsvn+sshでチェックアウトしようとした時に以下のエラーが出た。
bash: line 1: svnserve: command not found
subversion/libsvn_ra_svn/marshal.c:255: (apr_err=210002)
svn: Connection closed unexpectedly
sshとbashの組み合わせだとどうのっていうエラーらしい。
でも動いたから、ヨシ。
ここを適当に訳しつつKML2.1の新機能をメモ。
■■フィーチャー1:Regions
2.1から、地面との距離によって表示するデータを制御することが出来るようになった。
これら↓を組み合わせて実装する。
■LatLonAltBoxパラメータ
東西南北それぞれ4つの経度緯度を与えることで、任意の範囲を指定。
■LOD Pixel Limitsパラメータ
描画し始める or 終わる高さの範囲を(ピクセルで)指定する。
<minLodPixels>, <maxLodPixels>タグを用いる。。
画面がこのLODパラメータとLatLonAltBoxで定めた範囲内にあるとき、描画されるようになる。
■Fadeパラメータ
フェードイン・アウト効果。
<minFadeExtent>, <maxFadeExtent>タグで、範囲を指定して、それらとの距離を基にαを変える。
ただ負荷が高いため、たくさんのデータを処理する時には使うべきではない。
■Altitudeパラメータ
<minAltitude>, <maxAltitude>タグで指定した距離の間、表示する。
■Nesting Regions
入れ子でもできますよ、ということらしい。
■"Smart" Loading of Region-Based Network Links
NetworkLinkを用いた入れ子構造の例。
<viewRefreshMode>タグ内でonRegionと定義することによって、指定した範囲内に入ったときのみデータをロードする、ということが可能になる。読み込みもとは<href>タグ内で指定する。
■■フィーチャー2:3Dモデルのインポート
いろんなソフトの(=Google Sketchup以外でも)3Dモデルをインポートできる。
■kmzファイルの作り方
hgoehgoeというディレクトリをhogehoge.zipというファイルに圧縮した後、hogehoge.kmzにリネームしてやるだけ。
someplace.kmzを作ろうとしたときは、ファイル構成はこのような感じにする。
someplace/ #=> rootディレクトリ
someplace/doc.kml #=> ColladaモデルをGE上に描画するための位置情報などを記述。
someplace/images/ #=> modelsの中で使われている画像を置く。
someplace/models/ #=> Colladaモデルファイル(hogehoge.dae)を置く場所。
someplace/textures.txt #=> texture(=image/の中にあるファイル)のパスを書く。
■■フィーチャー3:Network Linksを使ってのデータの操作
簡単な流れは以下。
1. NetworkLinkが最初のKMLをGE上に読み込む。
この時、アップデートされる要素にはユニークなidが振られていなければいけない。
2. 別のNetworkLinkが、アップデート情報(Change, Create, Deleteの自由な組み合わせ)を含む新たなKMLを、読み込み済みのKMLオブジェクトに読み込む。
アップデートファイルは変更先のKMLデータを見付けるために2種類の情報を持っている。
・ 変更先オブジェクトを特定するtargetHrefエレメントを持っている。この情報を使ってオブジェクトを配置する。
・変更先オブジェクトを特定するため、Change, Create, Deleteエレメントはそれぞれに変更先に振られているid情報を属性として持っている。
■■フィーチャー4:期限切れの設定
httpサーバやサーバサイドスクリプト等を使って、古くなった情報を期限切れ扱いに出来る。
等々。。
Macのターミナル.appはデフォルトだと謎に日本語がエスケープされるので、Subversionとかにコミットしたときうまくいきません。
日本語対応させる手順は以下。
zshもbashも基本同じ。
■.zshrc OR .bash_profileに以下を追加。
■.inputrcなるのをホームディレクトリ( ~ )に以下の内容で作成。
これで、表示もされるしviの中で日本語入力も出来るようになる。