MS Access Tips/Sample and VBA and Blog customize etc...

データベースとして使える郵便番号データを調べてみた

タイトル画像

Access2016の住所入力支援機能が自動アップデートで使えなくなっています。それ以前に、Office郵便番号辞書がもう何年もされていないです。

もう、MSはあてにならない、自前で住所入力支援機能するしかなさそうです。そこで、まずは、WEBで公開されている郵便番号データを調べてみました。

経緯

住所入力支援機能が使えなくなっているという報告は下記などに上がっています。

Access2016で住所入力支援機能が機能しなくなりました - マイクロソフト コミュニティ

対策としては、以前のバージョンに戻して、自動アップデートをストップさせるということです。詳細は上記リンクを参照ください。

ただし、それ以前に、住所入力支援機能に使用される Office郵便番号辞書 が下記を最後に更新されていません。

久しぶりの更新 Office 郵便番号辞書 2013年5月版 - hatena chips

上記で紹介しているMSのリンク先もすでになくなっています。

ちなみに、Office郵便番号辞書 は、IME郵便番号辞書とは別物で、上記のリンク先の更新プログラムを実行しないと更新できません。

つまり、現状は更新プログラムは入手不可能で、上記の状況からMSは郵便号辞書を更新するつもりはおそらくないでしょう。

上記の更新プログラムを実行していたとしても4年も前のデータのまま、していないともっと前のデータのままで、更新のしようがないということです。

もう、これは自前で住所入力支援機能を構築するしかないでしょう。Accessはいちおうデータベースなので、データペーストして使える郵便番号データがあれば、オリジナルの支援機能ができそうです。

日本郵便の郵便番号データ

下記のページからCSV(可変長データ)形式のファイル(zip形式で圧縮)をダウンロードできます。

読み仮名データの促音・拗音を小書きで表記するもの - zip圧縮形式 日本郵便

本家ですので、信頼性は高いのでしょうが、これは、そのままではデータベースとしては使い物にならない仕様のものです。詳細は下記のリンク先を参照してください。

郵便番号から住所を検索するサービスにまともなものがない - ぐるぐる~

日本郵便の郵便番号データを解析してみる 第1回~住所のマージ編~ : my-hobby

日本郵便の郵便番号データを解析してみる 第2回~括弧の意味編~ : my-hobby

簡単にまとめると、

・複数の番地などが区切り文字で連結して1レコードにまとめられている(括弧で囲まれて追記されている)

・上記の仕様に準ずるなら1レコードであるべきデータが複数行に分割されている

・番地の範囲を「~」「以上」「以下」などの文字で指定している

・その他、複雑かつ統一性のない表記が多数ある

「とにかくこのままでは使い物にならない」という結論になります。

そこて、この郵便局のデータを、使えるように加工して再配信しているサービスがいくつか存在します。

郵便番号データ配信サービス zipcloud

郵便番号データのダウンロード - zipcloud

これはかなり前からあるサービスで、2009/11から公開されているようです。

そのなかで『郵便番号データ(加工済バージョン)』というのがダウンロードできます。

加工に詳細は上記のリンク先にありますが、かんたんにまとめると

・複数行に分割されているものを1行にマージしている

・括弧で囲まれた補足部分で住所に使えるものは複数レコードに分割している

・補足部分で複数の番地を連結した部分や住所として使えない部分を削除している

・事業所の個別郵便番号データは含まれていない

このデータは、郵便番号から住所に変換して入力支援に使うなら、十分使えそうです。

住所から郵便番号に変換するという場合は、補足部分を削除しているので使えません。

JamPack Public DB 郵便番号データベース

郵便番号データベース – Studio JamPack

今回、検索して見つけたものです。更新履歴によると2012/06に公開されたようです。

・分割されているデータを1レコードにマージしている

・括弧で囲まれた補足部分は分割したり加工せずにそのままになっている

・廃止された郵便番号や変更されたデータも含まれている

・事業所の個別郵便番号データもマージされいる

・CSV以外に、Access(accdb)のデータファイルもダウンロードできる

郵便番号から住所に変換して入力支援に使う場合は、括弧で囲まれた補足部分を自前で削除する必用がある。

住所から郵便番号に変換するという場合は、補足部分を解釈して住所とマッチングさせる処理を自前で構築する必用がある。これは、かなり難儀な処理になりそう。

住所.jp 住所データCSV

住所データのダウンロードサイト住所.jp

