郵便番号から緯度経度は出せる? — KEN_ALL.CSVに座標列が無い理由と、代表点を決めるまでの3段

,

郵便番号から緯度経度は出せる? — KEN_ALL.CSVに座標列が無い理由と、代表点を決めるまでの3段

郵便番号から緯度経度は出せる? — KEN_ALL.CSVに座標列が無い理由と、代表点を決めるまでの3段

直接は出せません。 日本郵便が配っている郵便番号データ(KEN_ALL)は15項目で構成されていて、そのどれも座標ではありません。郵便番号は点ではなく「町域」という範囲に付いた番号なので、座標を出すには別のデータで代表点を決める必要があります。そして町域名での突き合わせは、文字コードとレコード分割の都合で素直に通りません。


郵便番号データに座標列は無い——15項目の中身

日本郵便の郵便番号データの説明には、ファイルの項目が並び順まで明記されています。

# 項目
1 全国地方公共団体コード(JIS X0401、X0402)
2 (旧)郵便番号(5桁)
3 郵便番号(7桁)
4〜6 都道府県名・市区町村名・町域名(半角カタカナ)
7〜9 都道府県名・市区町村名・町域名(漢字)
10 一町域が二以上の郵便番号で表される場合の表示
11 小字毎に番地が起番されている町域の表示
12 丁目を有する町域の場合の表示
13 一つの郵便番号で二以上の町域を表す場合の表示
14 更新の表示
15 変更理由

緯度・経度・平面直角座標のどれも入っていません。全国一括版は12万件あり、一般的な表計算ソフトでは全件を開けない場合があると注意書きがあります。

利用条件は明快です。説明ページには「郵便番号データに限っては日本郵便株式会社は著作権を主張しません。自由に配布していただいて結構です」と書かれています。


郵便番号は「点」ではなく町域に付いている

座標が無いのは手抜きではなく、そもそも郵便番号が指しているものが点ではないからです。

郵便番号は、町域(町名から○丁目を除く部分、および大字)に設定しており、小字または通称には原則として設定しておりません。

つまり1つの郵便番号は、町名や大字という面に対応しています。しかもその対応は1対1ですらありません。10列目と13列目のフラグが、まさにそれを表しています。

フラグ 「1」が立っている意味
10列目 一町域が二以上の郵便番号で表される。丁目・番地・小字で番号が分かれる
11列目 小字ごとに番地が起番されている。町域と番地だけでは住所が特定できない
13列目 一つの郵便番号で二以上の町域を表す。番号と番地だけでは住所が特定できない

13列目に「1」が立っている郵便番号に1点の座標を割り当てると、複数の町域の重心でもなく、どれか1つの町域の点でもない座標が出来上がります。どちらを選んだのかを記録しない限り、後から検証できません。


町域名を照合キーにできない4つの理由

「郵便番号データの町域名」と「座標を持っている別のデータの町域名」を文字列で結合すれば座標が付く——という設計は、ほぼ必ず欠損を出します。説明ページに書かれている仕様がそのまま原因になります。

1. 文字セットが古い

町域名の漢字はJIS X0208-1983の文字セットで、文字コードはSHIFT_JIS(説明ページの表記はMS漢字コード)です。

2. 規定されていない文字はひらがなになる

同じ説明の注記に「規定されていない文字はひらがなで表記しています」とあります。つまり漢字で来るはずの町域名が、ひらがなで入っている行がある。これは地名データ側でも起きる現象で、国土地理院の地名情報にも同じ構造の話があります(→地名データの漢字がひらがなになっているのはなぜ?)。文字列が一致しないのではなく、文字が別の字種に置き換わっているので、正規化では救えません。

3. 長い町域名は複数レコードに分割されている

全角の町域名が38文字を超える場合、半角カタカナのフリガナが76文字を超える場合は、複数レコードに分割されます。1行だけ読むと町域名が途中で切れた文字列になります。

4. 町域を特定しない特殊なレコードがある

9列目(漢字の町域名)の位置に、住所ではない文言が入っている行があります。

入っている文言 意味
以下に掲載がない場合 町域が見つからないときに書く番号。町域を特定するものではない
○○市(または町・村)の次に番地がくる場合 市区町村名の直後に番地が来る住所に使う番号
○○市(または町・村)一円 町域名がない市区町村の場合に使う番号

これらを町域名として扱うと、存在しない地名に座標を付けようとして失敗します。読み込みの最初で除外するのが正解です。

なお、このファイルに入っているのは町域に設定した番号だけで、大口事業所の個別番号は含まれていません(別データとして提供されています)。「ヒットしない郵便番号がある」と思ったら、まずここを疑ってください。


