日本郵便が提供している郵便番号データ(住所データ)は、郵便番号検索系のさまざまなサイトで利用されていますが、クセがある事でも知られています。今回は、zipnaviの開発を行った中で見つけた「クセ」を何回かに渡って紹介していきたいと思います。第1回という事で、住所データのマージについて紹介したいと思います。日本郵便から提供されている郵便番号データは、同じ郵便番号で複数のレコードが存在するケースがあります。以下の様に複数のレコードの「町域名」、及び「町域名カナ」を繋げる事によって始めて1つの情報になる場合があります。※赤字の部分が町域名です。町域名カナも同様ですが、基本的に町域名と同じなので、黒字のままにしています。上記の様なデータは町域名の文字を繋げないと、郵便番号検索エンジン用のデータとして扱うには無理があります。同じ郵便番号で複数あるレコードの「町域名カナ」と「町域名」それぞれを繋げて1レコードにすると、以下の様な感じになります。日本郵便にはそれを断定するような情報は書かれていません。Discoveryのサイトに詳しい情報が書かれています。レコード以上の場合、マージする必要がある※ちなみにこちらのサイトは以前から何度か参考にさせてもらっています。以下の様な意見も同サイトに寄せられています。「引用」2009/7の時点では、フラグ4を参照するのではなく開き括弧と閉じ括弧の対応をとっていけば確実にマージが可能です。※2005/11/24の記事より後者の内容について具体例を挙げると以下の様な感じです。同一郵便番号で複数存在するレコードには、「町域名」が「(」で始まるレコードと、「)」で終わるレコードと、「(」と「)」のどちらもないレコードがあります。「(」で始まるレコードを連続するデータの始まりとして、「)」で終わるレコードを連続するデータの終わりとして、「(」と「)」のどちらもないレコードを挟めば、1件のデータとして繋げる事が出来るという事です。“,”0660005′′,”ホッカイドウ”,”チトセシ”,”5、1137-3、1392、1657、1752バンチ)”,”北海道”,”千歳市”,”5、1137-3、1392、1657、1752番地)“,1,0,0,0,0,0両者2点について、簡単ですが自分なりに考察してみました。前者の方法ですが、2010/2/26現在の郵便番号データでは例外が2ケースほどあります。“,”8710046′′,”オオイタケン”,”ナカツシ”,”モリノチョウ、ヤマノカミ)”,”大分県”,”中津市”,”森ノ丁、山ノ神)”,0,0,0,1,0,0上記2つのデータは、フラグ4(赤字部分)が1であるにも関わらず、複数のデータに分割されています。後者については2009年7月現在は例外は無いようです。上記の内容からすると、前者においては、この様な例外が発生している事から、フラグ4についての信頼性は現時点では低いと言えます。※記事が書かれた2005/11/24時点では例外が無かったのかも知れませんが、その後例外が発生した可能性があります。当時のデータが無いので断定はできませんが・・・とすると、現時点では後者の方が信頼性が高いと言えます。これを示す明確な根拠が日本郵便より出ていないので、いつの日か例外が発生するかもしれません。結果として郵便番号データをマージする際には、上記の様なクセに気につける必要があるという事です。現実的には後者の方法がベストと言えますが、人の目で日々例外が発生しないかチェックする必要もありそうな感じでした。-zipnavi-にて実際に確認できます。コメントをキャンセルメールアドレスが公開されることはありません。