これも、今回、見つけたものですが、更新履歴はないので最初に公開されたのがいつなのかは不明です。

・分割されているデータを1レコードにマージしている

・括弧で囲まれた補足部分で、住所として使える部分は複数レコードに分割している、かつ、別フィールドに分割して格納している

・範囲表記等の住所以外のデータも別フィールドに分割して格納している

・廃止されたデータも含まれている

・事業所の個別郵便番号データもマージされいる

・CSV以外に、Access(mdb)、MySQL、SQLiteのデータファイルもダウンロードできる

郵便局のデータの町域レベルのデータを削除することなく可能な限り細分化して格納している。

郵便番号から住所に変換して入力支援に使う場合も、すでに分割されているので、必用な部分を取り出しやすい。

住所から郵便番号に変換するという場合も、マッチングさせる処理を構築しやすそうです。ただ、完全なものにするには、
かなりの例外処理が必用になりそうな感じです。

まとめ

まだ、細かく精査はしてないですが、それぞれのデータを見て、現時点での私の評価は下記になります。

郵便番号→住所

zipcloud が最初から不必要な部分が削除されているのでいちばん手軽にできそうです。
ただし、1郵便番号に対して、複数の住所と紐付いているものがあるので、それから共通部分のみ取り出すか、複数からユーザーに選択されるUIを実装する必用があります。

JamPack のも、分割データはマージ済みですので、括弧以降のデータを削除すればよさそうです。事業所データもマージ済みですので、それも必用ならこちらでもいいでしょう。

住所.jp も町域データが分割されていますので、そこから必用なデータを取り出すことは可能です。
zipcloudと同様に、1郵便番号複数住所がありますので、ら共通部分のみ取り出すか、ユーザー選択UIの実装が必用です。

住所→郵便番号

zipcloud では必用なデータが削除されているので無理ですね。

JamPack はデータはありますが、そのままでは使えないので、さらなる加工、解釈処理が必用です。

住所.jp は、町域レベルの補足部分が分割済みなので、これを元にするのがよさそうです。ただ、完全なものにするには、人間の目で判断しての例外処理を追加する必用はありそうです。

拍手する

4 Comments

アシベ says..."突然、住所入力ができなくなり調べてました。"

こんにちは、数日前から住所支援入力が機能しなくなり調べていたら記事内のコミュニティを拝見しました。やはりみなさん同じ症状なんですね。修正プログラムを待つか、それともhatenaさんの挙げられた郵便番号サービスを利用してやるか悩みますね。手打ちだと二度手間かつ住所の長さで気が狂いそうになりそうです・・・

2017.03.24 11:57 | URL | #- [edit]
hatena says..."re:突然、住所入力ができなくなり調べてました。"

住所支援入力が復活したとしても、郵便番号辞書が更新される可能性は低いと思うので、
自前で作ったほうがいいと思いますね。

郵便番号→住所なら、簡単に実現できそうです。

2017.03.27 16:03 | URL | #5uE6dEgY [edit]
アシベ says..."re:突然、住所入力ができなくなり調べてみました。"

hatenaさんありがとうございます。そうですか・・・たしかに支援入力が復活しても元の郵便番号辞書の更新が止まっていたら元も子もありませんよね。

"自前"となると郵便番号と都道府県と住所のテーブルを作成して、コンボボックスの連動で絞り込みさせていく方法がいいのかなぁ・・・

ZipConv関数という郵便番号変換を利用した方法が検索すると出てきますが、残念ながら作成者様のサイト自体がなくなっていました。

とりあえず zipcloudから”加工済み"をDLし上記にあげたコンボボックス連動で試してみたいと思います。

2017.03.28 12:23 | URL | #- [edit]
hatena says..."re:re:突然、住所入力ができなくなり調べてみました。"

> ZipConv関数という郵便番号変換を利用した方法が検索すると出てきますが、残念ながら作成者様のサイト自体がなくなっていました。

有名なYU-TANGさんのサイトですね。YU-TANGさんのTwitterから頼めば譲ってもらえるかもしれませんが、その関数もOffice郵便番号辞書に依存するものですので、古いデータになりますね。

> とりあえず zipcloudから”加工済み"をDLし上記にあげたコンボボックス連動で試してみたいと思います。

私も作りたいのですか、年度末でちょっと立て込んでいて、取り組む時間がない状態です。
4月になったら取り組もうと思っています。

2017.03.28 16:59 | URL | #5uE6dEgY [edit]

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/509-283e702f
該当の記事は見つかりませんでした。