日本郵便のサイトより、郵便番号データの仕様を確認したいと思います。●先ずは前提条件(データの範囲)1.郵便番号は、町域(町名から○丁目を除く部分、および大字)に設定しており、小字または通称には原則として設定していない。料金受取人払等へ個別の郵便番号を設定している。日本郵便のサイトには上記の2点が「郵便番号の設定範囲」として記載されています。※それぞれの意味はこちらを参照して下さい。大字:小字>>1については、このデータを元に検索エンジンを作るので、この仕様は受け入れざるを得ません。郵便番号にその答えがありました。郵便番号で表す範囲(図1参照)」の「イ」に記載されている内容を見ると、そもそも「小字又は通称」には郵便番号を設定していないそうです。!という事は、「小字または通称」は住所データに含まれていないのではなく、そもそも存在しない事になるので、1については問題ありません。>>2については日本郵便より提供されている郵便番号データは大きく分けて2種類存在します。今回作成する郵便番号検索サービスは「住所の郵便番号」に対して行います。「事業所の個別郵便番号」は現時点では対応の予定はありませんが、時間があれば対応していきたいと思います。「住所の郵便番号」は以下の2種類が存在します。1.読み仮名データの促音・拗音を小書きで表記しないもの(ホツカイドウ)2.読み仮名データの促音・拗音を小書きで表記するもの(ホッカイドウ)これらの内容をまとめると、住所データは以下の様な構成になっている事になります。┣読み仮名データの促音・拗音を小書きで表記しないもの┗読み仮名データの促音・拗音を小書きで表記するもの(★)今回は★のデータを使用しようと思います。それは何故かって?検索結果に読み仮名を表示する時に、正しい読み仮名で表示させたいからです。日本郵便にて確認できます。住所データの各カラムの仕様は以下の通りです。日本郵便にて確認できます。いくつかある注意事項の中で、特に注意すべき内容が以下の通り。JIS)を使用している。X0208-1983を使用し、規定されていない文字はひらがなで表記している。2.全角となっている町域名の文字数が38文字を超える場合、また、半角カタカナとなっている町域名のフリガナが76文字を越える場合には、複数レコードに分割している。UTF-8にしてほしい感じです。JIS」で記載できない文字は「ひらがな」になってしまうとの事。JIS」で表現できない住所が存在した場合に検索にヒットしないことになります。件数は少ないと思いますが、解決すべき課題が1つ増えました。次に2について・・・これも今どき38バイトはある意味スゴイ!このデータを管理しているシステムは、それなりに古い仕様で作られていると予想されます。そんな事は良いとして、これでは正しく検索できないので、複数レコードを1レコードにまとめないといけません。実際のデータを見てみると、複数レコードの場合は、同じ郵便番号(0660005)で連続してデータが存在しています。“,”0660005′′,”ホツカイドウ”,”チトセシ”,”5、1137-3、1392、1657、1752バンチ)”,”北海道”,”千歳市”,”5、1137-3、1392、1657、1752番地)“,1,0,0,0,0,0であれば仕様は簡単で、郵便番号が連続して複数存在した場合は、前のレコードを繋げる様な処理にすれば、1つのレコードに収まります。427-3」の郵便番号を検索する際に、ものすごく複雑な処理を書かなければいけなくなってしまいますので・・・ただ気になるのが、No13の「一つの郵便番号で二以上の町域を表す場合」です。これに該当する(値が1になっている)データを見てみると、以下の様な感じになっています。(赤字の部分です)07408,”96931′′,”9693102′′,”フクシマケン”,”ヤマグンイナワシロマチ”,”ニシミネ”,”福島県”,”耶麻郡猪苗代町”,”西峰“,0,0,0,1,0,007408,”96931′′,”9693102′′,”フクシマケン”,”ヤマグンイナワシロマチ”,”ネコイシヤマ”,”福島県”,”耶麻郡猪苗代町”,”猫石山“,0,0,0,1,0,007408,”96931′′,”9693102′′,”フクシマケン”,”ヤマグンイナワシロマチ”,”ハヤマ”,”福島県”,”耶麻郡猪苗代町”,”葉山“,0,0,0,1,0,0このデータは見るからに1行のデータとして独立しています。これは郵便番号が同じだからと言って、連続したレコードを繋げる事は出来ません。よってこれらのケースは除外しつつ、複数行データを単一データに加工します。著作権を主張しません。自由に配布していただいて結構です。要はこのデータを煮ようが焼こうが好きにしてよいという事です。いう事であれば、自由に使わせて頂きます!とりあえず他にも色々と課題が出てきそうですが、日の目を見るまで頑張ります。コメントをキャンセルメールアドレスが公開されることはありません。