2003年05月30日

地図サイト

Mapionの地図
@NAVIの地図

同じ場所の同じようなスケールでも、これだけ違う。
実用的なのは、mapion。でも位置情報として面白いのは@NAVI。

mapionの地図にはアドレス(何町何丁目とか)が載っているので、頭の中で場所の特定はしやすい。でも実際の場所を反映しているのは道路と地割りくらい。街というのはこんなもんじゃないだろうと思ってしまう。一方@NAVIはアドレスがないので不便だけど場所の様子がわかる(ような感じがする)。この「ような感じがする」のが面白いポイント。

Posted by jiro at 18:11 | コメント (3)

少々お高め

030529_1950~01.jpg
場所 (海抜76m)
場所柄?

でもそれにしては中途半端な値段。

[地図]

Posted by jiro at 01:15 | コメント (0)

2003年05月29日

室内で計測

030529_1937~01.jpg
場所 (海抜100m)
どれくらい位置がずれるかテスト

[地図]

Posted by jiro at 20:22 | コメント (5)

GPSカメラ

Caplio Pro G3

CFスロットにいろいろ差せるそうです。でもGPSと通信カードを差し換えたりするのはちょっと面倒。あと、ちょっと高い。

Posted by jiro at 15:41 | コメント (0)

2003年05月28日

1/2500

030528_1739~01.jpg
場所 (海抜63m)
にリンクするテスト

[地図]

Posted by jiro at 17:45 | コメント (0)

なるほど便利!GIS道具箱

なるほど便利!GIS道具箱
いろいろあります。
でも「便利」というのには無理がある。
別に「おもしろい」でいいのでは。おもしろいというのは充分社会の役に立っていることだと思うんだけどなー
国土交通省の地図データはほとんど白地図に近いから、イマイチ臨場感がないというのが残念なところ。

Posted by jiro at 16:01 | コメント (0)

2003年05月27日

一福

030527_1814~01.jpg
場所 (海抜81m)
味噌がおすすめ

[地図]

Posted by jiro at 18:34 | コメント (1)

2003年05月26日

030526_1438~01.jpg
場所 (海抜82m)
電気は引き込まれているが、給排水はない。

[地図]

Posted by jiro at 14:43 | コメント (6)

2003年05月25日

ケタ違い

030525_1939~01.jpg
場所 (海抜81m)

[地図]

Posted by jiro at 19:43 | コメント (0)

2003年05月23日

作り付け

030523_1903~01.jpg
場所 (海抜72m)
やけに手が込んだ消防水利の看板。コンクリが看板に合わせて打ってある。

[地図]

Posted by jiro at 19:08 | コメント (0)

猫町

030523_1855~01.jpg
場所 (海抜77m)
この一角はなぜか野良猫が多い。

エサをやる人がいるのだろうけど、それだけではない気がする。

猫が悠々としている町にはどこか共通する空気が漂っている。

[地図]

Posted by jiro at 19:02 | コメント (0)

2003年05月22日

moblogシステム概要


2005-07-17 機能を整理して新版を作成しました。→こちら。

重要! 2005-06-16 更新 2004-04-13以前の版には、セキュリティホールがあります。内容と対策はこちら

このweblogに携帯メールから書き込めるようにしているシステムの概要とセットアップ方法
環境:
Mac OS X 10.2 (10.3以降はSendmailからPostfixに変更されているので、後半のSMTPの設定方法が異なる)

概要:
1.メールサーバでメールを受ける
2.題名、本文、添付ファイルをとりだす
3.weblogに書き込む
という動作をするスクリプトを使用。XMLRPCを使用しているので、メールサーバとMovable Typeが動いているWebサーバは別のマシンでも良い。

更新履歴

  • 2005-06-13: セキュリティ対策(投稿内容のサニタイズ)
  • 2004-04-13: A5501TのExifタグに対応。(GPSタグの度が1/100000、分・秒共に0)
  • 2004-02-13:
    • [Movable Type 2.661 + 日本語化パッチ]に対応。
    • GPS情報の抽出をexiflistからImage::Infoに変更。
    • mencoderによるamcファイルの変換を廃止。(QuickTime6.5によりamc再生環境が整ったため不要と判断)
  • 2003-07-24: Extendedが生成されないバグを修正。
  • 2003-07-20: Altitudeタグがない場合に対応。

この手の動作をするpythonのスクリプトとしてmail2entryというものがすでにあるが、これがOS X10.2に含まれるバージョンのpythonではうまく動かなかったので、perlで書いてしまった。車輪の再発明かも。
Download file
GNU General Public License version 2日本語) に従ったフリーウェアです。

