徹底解説!郵便番号データの処理方法

日本郵便様が公開している郵便番号データを利用しやすくするには、複雑な加工処理が必要になります。

ケンオール通信では、過去数回に渡り、郵便番号データの処理方法を解説してきました。

本シリーズの締めくくりとして、今までの解説をまとめて紹介します。

データは、記載がない限り2021-11-30のデータを用いています。

郵便番号データの処理方法まとめ

f:id:kenall:20220112114413p:plain
郵便番号データ処理で押さえるポイントは4つ

郵便番号データを処理するには、以下の4つのポイントを押さえてください。

  • 複数行に分割されたレコードを1行にまとめる
  • 括弧つきのレコードを括弧の外側と内側で分割する
  • 括弧内の文字列を処理する
  • ビル郵便番号を処理する

複数行の結合

郵便番号データでは、1レコードが複数レコードに分割されて格納されている場合があります。

一般的なテーブル形式で扱うために、まず複数レコードを結合します。

詳細は複数行のレコードの結合処理を参照してください。

括弧つきのレコードの分割

郵便番号データ120,372件のうち全体の8.2%、10,551件に括弧がついています。

括弧つきの住所は以下の5パターンがあります。

  • 町名 + 括弧(丁目、小字、番地など)
  • 町名 + ビル名 + 括弧(階層)
  • 町名 + 番地 + 括弧
  • 町名、町名 + 括弧
  • 町名 + 地割 + 括弧

上記パターンのうち町名 + 番地 + 括弧町名、町名 + 括弧町名 + 地割 + 括弧は例外的なパターンです。

処理方法の詳細はケンオール通信第11号:括弧つきの町域(1) 括弧の内側と外側の分割を参照してください。

括弧内の処理

ケンオールでは、括弧内の丁目、小字、京都の通り名は可能な限り保持します。

範囲が指定されている場合や複数併記される場合は複数レコードに展開します。

丁目

2080032 東京都 武蔵村山市 三ツ木(1~5丁目)

「丁目」の他、「丁」「地割」などが出現した場合はそれらを複数レコードに展開します。

詳細はケンオール通信第12号:括弧つきの町域(2) 丁目や番地の処理を参照してください。

小字

0580343 北海道 幌泉郡えりも町 東洋(油駒、南東洋、132~156、158~354、366、367番地)

括弧内に「数字でない、かつ京都の通り名でない文字」が出現した場合は基本的に「小字」として保存します。

ただし、(丁目)(その他)といったコメント文字列は除外します。

詳細はケンオール通信第13号:括弧つきの町域(3) 小字、かぎ括弧、区切り文字の処理を参照してください。

京都の通り名

京都府京都市の一部の郵便番号レコードには、京都の通り名が付与されています。

6028064 京都府 京都市上京区 一町目(上長者町通堀川東入、東堀川通上長者町上る、東堀川通中立売通下る)

ケンオールではこれらの通り名を展開し、可能な限り上記のような元データに記載されている住所を復元できるようにしています。

詳細はケンオール通信第14号:括弧つきの町域(4) 京都の通り名を参照してください。

(その他)

ケンオールでは、意図しない小字・丁目が表示されてしまう場合に備え、小字を含まないレコードも出力するようにしています。

しかし、(その他)が含まれている町域の場合、(その他)をそのまま削除してしまっては小字なしのレコードが二重に出力されてしまいます。

そうした問題を避けるため、(その他)を含む郵便番号を持つ町域については小字なしのレコードを出力しないようにしています。

詳細はケンオール通信第9号:(その他)の処理を参照してください。

かぎ括弧

郵便番号データ内の括弧は丸括弧()だけではありません。かぎ括弧「」や甲括弧〔〕も存在します。

9996652 山形県 鶴岡市 添川(渡戸沢「筍沢温泉」)

ケンオールでは、「」内が数字以外で始まっている場合は便宜上小字の一部として残し、その他のケースは全て削除しています。

詳細はケンオール通信第13号:括弧つきの町域(3) 小字、かぎ括弧、区切り文字の処理を参照してください。

区切り文字

住所を併記する場合、ほとんどのケースでは読点「、」を区切り文字としていますが、中黒「・」や「及び」を使う場合もあります。

9401172 新潟県 長岡市 釜ケ島(土手畑・藤場)

詳細はケンオール通信第13号:括弧つきの町域(3) 小字、かぎ括弧、区切り文字の処理を参照してください。

