btinc.jp シェアウェア・フリーウェアTop
特長  マニュアル インストール編  マニュアル 操作編  辞書データについて  ダウンロード 
YubinAid 辞書データについて
YubinAidでは日本郵便の郵便番号データを取り込んで郵便番号辞書を作成していますが、加工を施しています。
郵便番号(7桁)、都道府県名、市区町村名はそのまま利用できますが、町域名には住所表記としては不適切と思われる言葉がかなり混入しているからです。

以下に具体的な例を挙げながらどういう加工を施しているのかご説明します。

1.「小字など」「備考」項目の追加

日本郵便の郵便番号データ(以下「KEN_ALL.CSV」と呼びます)にはない項目ですが、 町域名項目の内容から判断して[町域]、[小字など]、[備考]3項目に振り分けることにします。

2.住所表記ではない説明言葉の場合

(1) 以下に掲載のない場合
(2) ○○の次に番地がくる場合 例:鰍沢町の次に番地がくる場合
(3) ○○一円例:鳴沢村一円

「場合」または「一円」で終わる場合は、すべて[備考]へ振り分けます。([町域]はブランク)

3.町域表記の後ろに括弧囲みがある場合

札幌市の「大通西(1〜19丁目)」、岐阜県恵那市の「上矢作町(飯田洞)」というような場合ですが、 かなり多くのバリエーションがありますのでさらに場合分けが必要です。

共通の処理として、括弧の前の部分は[町域]に振り分けます。
括弧内部は場合分けにより[小字など]と[備考]に振り分けることになりますが、 長いものもありますのでアラビア数字、ハイフンは半角に変換しておきます。

複数の括弧囲みをもつ場合もあります。
名古屋市の「名駅ミッドランドスクエア(高層棟)(4階)」などです。
こういう場合は最後の括弧囲みを「正当な」括弧囲みと見做し、それより前の部分を[町域]に振り分けます。

「名駅ミッドランドスクエア(高層棟)」→ [町域]

3−1.住所表記ではない説明言葉の場合

(1) 大字   例:豊田(大字)  …東京都日野市
(2) 全域   例:厚内(全域)  …北海道十勝郡浦幌町
(3) 各町   例:広河原(各町) …京都市左京区
(4) 丁目   例:神鳥谷(丁目) …栃木県小山市
(5) 番地   例:神鳥谷(番地) … 同上

以上5つの言葉が単独で用いられている場合は、[備考]に振り分けます。(半角括弧で囲む)

3−2.住所表記には使われないと思われる言葉を含む場合

(1) その他    例:切畑(長尾山「その他」)…兵庫県宝塚市
(2) 以降     例:緑ケ丘町(35番地以降)…鹿児島市
(3) 以上     例:竹房(451番地以上)…和歌山県紀の川市
(4) 以下     例:竹房(450番地以下)… 同上
(5) 以外     例:青木島町青木島乙(956番地以外)…長野市
(6) 「      例:芦田町福田(376−10「聖宝寺」)…広島県福山市
(7) 除く     例:花田町官有地(無番地を除く)…愛知県豊橋市
(8) 及び     例:藤原(1047〜1268及び下平)…栃木県日光市
(9) 階層不明   例:大手町JAビル(地階・階層不明)…東京都千代田区

以上9つの言葉を含む場合は括弧内全部を[備考]に振り分けます。(半角括弧囲み)

3−3.上記以外で分かち書きされていない場合

ここでいう分かち書きとは、「、」(句点)または「〜」で区切られている状態のことをいいます。

(例1) 上矢作町(飯田洞)…岐阜県恵那市
(例2) 西新宿新宿アイランドタワー(16階) …東京都新宿区

括弧内を[小字など]に振り分けます。(括弧ははずし、数字は半角に変換)

3−4.丁目が分かち書きされている場合

分かち書きされており、なおかつ最後を除く各項が数字のみ、最後の項目が数字+丁目となっている場合です。

(例1) 北十一条西(1〜4丁目) …札幌市北区
(例2) 西十九条南(35〜38、41、42丁目) …北海道帯広市