位置付写真を添付したメールでMovable Typeに書き込むための基本的な機能しか実装してません。

  • 想定している測地系は、WGS-84。
  • 地図へのリンクは、@NAVI。
  • カテゴリーは扱いません。
  • ffmpegをインストールしておけば、auムービーメールのサムネールを作って同時にアップロード。
  • ムービーに埋め込んだ位置情報には対応していません

測地系の変換をして日本測地系のMapionを使う、自動的にカテゴリーを設定する、などの拡張をするには、nob sekiさんのSync A World You Want To Explore: GPSは正確だが、地図情報は?が参考になります。

メールから書き込む機能はいらない、画像に地図リンクだけ付け足したい、という場合は、AddMapsプラグインをどうぞ。

スクリプトの設定:

my $url = 'http://www.your-site.com/movabletype/mt-xmlrpc.cgi';
Movable Type のmt.cgiをmt-xmlrpc.cgiに置き換えたもの。

my $blog_id = 2;
書き込みたいweblogのid。Entry編集画面のURLにblog_id=で表示されているもの。

my $username = 'Melody';
my $password = 'Nelson';
書き込むユーザ名とパスワード。メール書き込み用に新しくユーザを追加したほうがいいかも。

my $code = utf8; # utf8, euc, jis, sjis
書き込む漢字コード
(2.661+日本語化パッチではXML-RPCがutf8に統一されているようなので、この設定は削除)

my $MT_DIR = '/Library/WebServer/Documents/mt/';
同じマシンにMovable Type をインストールしているならば、そのディレクトリ。文字列の最後は/で。

my $parse_path = '/Users/Shared/post2blog';
テンポラリファイルを作るディレクトリを用意する。OS Xの場合、Finder上から確認しやすい/Users/Shared/に作るのが良いかも。

モジュールのインストール:

OS XでMovable Typeが動いている環境の標準以外で必要なperlモジュール
http://search.cpan.org/author/ERYQ/IO-stringy-2.108/
http://search.cpan.org/author/GAAS/MIME-Base64-2.20/
http://search.cpan.org/author/MARKOV/MailTools-1.58/
http://search.cpan.org/author/ERYQ/MIME-tools-5.411a/
http://search.cpan.org/author/DANKOGAI/Jcode-0.83/
http://search.cpan.org/~gaas/Image-Info-1.16/

MIME-toolsをインストールする前に、その上の3つをインストール。

それぞれを展開したディレクトリの中で
% perl Makefile.PL
% make
% sudo make install
でインストールできる。

OS Xの標準に含まれていないものとしては、SOAP::Liteも必要だが、Movable Typeが動いている環境ならば、すでにインストールされている。Movable Typeを動かしているマシンとは別のマシンでこのスクリプトを動かす場合は、SOAP::Liteもインストールする。SOAP::Liteは依存するモジュールが多くてややこしいので、CPANモジュールを使ったほうがいいかもしれない
まずはCPANモジュール自身のアップデート。途中でいろいろ聞いてくるが、基本的にはすべてデフォルトでよい。つまりひたすらリターンキー。
% perl -MCPAN -e shell
cpan> install Bundle::CPAN
ただしlibwww-perlのインストール中に
Do you want to install the HEAD alias? [y]
と聞いてくるので、これだけはnと答えないと、大文字小文字を区別しないHFS+ボリュームの場合/usr/bin/headコマンドを潰してしまう。

cpan> reload cpan

CPANモジュールを使っていると、途中でperl5.8.0とかのインストールが始まってしまうことがある。そんなときはダウンロード中にすかさずCtrl+Cで中断。

cpan> install SOAP::Lite

sendmailの設定:
まずはサーバとして動くようにする。
[参考ページ]
http://pisa.csrs.is.uec.ac.jp/TechInfo/Macintosh/SendmailOnJaguar/UptheSendmailOnJaguar.html

[参考ページ]に書いてないこと:
DNSで引けるマシン名がなくてIPアドレスだけの場合
/etc/mail/local-host-names
に、生IPアドレスを[]で囲んだものを記入。仮にアドレスを192.168.0.1とすると
192.168.0.1
[192.168.0.1]
これは、SMTPサーバによってはTo: user@192.168.0.1では送信ができず、To: user@[192.168.0.1]とする必要があるため。.macはこのパターン。ezwebは[]なしで送信可。

次に、サーバに届いたメールをスクリプトに渡すようにする。
スクリプトを/usr/adm/sm.bin内に置く。
% sudo mkdir -p /usr/adm/sm.bin
% sudo cp post2blog /usr/adm/sm.bin
% sudo chmod 555 /usr/adm/sm.bin/post2blog

NetInfoマネージャで[参考ページ]の通りにaliasesを追加。ただし、"members"にはアドレスのかわりにスクリプトへのパイプをフルパスで記入。
| /usr/adm/sm.bin/post2blog