ビル郵便番号

郵便番号データの大半は、ある郵便区画に対して番号を割り当てたレコードとなっていますが、一部の高層ビルでは階層ごとに郵便番号が割り振られています。

ケンオールではこのような郵便番号をビル郵便番号と呼んでいます。

ビル郵便番号は町名 + ビル名 + 括弧(階層)のパターンで記載されています。

1066101 東京都港区六本木六本木ヒルズ森タワー(1階)

このレコードを町名六本木とビル名六本木ヒルズ森タワーに分割する場合、データを遡って以下のレコードを見つけ出し、町名を抽出する必要があります。

1060032 東京都 港区 六本木(次のビルを除く)

詳細はケンオール通信第8号: ビル名の処理を参照してください。

まとめ

郵便番号データは複雑ですが、一つ一つ丁寧に処理していけば決して難しいものではありません。

是非皆さんも挑戦してみてください。

「自分では難しい!」と思った人は、ぜひケンオールを使ってみてください。 60日間無料で試せます。アカウント登録はこちらから!

ケンオールについて

「かゆいところにケンオール」 ケンオールは、郵便番号住所検索APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。 サービスを試してみたい方はこちらから:

kenall.jp

Shodoで執筆されました

ケンオール通信第14号:括弧つきの町域(4) 京都の通り名

ケンオール通信第13号:括弧つきの町域(3) 小字、かぎ括弧、区切り文字の処理では、括弧内の処理のうち、小字、かぎ括弧、区切り文字の処理方法について紹介しました。

今回は京都の通り名の処理を紹介します。

データは、記載がない限り2021-11-30のデータを用いています。

処理結果を確認してみたい方はこちらのデモから試してみてください。

京都の通り名

京都府京都市の一部の郵便番号レコードには、京都の通り名が付与されています。(例1)

6028064 京都府 京都市上京区 一町目(上長者町通堀川東入、東堀川通上長者町上る、東堀川通中立売通下る)

京都の市街地には278の町が存在しますが、同一区で同一町名を持つ町が120組もあります。

例えば京都府京都市上京区一町目は、先の例の他にもう一つあります。(例2)

6028134 京都府 京都市上京区 一町目(大宮通椹木町下る、大宮通丸太町上る、椹木町通大宮西入、丸太町通大宮東入)

京都の郵便局(東山郵便局様、下馬郵便局様)に確認したところ、郵便番号さえ合っていれば通り名を書かなくても荷物は届くとのことです。

しかし、ケンオールではこれらの通り名を展開し、可能な限り元のレコードの住所を復元できるようにしています。

京都の通り名の展開

展開方法そのものは簡単です。

小字だけを併記するパターンと同じく、単に複数行に展開するだけです。

例1を展開すると以下のようになります。

6028064 京都府 京都市上京区 一町目 上長者町通堀川東入
6028064 京都府 京都市上京区 一町目 東堀川通上長者町上る
6028064 京都府 京都市上京区 一町目 東堀川通中立売通下る

住所表記における京都の通り名

京都の通り名は小字と住所表記の順序が異なるため、独立したフィールドに格納する必要があります。

ケンオールでは、小字や丁目を格納するフィールドkoazaとは別に、京都の通り名専用のフィールドkyoto_streetに格納しています。

出力結果から住所文字列を作成する場合、以下の順序で組み立てます。

都道府県 + 市区町村 + 京都の通り名 + 町名 + 小字

京都の通り名と小字が同時に出現することはありませんので、条件分岐を行う必要はなく、上記の式のみで文字列を組み立てられます。

ケンオールAPIのレスポンスを使う場合は以下のようになります。

prefecture + city + kyoto_street + town + koaza

上記の式を例1の結果に適用すると、以下のようになります。

京都府京都市上京区上長者町通堀川東入一町目
京都府京都市上京区東堀川通上長者町上る一町目
京都府京都市上京区東堀川通中立売通下る一町目

ケンオールAPIレスポンスの詳細についてはドキュメントを参照してください。

京都の通り名における「丁目」

京都の通り名には、「丁目」を含むものがあります。

6050874 京都府 京都市東山区 常盤町(東大路通渋谷上る、渋谷通東大路東入、渋谷通東大路東入2丁目、東大路五条下る)