こういう場合は、各々XX丁目に分割しレコードを分けます。XX丁目は[小字など]に振り分けます。
具体例で示します。

 KEN_ALL.CSV
  0800029, 北海道, 帯広市, 西十九条南(35〜38、41、42丁目)

   ↓

 郵便番号辞書
  郵便番号都道府県市区町村町域小字など備考
  0800029  北海道  帯広市   西十九条南  35丁目   
  0800029  北海道 帯広市  西十九条南 36丁目
  0800029  北海道 帯広市  西十九条南 37丁目
  0800029  北海道 帯広市  西十九条南 38丁目
  0800029  北海道 帯広市  西十九条南 41丁目
  0800029  北海道 帯広市  西十九条南 42丁目

※ KEN_ALL.CSVは他にも項目がありますが、説明を簡略にするため省いています。
郵便番号辞書の方も同様です。

3−5.その他の分かち書きの場合

「丁目の分かち書き」以外の分かち書きについては、場合分けが困難なためそのまま[備考]へ振り分けました。

(例1) 流通センター(青井谷1、2丁目) …富山県射水市
(例2) 萩原台西(1、2丁目、3丁目1番〜282番) …兵庫県川西市
(例3) 瀬戸町明神(楠谷、弐軒家、水汲谷) …徳島県鳴門市

ただし、備考が長くなりすぎる場合は20文字を越えないよう備考を分割し、複数レコー ドを生成しています。(分かち書きの分離符で備考分割、それぞれ半角括弧囲み)

4.括弧囲みが片括弧の場合

KEN_ALL.CSVには、括弧内のテキストが長すぎるためだと思いますが、レコード(行)が分割されている場合があります。

 KEN_ALL.CSV
  0660005, 北海道, 千歳市, 協和(88−2、271−10、343−2、404−1、427−
  0660005, 北海道, 千歳市, 3、431−12、443−6、608−2、641−8、814、842−
  0660005, 北海道, 千歳市, 5、1137−3、1392、1657、1752番地)

  6028125, 京都府, 京都市上京区, 菱屋町(大宮通椹木町上る、大宮通下立売下る、椹木町通大宮西
  6028125, 京都府, 京都市上京区, 入、椹木町通大宮東入)

このような場合には、分割されている町域名を連結した上で(他の項目は同一なので先頭レコードを用いる)、上記3の処理工程に渡すようにしています。

5.事業所個別番号の取り込み

「小字名、丁目、番地等」項目を[小字など]に振り分けますが、アラビア数字、ハイフンは、半角に変換します。
「町域名」は[町域]に、「大口事業所名」は[事業所]に、加工せずに取り込みます。

6.郵便番号辞書(yubindic.mdb)のカスタマイズ

郵便番号辞書はMicrosoft Access のデータベースファイルの形式でありプロテクトはかけておりません。 Accessをお持ちであれば辞書の中を覗くことはもちろん、データの修正、修正のためのクエリー作成も可能です。
ただし、ファイル名(yubindic.mdb)の変更と辞書テーブル(M_Dic)の定義変更はしないでください。 アドイン動作に支障が出ます。

辞書テーブルM_Dicのフィールドと、取り込みCSVの項目対応表を示します。 カスタマイズの際の参考にしてください。

M_Dic テーブル
フィールド名 表示名  注釈         KEN_ALL  JIGYOSYO
No1からの連番
yubinbango郵便番号ハイフンなし、表示はハイフン付 第3項第8項
todofuken都道府県第7項第4項
sikuchoson市区町村第8項第5項
choiki町域上記第6項
koazabanchi小字など上記第7項
biko備考上記
jigyosho事業所第3項
jusho住所検索フィールド

《補足》

(1) [No]フィールドは主キー。レコード番号と一致させているが、必ずしも一致させる必要はない。

(2) [jusho]フィールドには、todofuken, sikuchoson, choiki, koazabanchi を連結した値を格納。

(3) KEN_ALL、JIGYOSYO の列番号定義については、日本郵便サイトの こちら の「郵便番号データファイルの形式等」と、こちら の「大口事業所個別番号データについて」参照。

ページ先頭