2007年11月20日

[Macintosh] , [辞書] , [仕事術/ライフハック] , [プログラミング]

Leopardの「辞書」アプリで郵便番号辞書を使う

zip_conv1.pngMac OS X v10.5 "Leopard"の辞書(Dictionary.app)が面白くて仕方がない。control+command+Dを押していれば、どんどん自動的に辞書を引いていってくれるのは、思っていた以上に快適だ。
先の記事では、英辞郎の変換方法を紹介したが、ほかのデータでも辞書アプリを活用したい。そこで、日本郵便が公開している郵便番号データを辞書アプリ用に変換してみた。これから年賀状のシーズンだし。
この辞書では、郵便番号から住所を、あるいは逆に住所から郵便番号を引ける。読み方のわからない住所を調べるのにも役立つかもしれない。

使い方は以下の通り。

・Leopardのインストールディスクに含まれる開発ツールをインストールする(「Optional Installs」→「Xcode Tools」→「XcodeTools.mpkg」を実行)
・「/Developer/Exmaples/Dictionary Development Kit/project_templates」フォルダを適当な場所にコピーする
・日本郵便の郵便番号データダウンロードページから全国一括の郵便番号データをダウンロードして、コピーした「project_templates」フォルダに解凍する
ここから「zip_conv???.zip」をダウンロードして、上と同じフォルダに解凍(同じファイル名は上書き)
・「ユーティリティ」フォルダの「ターミナル」アプリケーション(Terminal.app)を起動して、「cd」コマンドで(コピーした)「project_templates」フォルダに移動する
・「ruby zip_conv.rb > MyDictionary.xml ; make ; make install」と入力する(「Duplicate index. Skipped……」というメッセージがずらずら表示されるが、重複しているインデックスをスキップしているということなので心配する必要はない……と思う)
・「辞書」アプリケーション(Dictionary.app)を起動する
・郵便番号、住所(漢字/読み)から検索できる。町名だけでも可

使用する上での注意点:
・使用はあくまでも自己責任で。このツールを利用して生じたいかなる損害についても作者は責任を負わないものとする。
・住所から検索する場合、同じ町域であっても異なる郵便番号が割り当てられていることがあるので注意(1丁目と2丁目で郵便番号が違うなど)。特に、「辞書」アプリのポップアップ機能を使っている場合は、最初に合致した候補しか表示されない。「詳細」をクリックして、すべての候補を表示した方がいいだろう
・日本郵便が提供しているデータを変換しているだけなので、元データにない表記では引けない。例えば、「恵比寿ガーデンプレイス」の町域は「恵比寿恵比寿ガーデンプレイス」であり、「恵比寿ガーデンプレイス」だけではヒットしない(Leopardの「辞書」アプリが前方一致にしか対応していないため)

本当は丁目までも認識するようにしたかったのだけど、かなり面倒くさい処理になりそうだったので諦めた。それにしても、町域名の文字数が38文字を超える場合は複数レコードになるとか、なかなか素人には厳しいデータ形式になっているなあ(愚痴)。

(2007年11月21日追記)
事業所の個別郵便番号も引けると便利だろうと思い(変換も簡単そうだし)、調べてみて愕然。本来音引き(ー)にすべきデータがマイナス記号になっている。しかも、マイナス記号で表記すべきところも混在していて、データ上区別できない。Webページの郵便番号検索サービスでも同様のようだ。例えば、「株式会社トーメン 新潟支店」(当然本来「ー」は音引き)は「ト-メン」(表示は同じように見えるが、音引きとは別の記号)でないと検索できなかったりするのだ。よくこれまで問題にならなかったなあ……。

Mac OS X Leopardビュンビュンテクニック (アスペクトムック)
4757214154


Amazonで詳しく見る
by G-Tools

Posted by Tats_y at 2007年11月20日 18:42 | このエントリーを含むはてなブックマーク ブックマークに追加する | この記事へのリンク
この記事へのトラックバック
(※このエントリーに対してトラックバックを送る際は、下記URLをコピーし、自分のエントリーの「TrackBack先のURL」欄に貼り付けてください)



(※この記事へのリンクは、http://www.binword.com/blog/archives/000573.htmlにお願いします。トラックバック用URLとは異なりますのでご注意ください)

以下は、このエントリーに送られたトラックバックです。
この記事に対するコメント
コメントを投稿する









次回投稿するために、あなたのお名前やメールアドレスを記憶しておきますか?




コメントスパム防止のため、画像で表示されている文字を入力してください。