多くの地域において丁目とは町のある区画を指しますが、今尾恵介著「番地の謎」(光文社知恵の森文庫)によれば、京都の通り名で使われる丁目は距離を示すためのものです。

この例の場合、渋谷通東大路東入2丁目とは「渋谷通(しぶたにどおり)を進み、東大路通り(ひがしおおじどおり)からさらに東に2丁(約218m)分進む」という意味となります。

そのため渋谷通東大路東入2丁目全体で京都の通り名に相当する住所表記であるというのが正しい解釈となります。2丁目を他の地域における「丁目」と同列に扱わないよう注意してください。

なお、下馬郵便局様に確認したところ、渋谷通東大路東入2丁目常盤町という表記が正しく常盤町2丁目は間違いとの回答をいただきました。

京都の通り名では、半丁という表現も登場します。

6028414 京都府 京都市上京区 西北小路町(猪熊通上立売上る、猪熊通寺之内下る、大宮通寺之内下る東入、大宮通寺之内半丁下る東入、大宮通寺之内下る東入1丁目、寺之内通大宮東入下る、寺之内通大宮東入1丁目下る)

区画としての「丁目」の場合は半丁という表現は意味が通りませんが、距離を表しているのなら意味は通ります。

大宮通寺之内半丁下る東入は、「大宮通り(おおみやどおり)を進み、寺之内通り(てらのうちどおり)を半丁(約54m)下がってから東に入る」という意味となります。

「番地の謎」はケンオール通信第7号: 日本の住所の構造と郵便番号データでも紹介させていただいきましたが、素晴らしい本です。 未読の方は是非お読みください。

次回予告

次回は、郵便番号データ処理編の最終回として、郵便番号データ処理のまとめを公開する予定です。

ケンオールについて

「かゆいところにケンオール」 ケンオールは、郵便番号住所検索APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。 サービスを試してみたい方はこちらから: kenall.jp

Shodoで執筆されました

ケンオール通信第13号:括弧つきの町域(3) 小字、かぎ括弧、区切り文字の処理

ケンオール通信第12号:括弧つきの町域(2) 丁目や番地の処理では、括弧内の処理のうち、丁目や番地などの数字情報を処理する方法について紹介しました。

今回は、小字、かぎ括弧、区切り文字の処理を紹介します。

データは、記載がない限り2021-11-30のデータを用いています。

処理結果を確認してみたい方はこちらのデモから試してみてください。

小字の処理

数字でない文字列で、一部の例外(後述)を除いた文字列は全て小字として解釈します。

0580343 北海道 幌泉郡えりも町 東洋(油駒、南東洋、132~156、158~354、366、367番地)

展開すると以下のようになります。 番地は前回説明した通り削除します。

0580343 北海道 幌泉郡えりも町 東洋 油駒
0580343 北海道 幌泉郡えりも町 東洋 南東洋

小字と数字の混在

小字が単独で出現することは少なく、ほとんどのケースで数字と混在して登場します。

以下の2パターンが存在します。

  • 小字 + 数字
  • 数字 + 小字

いずれの場合も、単位のない数字は全て番地以下の住所であると解釈して削除しています。

例えば、以下は数字 + 小字の一例です。かぎ括弧の処理については後述します。

3842304 長野県 北佐久郡立科町 茂田井(1~500「211番地を除く」「古町」、2527~2529「土遠」)

展開すると以下のようになります。

3842304 長野県 北佐久郡立科町 茂田井 古町
3842304 長野県 北佐久郡立科町 茂田井 土遠

小字 + 丁目

小字 + 丁目の場合、どちらも残すようにしています。

9390321 富山県 射水市 流通センター(青井谷1、2丁目)

展開すると以下のようになります。

53078 9390321 富山県 射水市 流通センター 青井谷1丁目
53079 9390321 富山県 射水市 流通センター 青井谷2丁目

富山県射水市流通センター青井谷について

この住所について、射水市市役所様と水戸田郵便局様に確認してみました。

流通センター青井谷は一見通称のように見えますが、正式な住所です。

昭和58年10月に青井谷と水戸田という地域で企業団地の分譲が始まりました。 流通センター青井谷だけでなく流通センター水戸田という住所も別に存在します。 おそらくその時期にこの住所ができたものと思われますが、正式な利用開始時期はわかりません。

流通センター青井谷のどこからどこまでが大字で、どこからが小字なのかは特に意識していないそうです。