では座標はどこから取るか

郵便番号そのものに座標は無いので、住所文字列を経由して座標を持つデータに当てるのが筋道になります。段取りは3段です。

1段目——郵便番号データから住所を組む。 都道府県名・市区町村名・町域名(7〜9列目)を連結します。このとき上の4つの理由に備えて、特殊レコードを除外し、分割レコードを結合し、ひらがな化された行には印を付けておきます。

2段目——座標を持つデータに当てる。 国土交通省の位置参照情報は、住所と座標の対応表として使えます。全国を町丁目まで拾うなら大字・町丁目レベル、都市部を「番」まで落とすなら街区レベル、という使い分けです。得られるのはその住所を代表する1点であって建物や敷地の位置ではない——という前提は、こちらで詳しく整理しています(→住所から緯度経度は出せる?)。

3段目——どの点を選んだか記録する。 1つの郵便番号に複数の町域が対応している場合、2段目で複数の座標が返ります。先頭を採ったのか、面積の大きい町域を採ったのか、重心を計算したのか。この選択が座標の意味を決めるので、出力に「選び方」の列を1つ足しておくと、あとで説明がつきます。


座標が揃ってからが、変換の仕事

ここでもう一段、見落としやすい段差があります。位置参照情報の座標値は世界測地系(日本測地系2000)=JGD2000です。JGD2011やJGD2024の成果と同じ枠組みにはありますが、成果としては別物で、大きく動いた地域では差が出ます。

CSVファイルを選び、出力座標系を指定して一括変換する画面

GeoConverter Pro では、座標の付いたCSVを読み込んで列(緯度・経度)を指定し、出力の座標系を選んで一括変換できます。郵便番号から組み立てた一覧も、2段目で座標が付いた時点からは普通のCSVです。文字コードの指定も読み込み時に行います。

ただし順序の感覚は持っておいてください。代表点そのもののあいまいさが数十m〜数百mある以上、測地系の差よりも「どの点を選んだか」のほうが大きく効きます。測地系を正しく揃えることは必要ですが、それだけで精度が上がるわけではありません。


実務のチェックリスト

  • 座標列を探さない。郵便番号データに座標は無い。15項目を確認してから設計する
  • 特殊レコードを最初に落とす。「以下に掲載がない場合」「〜の次に番地がくる場合」「〜一円」の3種
  • フラグでふるう。13列目が1の番号は、1点の座標では表せないと割り切る
  • 分割レコードを結合する。全角38文字・半角76文字の境目で切れている
  • ひらがな化された町域名に印を付ける。文字列一致では拾えない行として別処理にする
  • 大口事業所の番号は別データ。ヒットしない番号の原因になる
  • 選んだ代表点の根拠を1列残す。先頭/最大面積/重心のどれか
  • 測地系を記録する。位置参照情報由来ならJGD2000。最新成果と混ぜない

まとめ

  • 郵便番号データ(KEN_ALL)は15項目で、座標は1列も入っていない。全国一括版は12万件
  • 郵便番号は「町域」という面に設定されたもの。小字・通称には原則付かない
  • 1町域が複数番号/1番号が複数町域という対応もあり、フラグで表されている
  • 町域名を照合キーにできない理由が4つある:JIS X0208-1983の文字セット/規定外文字のひらがな化/38文字超の複数レコード分割/町域を特定しない特殊レコード
  • 大口事業所の個別番号はこのファイルに含まれない
  • 座標は「住所を組む → 座標を持つデータに当てる → 選んだ点を記録する」の3段で得る。得られるのは代表点
  • 位置参照情報の座標はJGD2000。代表点のあいまいさのほうが測地系の差より大きい

出典

  • 日本郵便「郵便番号データの説明」(項目の並び・フラグの意味・特殊レコード・文字コード・利用条件) https://www.post.japanpost.jp/zipcode/dl/readme.html
  • 日本郵便「郵便番号データダウンロード」 https://www.post.japanpost.jp/zipcode/download.html
  • 国土交通省「位置参照情報ダウンロードサービス」 https://nlftp.mlit.go.jp/isj/

本記事のデータ仕様は2026年10月時点の公開内容に基づきます。仕様・提供条件は更新されることがあるため、最新の内容は出典ページでご確認ください。


次に確認する


開発者より: アプリ・Kindle本・公開プロジェクトの一覧は GitHub: amru195704 にまとめています。


お願い
本記事の情報は参考目的で掲載しており、正確性・完全性を保証するものではありません。誤記・不正確な情報がございましたら、コメント欄よりご指摘いただければ、確認のうえ修正いたします。


コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

トップへ戻る