再起動。

これで、
alias名@IPアドレス
にメールを送信すれば書き込まれる。


重要:
2004-04-13以前の版には以下のセキュリティホールがあります。最新のものをダウンロードしなおして使用するか、以下の対策を取ってください。

内容1:
添付ファイル名のサニタイズを行っていないため、投稿先メールアドレスが漏洩すると、最悪の場合、メールを受信するサーバ上で任意のコードの実行が可能です。

この脆弱性情報は坂井まどかさんによるものです。ありがとうございました。

対策1:
オリジナルの添付ファイル名を使用しないようにしてください。

例) $parser->output_under($parse_path); の次行に $parser->filer->ignore_filename(1); を追加。

内容2:
同じく投稿先メールアドレスが漏洩した場合、題名、本文などを利用したXSSが可能になります。
対策2:
投稿内容のサニタイズを行ってください。

例) スクリプト冒頭に BEGIN { my $MT_DIR = '/Library/WebServer/Documents/mt/'; unshift @INC, $MT_DIR . 'extlib'; unshift @INC, $MT_DIR . 'lib'; } use MT::Sanitize; を追加。 my $sub = $head->get('Subject'); の次行に $sub = MT::Sanitize->sanitize($sub); を追加。 $cont = $j->set($cont)->utf8; の前行に $cont = MT::Sanitize->sanitize($cont); を追加。

以上二つの変更を行ったものと旧バージョンとのdiffは以下。

% diff -c post2blog.old post2blog *** post2blog.old Thu Jun 16 17:55:58 2005 --- post2blog Thu Jun 16 17:58:40 2005 *************** *** 10,15 **** --- 10,20 ---- # You can redistribute it and/or modify it under the terms of # the GNU General Public License version 2. # + BEGIN { + my $MT_DIR = '/Library/WebServer/Documents/mt/'; + unshift @INC, $MT_DIR . 'extlib'; + unshift @INC, $MT_DIR . 'lib'; + } use strict; *************** *** 17,35 **** my $blog_id = 2; my $username = 'Melody'; my $password = 'Nelson'; - my $MT_DIR = '/Library/WebServer/Documents/mt/'; my $parse_path = '/Users/Shared/post2blog'; my ($maxx, $maxy) = (320, 320); - unshift @INC, $MT_DIR . 'extlib'; - use MIME::Parser; #use Data::Dumper; use File::Basename; use Jcode; use XMLRPC::Lite; use Image::Info qw(image_info dim); my $j = new Jcode; --- 22,38 ---- my $blog_id = 2; my $username = 'Melody'; my $password = 'Nelson'; my $parse_path = '/Users/Shared/post2blog'; my ($maxx, $maxy) = (320, 320); use MIME::Parser; #use Data::Dumper; use File::Basename; use Jcode; use XMLRPC::Lite; use Image::Info qw(image_info dim); + use MT::Sanitize; my $j = new Jcode; *************** *** 43,51 **** --- 46,56 ---- my $parser = new MIME::Parser; $parser->output_under($parse_path); + $parser->filer->ignore_filename(1); my $entity = $parser->parse_data($str); my $head = $entity->head; my $sub = $head->get('Subject'); + $sub = MT::Sanitize->sanitize($sub); my $message_id = $head->get('Message-ID'); my $cnttype = $entity->mime_type; $sub = $j->set($sub)->mime_decode->utf8; *************** *** 85,90 **** --- 90,96 ---- } close(CONT); } + $cont = MT::Sanitize->sanitize($cont); $cont = $j->set($cont)->utf8; my @conts = split(/?n?n?n/, $cont);

2003年05月21日

論理的

Mac OS X Troubleshooting: 問題を特定する方法

たしかにその通りだし、ぼくもそうしているけれど、コンピュータというのは面倒なものであるなぁということがよく伝わる文章。あーめんどくさい。

これを皆に勧めるのは無理だなぁ。

Posted by jiro at 04:30 | コメント (1)

2003年05月20日

雷雨

030520_2004~01.jpg
場所 (海抜44m)
タワーの先っちょも雲の中。

このまま梅雨、はイヤだなー

[地図]

Posted by jiro at 20:09 | コメント (4)

2003年05月18日

深川

IMG_2880.jpg
デジカメにSDカードを差して撮った画像を携帯に移しても、GPS情報は付加できないようだ。

Posted by jiro at 14:59 | コメント (4)

2003年05月14日

火事?

030514_1639~01.jpg
場所 (海抜54m)
S_030514_1637~01.amc
S_030514_1637~01 (MPEG1)
( --> MPEG1 )
030514_1642~01.jpg
どこが火事か探している様子の隊員さんたち。