実用上問題ないため、ケンオールでは流通センターを町名、青井谷1丁目を小字として扱っています。

コメント文字列

括弧内の数字でない文字列には、コメントの意味を持つものが存在します。

以下のような文字列のみが書かれている場合はコメント文字列とみなして削除しています。

  • 丁目
  • 大字
  • 番地
  • 無番地
  • 無番地を除く
  • その他

他にもいくつかありますが省略しています。

(その他)は、削除した後にもう少し複雑な処理を行っています。詳細についてはケンオール通信第9号:(その他)の処理を参照してください。

(丁目)

(丁目)と書かれている郵便番号は、その郵便番号が○○町X丁目の郵便番号であることを明示的に示す必要がある場合に使われます。

例えば、青森県弘前市で町名が中野になっている郵便番号は以下の2レコード存在しますが、これらは全く別の地域です。

0368155 青森県 弘前市 中野(丁目)
0361451 青森県 弘前市 中野(その他)

中野(丁目)弘前学院大学前駅がある市街地のエリアで、中野1丁目~5丁目まであります。

中野(その他)弘前市西部にある小さな集落です。 こちらの住所では番地のみが用いられ、丁目は存在しません。

かぎ括弧の処理

郵便番号データ内の括弧は丸括弧()だけではありません。かぎ括弧「」や甲括弧〔〕も存在します。

甲括弧を使っている郵便番号は以下の1件のみです。

9790622 福島県 双葉郡富岡町 毛萱(前川原232~244、311、312、337~862番地〔東京電力福島第二原子力発電所構内〕)

甲括弧内の情報は住所補完に必要ないと判断して削除しています。

かぎ括弧が使われている郵便番号は20件あります。

「」内が数字以外で始まっている場合は、便宜上小字の一部として残しています。

9996652 山形県 鶴岡市 添川(渡戸沢「筍沢温泉」)

展開すると以下のようになります。

9996652 山形県 鶴岡市 添川 渡戸沢筍沢温泉

上記以外のパターンは番地か「その他」しかないため、全て削除します。

区切り文字

住所を併記する場合、ほとんどのケースでは読点「、」を区切り文字としています。

6660006 兵庫県 川西市 萩原台西(1、2丁目、3丁目1番~282番)

中黒「・」区切りを使う場合もあります。

9401172 新潟県 長岡市 釜ケ島(土手畑・藤場)

展開すると以下のようになります。

9401172 新潟県 長岡市 釜ケ島 土手畑
9401172 新潟県 長岡市 釜ケ島 藤場

「及び」を使う場合もあります。

5220239 滋賀県 彦根市 宇尾町(897番地及び中島505~518番地)

展開すると以下のようになります。

5220239 滋賀県 彦根市 宇尾町 中島

区切り文字が混在する場合もあります。

8700924 大分県 大分市 牧(1~3丁目、白滝B・C、高見)

この郵便番号には以下の特徴があります。

  • 範囲指定の「丁目」と小字の混在
  • 区切り文字「、」「・」の混在

詳細は後述しますが、B・Cは現在使われていない番地情報と思われるため削除します。

展開すると以下のようになります。

8700924 大分県 大分市 牧 1丁目
8700924 大分県 大分市 牧 2丁目
8700924 大分県 大分市 牧 3丁目
8700924 大分県 大分市 牧 白滝
8700924 大分県 大分市 牧 高見

大分県大分市牧(白滝B・C)について

大分県大分市牧1~3丁目は、昭和60年(1985年)3月25日に住居表示が刷新された際に誕生した地名です。 1 この際に字白滝という名前は廃止され、牧3丁目に統合されました。

字高見については記載がありませんが、高見児童公園という公園が牧3丁目にあることから、おそらく牧3丁目に統合されたものと思われます。

昭和43年(1968年)から大分臨海工業地帯萩原地区土地区画整理事業が始まりました。 2 その過程で区画整理が完了したため、昭和60年に住居表示が変更されました。

牧ではなくその隣の高城西町には、白滝南児童公園という公園があり、当時の地名の名残を見ることができます。

B・Cという表記については現在のところ調査中です。

アルファベットの番地を持つ地域として有名なのは大阪府大阪市中央区上町です。

こちらの記事によると「アルファベットを街区符号に使うところは、他に聞いたことがない」とあり、大分市でアルファベットの番地が使われていたという情報は現在のところ見つかっておりません。

心当たりのある方がいましたら情報をお待ちしています。

次回予告

次回は括弧内の処理のうち、京都の通り名について書く予定です。

ケンオールについて

「かゆいところにケンオール」 ケンオールは、郵便番号住所検索APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。 サービスを試してみたい方はこちらから: kenall.jp

Shodoで執筆されました

ケンオール通信第12号:括弧つきの町域(2) 丁目や番地の処理

ケンオール通信第11号:括弧つきの町域(1) 括弧の内側と外側の分割では、括弧を含む町域を持つ郵便番号レコードの処理の前半部分として、主に括弧外の住所処理について紹介しました。

今回は、括弧内の住所処理を紹介します。

データは、記載がない限り2021-11-30のデータを用いています。

前回までと元データのバージョンが違いますのでご注意ください。

処理結果を確認してみたい方はこちらのデモから試してみてください。

括弧内の住所処理の基本方針

ケンオールでは原則として「住所補完に役立つ情報を可能な限り保持する」という方針で住所を処理しています。

括弧内の情報で住所補完に役立つ情報とは、地方自治法第二百六十条における市町村の区域内の町若しくは字の区域、つまり「丁目」や「小字」に該当する住所情報であるとケンオールでは考えています。

郵便番号データの住所構造についてはケンオール通信第7号: 日本の住所の構造と郵便番号データも参照してください。

上記に基づき、以下の方針で括弧内を処理します。

  • 1レコードに複数の町域が含まれている場合は複数レコードに展開する
  • 丁目・小字は可能な限り保持する
    • 丁目と同等レベルの表現である「丁」「地割」も保持
  • 番地情報は原則保持しない。理由は以下のとおり
    • 番地を記載した郵便番号が少ない
    • 番地の表記方法がバラバラ
    • 実際にその番地が現存しているかなどの確認が難しい
    • 一意に解釈するのが難しい
    • 住所フォームが期待するフォーマットと異なる結果を表示する可能性が高い
  • 既に利用されていないと思われる情報は保持しない
    • 北海道の郵便番号レコードに含まれる「区」など
  • 京都の通り名が記載されていた場合は専用のフィールドに情報を保持

丁目の処理

「丁目」は小字と同レベルとして処理しています。

9800065 宮城県 仙台市青葉区 土樋(1丁目「11を除く」)

展開すると以下のようになります。

9800065 宮城県 仙台市青葉区 土樋 1丁目

範囲指定

1~5丁目のように範囲で指定されている場合は複数レコードに展開します。

2080032 東京都 武蔵村山市 三ツ木(1~5丁目)

展開すると以下のようになります。

2080032 東京都 武蔵村山市 三ツ木 1丁目
2080032 東京都 武蔵村山市 三ツ木 2丁目
2080032 東京都 武蔵村山市 三ツ木 3丁目
2080032 東京都 武蔵村山市 三ツ木 4丁目
2080032 東京都 武蔵村山市 三ツ木 5丁目

「丁目」と同列の住所単位(1) 「地割」

「地割」は、岩手県に存在する特殊な地名単位です。住所構造上は丁目と同レベルで存在します。 ケンオール通信第7号: 日本の住所の構造と郵便番号データも参照してください。

「丁目」の範囲指定は、○~×丁目のように数字と数字の間だけで範囲指定を行い、住所単位「丁目」は最後に付与される方法で記述されていました。

一方、「地割」の範囲指定では第○地割~第×地割と範囲の前後どちらにも単位が記載されています。

0285102 岩手県 岩手郡葛巻町 葛巻(第40地割「57番地125、176を除く」~第45地割)

展開すると以下のようになります。

0285102 岩手県 岩手郡葛巻町 葛巻 第40地割
0285102 岩手県 岩手郡葛巻町 葛巻 第41地割
0285102 岩手県 岩手郡葛巻町 葛巻 第42地割
0285102 岩手県 岩手郡葛巻町 葛巻 第43地割
0285102 岩手県 岩手郡葛巻町 葛巻 第44地割
0285102 岩手県 岩手郡葛巻町 葛巻 第45地割

かぎ括弧「」の処理は次回紹介します。

「丁目」と同列の住所単位(2) 丁

「丁」は「丁目」と同様に処理します。

5900803 大阪府 堺市堺区 東上野芝町(1丁)

この「丁」は大阪府堺市特有の住所単位なのですが、面白い話があるのでこの記事の最後に紹介します。