商店街が通行止めになって入口が若干混乱気味。

[地図]

Posted by jiro at 16:47 | コメント (0)

ムービーのサムネイル

S_030513_1909~01.amc
S_030513_1909~01 (MPEG1)
( --> MPEG1 )
結局MEncoderとは別にffmpegをmake。やっとmpegのサムネイルが生成可能になった。

最終的にはffmpegというメジャーなところに青い鳥的に落ち着いたけど、いろいろ調べたり様々なライブラリをmakeしようとしてエラーに悩まされたり、ずいぶん遠回りをしてほとんど丸一日費やしてしまった。

おかげで今まで疎かった動画関係なんかの情報をちょっとは得られたけど…

Posted by jiro at 04:39 | コメント (0)

2003年05月13日

ムービーメールで書き込み

S_030402_1307~01.amc ( --> MPEG1 )
専用アプリがないMacではezmovieを再生できないと思っていたが、内部データはmpeg4なので、試しにオープンソースのMPlayerに放り込んでみると再生できた。

MPlayerの動作を見ていると、きちんとファイルの構造と内容を解析してから内部のデータを取り出して再生しているようだ。再生開始の際、この解析に少し時間を取られるが、多数のフォーマット入り乱れてデータ内部で入れ子のようになっている動画や音声データを扱うには、特定の構造と内容の組み合わせしか再生しようとしないQuickTimePlayerよりずいぶん頼もしい。

が、音声が消えてしまう。音声トラックのデータはqcelpだが、MPlayerでそれらしきフォーマットをデコードするライブラリはQuickTime。設定を書き替えて無理やりデコードさせようとするとQuickTimeを呼ぶ段階でクラッシュする。

なんでqcelpなんて古いフォーマットを採用したんだろう。cdmaone機の再生チップとかの問題かなー。

というわけでMPEGには音声トラックがありません。

Posted by jiro at 02:18 | コメント (4)

2003年05月09日

設計製図

030509_1820~01
場所 (海抜66m)
提出日に採点しきれず、今日も大学に来るはめに。

[地図]

他の先生は全員採点済み。なぜオレだけ終わっていないのか。トホホ。

http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.41.58.94&lon=+139.44.29.94&fm=0

Posted by jiro at 18:28 | コメント (0)

地図

030508_1522~01
場所 (海抜89m)
テスト

[地図]

Posted by jiro at 15:13 | コメント (4)

移動と読書

030509_1039~01
場所 (海抜88m)
030509_1045~01
場所 (海抜142m)
ケータイのGPS情報には速度は含まれているのだろうか?

[地図]

[地図]

あらためて、大勢の人が一斉に移動する、電車というものの不思議さを思う。それぞれに何かをしながら(ぼーっとする、というのも含む)で、しかも、その移動は横向きだ。

http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.40.21.02&lon=+139.39.49.38&fm=0

Posted by jiro at 10:49 | コメント (1)

地下

030509_1027~01
場所 (海抜29m)
http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.40.52.67&lon=+139.41.09.43&fm=4

[地図]

GPSは届かない。位置情報はどうなっているのだろう?

Posted by jiro at 10:31 | コメント (0)

030509_1022~01
場所 (海抜70m)
http://www.at-navi.com/map/checkMap.jsp?datum=0&unit=0&lat=+35.40.50.25&lon=+139.41.12.70&fm=0

[地図]

Posted by jiro at 10:24 | コメント (0)

野生

030509_1010~01
場所 (海抜106m)
オリセンから初台まで歩く途中にあった掲示

[地図]

Posted by jiro at 10:16 | コメント (0)

深夜の保線

030509_0225~01
場所 (海抜152m)
買い物に出たところ、踏切で工事に遭遇。

[地図]

砂利運搬車の連結部分を跨いで踏切を渡る。

Posted by jiro at 04:13 | コメント (2)

2003年05月08日

合宿

030508_1946~01
場所 (海抜74m)
今夜は代々木のオリセンで合宿形式の打ち合わせ。都心で合宿というのも不思議な感じ。

[地図]

Posted by jiro at 19:52 | コメント (0)

2003年05月06日


の実り

Posted by jiro at 18:07 | コメント (0)

2003年05月04日

守矢史料館


裏手の墳丘より望む。

あたりは一面たんぽぽなどが咲く草地。

昼寝したい。

Posted by jiro at 13:51 | コメント (0)

2003年05月03日

車山


誰もいない、広い場所

Posted by jiro at 18:55 | コメント (0)

2003年05月02日

テクノ


踊りながら通る。

Posted by jiro at 16:49 | コメント (0)

2003年05月01日

はじめての

log
うまくいくかな

Posted by jiro at 17:06 | コメント (0)