番地や数字情報の処理

番地

「番地」は保存しないためそのまま削除します。

0882577 北海道 野付郡別海町 矢臼別(40の1番地、41の2番地)

単に削除するだけなので、町名のみが残されます。

0882577 北海道 野付郡別海町 矢臼別

区 (北海道の住所単位)

「区」は北海道で昔使われていた単位ですが、これも削除します。

詳細についてはケンオール通信第2回の北海道網走郡大空町東藻琴(北1区)を参照してください。

数字が併記されている場合

1、2、...のように数字だけが羅列されている場合、先を読み進めていかないとその数字が「1丁目」なのか「1番地」なのか判別できません。

...、5丁目のように初めて住所単位が登場したとき、文字列の前半に遡って住所単位を適用します。

丁目の併記

次の例では、複数の「丁目」が併記されています。

6660006 兵庫県 川西市 萩原台西(1、2丁目、3丁目1番~282番)

1、2丁目1丁目、2丁目だと解釈します。

番地は削除するという方針のため、3丁目1番~282番は、3丁目と処理します。

展開すると以下のようになります。

6660006 兵庫県 川西市 萩原台西 1丁目
6660006 兵庫県 川西市 萩原台西 2丁目
6660006 兵庫県 川西市 萩原台西 3丁目

番地の併記

次の例では、数字が続いたあと最初に出てくる単位が「番地」のため、その前に出現する数字のみの表現は全て「番地」とみなして削除します。

0482331 北海道 余市郡仁木町 大江(2丁目651、662、668番地、3丁目103、118、210、254、267、372、444、469番地)

展開すると以下のようになります。

0482331 北海道 余市郡仁木町 大江 2丁目
0482331 北海道 余市郡仁木町 大江 3丁目

「丁」の単位と大阪府堺市

堺市のウェブサイトでは、この「丁」という住所単位の生まれた経緯について記されています。

1615年、大阪夏の陣で荒廃した堺の町は、碁盤の目状に整備された都市として再生しました。このとき、400以上の町が生まれたと言われています。明治5年に町名改正が行われ、「町」とされていた地域を「丁」と変えたのが由来とのことでした。

この明治5年は、大区小区制が施行された年です。 大区小区制ケンオール通信第2号でも少し紹介しましたが、字を使った地名が主体だった当時の日本の住所を一区、二区といった数字表現に置き換えることで行政の効率化を図ろうとした政策でした。

明治5年には他の大阪地域でも町名から丁目への移行が行われています。 例えば、大阪市中央区博労町は、明治5年3月17日に金澤町・金田町・茨木町・博労町から博労町一丁目~四丁目に変更されています

この大阪エリアでは、大区小区制の施行にともない、丁目レベルでも数字化が行われていったのではないかと推測しています。 その中で現在の堺市(当時は堺県)は、歴史的事情により「丁」として数字化を行っていったのではないかと思われます。

このあたりは資料が見つかっていないため現在も調査中です。情報をお持ちの方は是非ご連絡ください。

次回予告

次回は括弧内の処理のうち、小字やかぎ括弧の処理について書く予定です。

ケンオールについて

「かゆいところにケンオール」 ケンオールは、郵便番号住所検索APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。 サービスを試してみたい方はこちらから: kenall.jp

Shodoで執筆されました

ケンオール通信第11号:括弧つきの町域(1) 括弧の内側と外側の分割

今回は、郵便番号データ内の括弧と括弧外の分割について紹介します。

データは、記載がない限り2021-05-31のデータを用いています。

ケンオールでどのようにパースされているかは、こちらのデモから試してみてください。

括弧つきの町域のパターン

郵便番号データの町域には、括弧つきのものが多数存在します。

0600042: 北海道 札幌市中央区 大通西(1~19丁目)

こうしたレコードは10,592件あります。 この大通西(1~19丁目)が町域にあたりますが、この構造は以下の5パターンに分かれます。

  • 町名 + 括弧(丁目、小字、番地など)
  • 町名 + ビル名 + 括弧(階層)
  • 町名 + 番地 + 括弧
  • 町名、町名 + 括弧
  • 町名 + 地割 + 括弧

この場合、括弧を除去すれば町名だけを取りだすことができます。

簡単なので、多くの郵便番号データパーサでは括弧を除去していますが、ケンオールでは括弧内の文字列もデータとして利用しています。

括弧内の処理についてはまた別の機会に説明します。

町名 + 括弧(丁目、小字、番地など)

1050022: 東京都 港区 海岸(1、2丁目)

ほとんどの括弧つきレコードはこのパターンに該当します。

ケンオールでは、丁目と小字は複数レコードに展開してkoazaフィールドとして保存し、番地の場合はそのまま削除しています。

展開すると、以下のようになります。

1050022: 東京都 港区 海岸 1丁目
1050022: 東京都 港区 海岸 2丁目

町名 + ビル名 + 括弧(階層)

1046001: 東京都 中央区 晴海 オフィスタワーX(1階)

単一のレコードだけでは町名とビル名の境界がわからないため、別のレコードを参照して町名を抽出し、それに基づいて文字列を分割する必要があります。 ケンオール通信第8号: ビル名の処理を参照してください。

町名 + 番地 + 括弧

このパターンは以下の2件しか存在しません。

4070311: 山梨県 北杜市 大泉町西井出8240-1(美森、たかね荘、清泉寮、サンメドウズスキー場)
8130008: 福岡県 糟屋郡粕屋町 内橋790の1(多ノ津団地)

ケンオールでは番地情報を原則保存しませんので、そのまま削除しています。

町名、町名 + 括弧

このパターンは香川県小豆郡土庄町にしか存在しません。 町名(この場合は大字)が読点で2つ併記されているパターンです。

7614103: 香川県 小豆郡土庄町 甲、乙(大木戸)

ケンオール通信第1号に記載の通り、土庄町郵便局様に確認したところ、小字は実質用いられてないとのことなので、小字(大木戸)を省略します。

町名 + 地割 + 括弧

括弧を含み、かつ町名の後に地割が登場するパターンです。

地割は、岩手県に存在する特殊な地名単位です。地割についてはケンオール通信第7号: 日本の住所の構造と郵便番号データを参照してください。

0240341: 岩手県 和賀郡西和賀町 杉名畑44地割(湯田ダム管理事務所、後口山、当楽)
0287915: 岩手県 九戸郡洋野町 種市第15地割~第21地割(鹿糠、小路合、緑町、大久保、高取)

地割の処理は別の機会に詳しく紹介しますが、地割は括弧内と括弧外のどちらにも登場するため、それぞれ別個に処理する必要があります。

第15地割~第21地割という範囲指定の場合、複数レコードに展開します。

0287915: 岩手県 九戸郡洋野町 種市
0287915: 岩手県 九戸郡洋野町 種市 第15地割
0287915: 岩手県 九戸郡洋野町 種市 第16地割
0287915: 岩手県 九戸郡洋野町 種市 第17地割
0287915: 岩手県 九戸郡洋野町 種市 第18地割
0287915: 岩手県 九戸郡洋野町 種市 第19地割
0287915: 岩手県 九戸郡洋野町 種市 第20地割
0287915: 岩手県 九戸郡洋野町 種市 第21地割

ケンオールでは、大字 + 地割 + 小字となった場合は原則として小字を省略するので、上記の例では括弧を省略しています。

ケンオールについて

「かゆいところにケンオール」

ケンオールは、郵便番号住所検索APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。

サービスを試してみたい方はこちらから: kenall.jp

Shodoで執筆されました

ケンオール通信第10号: 町名を空にしなければいけない町域

今回は、郵便番号データ内の町名を空にしなければいけない町域について紹介します。

データは、記載がない限り2021-05-31のデータを用いています。

ケンオールでどのようにパースされているかは、こちらのデモで試せます。

町域に文字列が記載されているものの、コメントと同様の文字列のため削除しなければいけないパターンが存在します。

そのパターンは以下の通りです。

  • 以下に掲載がない場合
  • ○○一円(○○は町名)
  • ○○の次に番地がくる場合(○○は町名)

以下に掲載がない場合

以下に掲載がない場合とは、以降のレコードに掲載されていない住所の場合はこの郵便番号を使うよう指示しているコメント文字列です。

0600000: 北海道 札幌市 中央区 以下に掲載がない場合

このようなレコードは1874件存在します。 これらは単純に除去すれば問題ありません。

○○一円

「一円」とはある一帯全てを指す言葉です。

1000301: 東京都 利島村 利島村一円

このようなレコードは23件存在します。

上記の例のように○○一円という表記は離島の村に多く見られますが、内陸部の村でも使われています。例えば、長野県にはこのような郵便番号が11件存在します。

これも単純に除去すれば問題ないのですが、注意点としては一円という町名が存在するので、一円に完全一致するレコードだけは削除対象から外さないといけません。

5220317: 滋賀県 犬上郡 多賀町一円

○○の次に番地がくる場合(○○は町名)

○○の次に番地がくる場合とは、○○町XX番地のような住所表記の場合にこの郵便番号を使うよう指示しているコメント文字列です。

3060433: 茨城県 猿島郡境町 境町の次に番地がくる場合

このようなレコードは17件存在します。 結論からいうと除去すれば問題ありませんが、このレコードの歴史的背景が面白いので紹介します。

○○の次に番地がくる場合の歴史的背景

茨城県猿島郡境町の郵便番号レコードは以下のようになっています。

3060400: 茨城県 猿島郡境町 以下に掲載がない場合
3060433: 茨城県 猿島郡境町 境町の次に番地がくる場合

これら2つの郵便番号は何が違うのでしょうか? 境町役場に電話して確認してみました。

現在の境町は昭和30年の市町村合併、いわゆる昭和の大合併によって、旧境町、猿島村、長田村、森戸村、静村の5つの自治体が合併して誕生しました。 このとき、消滅した旧自治体の名称は大字として存続しましたが、旧境町についてはその必要がないため、大字なしとなりました。

つまり、境町の次に番地がくる場合というのは、境町のうち旧境町の町域を指しています。

一つだけ例外があります。 3060435: 茨城県猿島郡境町陽光台 は、旧境町の一部の区画なのですが、おそらく人口増等の理由により別の郵便番号として独立しています。

その他の大字つきの郵便番号は全て合併元の村の地名を残していますが、猿島村長田村といった名称は登場しません。 では、これらの大字はどこからきたのでしょうか?

実は、猿島村、長田村、森戸村、静村の4つの旧自治体もまた、さらに明治22年市町村合併、いわゆる明治の大合併によって生まれた自治体でした。 大字というのが明治の大合併により誕生した、という話はケンオール通信第7号: 日本の住所の構造と郵便番号データでも触れています。

実際に郵便番号レコードに含まれている大字と、各自治体との対応表は以下の通りです。

  • 猿島
    • 内門
    • 浦向
    • 金岡
    • 下小橋
    • 染谷
    • 山崎
    • 大歩
  • 長田村
    • 上小
    • 栗山
    • 猿山
    • 下砂井
    • 蛇池
    • 長井戸
    • 西泉田
  • 森戸村
    • 一ノ谷
    • 伏木
    • 百戸
    • 若林
    • 桐ケ作 (明治32年に千葉県二川村から森戸村に編入)
    • 新田戸 (明治32年に千葉県二川村から森戸村に編入)
  • 静村
    • 稲尾
    • 志鳥
    • 塚崎
    • 横塚

上記に加え、陽光台を合わせると、郵便番号データに記載されている茨城県猿島郡境町の全ての大字を網羅できます。

なお、境郵便局様に確認したところ、3060400: 茨城県猿島郡境町以下に掲載がない場合は事実上利用していないとのことでした。

参考文献

ケンオールについて

「かゆいところにケンオール」

ケンオールは、郵便番号住所検索APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。

サービスを試してみたい方はこちらから: kenall.jp

更新履歴

2021/12/01 18:27 「境町市役所」→「境町役場」に訂正。目次を追加。

boardの法人住所検索機能にケンオール法人番号APIが採用されました

先日リリースしたケンオール法人番号APIクラウド型業務・経営管理システム board様に導入していただきました。ありがとうございます。

board法人住所検索画面スクリーンショット 図1 boardの法人住所検索画面(board様のブログ記事より引用)

board様のブログ記事には以下のように紹介されています。

顧客・発注先登録画面で、会社名から住所を検索する機能を追加しました。これにより、住所入力の手間や住所の記載ミスを低減できるようになります。

詳細はboard様のブログ記事を参照してください。

ケンオール法人番号についてもっと知りたいという方は、デモを試すか、リリースブログ記事をお読みください。

ケンオールについて

「かゆいところにケンオール」 ケンオールは、郵便番号住所検索API、法人番号APIをはじめとした、システム開発を加速する高品質で安全なAPIサービスです。 kenall.jp

Shodoで執筆されました