ケンオールブログ

ケンオールは、オープンデータを活用する際に問題となる様々な課題を解決するソリューションとして、オープンデータの利用者に使いやすい環境を提供するプラットフォーム型サービスです。ケンオールは、株式会社オープンコレクターが開発・運営しています。 https://kenall.jp/

郵便番号データのローマ字出力に対応しました

この記事は2022年11月リリースでリリースされた機能の1つ、ローマ字出力対応について紹介しています。

郵便番号検索APIで、ローマ字の住所を出力できるようになりました。 海外向けの住所フォームなどに活用できます。

例えば、"https://api.kenall.jp/v1/postalcode/1000001 をリクエストすると、以下のレスポンスが返ってきます。 (一部のみ記載。以下同じ。完全なレスポンスはドキュメントを参照してください)

{
  "postal_code": "1000001",
  "prefecture": "東京都",
  "prefecture_kana": "トウキョウト",
  "prefecture_roman": "Tokyo",
  "city": "千代田区",
  "city_kana": "チヨダク",
  "city_roman": "Chiyoda-ku",
  "town": "千代田",
  "town_kana": "チヨダ",
  "town_roman": "Chiyoda"
}

郵便番号検索API内のcity市区町村政令指定都市の行政区が連結されたデータでしたが、今回のアップデートに伴い、これらを分割したデータも出力するようになりました。

{
  "postal_code": "2310001",
  "prefecture": "神奈川県",
  "prefecture_kana": "カナガワケン",
  "prefecture_roman": "Kanagawa",
  "city": "横浜市中区",
  "city_kana": "ヨコハマシナカク",
  "city_roman": "Naka-ku, Yokohama",
  "city_without_county_and_ward": "横浜市",
  "city_without_county_and_ward_kana": "ヨコハマシ",
  "city_without_county_and_ward_roman": "Yokohama",
  "city_ward": "中区",
  "city_ward_kana": "ナカク",
  "city_ward_roman": "Naka-ku",
  "town": "新港",
  "town_kana": "シンコウ",
  "town_roman": "Shinko"
}

このデータは、郵便番号データに含まれるカナ情報を基に、ケンオールが独自に変換して生成したローマ字です。

日本郵便株式会社は「郵便番号データ(ローマ字)」を公開していますが、ケンオールではこのデータを採用しておりません。

一つ目の理由は、更新頻度が低く、更新タイミングが「郵便番号データ」と一致していないためです。 「郵便番号データ(ローマ字)」の説明には以下のように記載されています。

本データファイルは年1回程度の更新予定です。

「郵便番号データ」は月1回更新のため、「郵便番号データ(ローマ字)」を用いても最新の郵便番号に対応することはできません。 ケンオールでは「郵便番号データ」からローマ字データを生成しているため、最新の郵便番号データに対応したローマ字を常に提供しています。

二つ目の理由は、「郵便番号データ(ローマ字)」には文字数制限により欠落しているデータがあることです。 「郵便番号データ(ローマ字)」の説明には以下のように記載されています。

全角となっている町域名および市区町村名部分の文字数が17文字を超える場合、また半角となっているローマ字部分の文字数が35文字を超える場合は、超えた部分の収録は行っておりません。

例えば、郵便番号2890308千葉県 香取市 木内虫幡上小堀入会地大平 の郵便番号で、町名部分のよみがなはキノウチムシハタカミコボリイリアイチオオダイラとなりますが、「郵便番号データ(ローマ字)」には収録されている町名のローマ字はKINOCHIMUSHIHATAKAMIKOBORIIRIAICHIOとなっており、後半部分が欠落しています。

ケンオールではこうした長い町名も全ての文字を出力します。

 {
  "postal_code": "2890308",
  "prefecture": "千葉県",
  "prefecture_kana": "チバケン",
  "prefecture_roman": "Chiba",
  "city": "香取市",
  "city_kana": "カトリシ",
  "city_roman": "Katori",
  "town": "木内虫幡上小堀入会地大平",
  "town_kana": "キノウチムシハタカミコボリイリアイチオオダイラ",
  "town_roman": "Kinochimushihatakamikoboriiriaichiodaira"
}

三つ目の理由は、「郵便番号データ」と「郵便番号データ(ローマ字)」でよみが違う場合があることです。

例えば、郵便番号5960102大阪府 岸和田市 山直中町の郵便番号で、「郵便番号データ」での町名のよみがなはヤマダイナカマチとなりますが、「郵便番号データ(ローマ字)」ではYAMADAINAKACHOとなっています。

ケンオールでは「郵便番号データ」のよみがなからローマ字を生成しているため、よみがなとローマ字で一貫したよみとなっています。

 {
  "postal_code": "5960102",
  "prefecture": "大阪府",
  "prefecture_kana": "オオサカフ",
  "prefecture_roman": "Osaka",
  "city": "岸和田市",
  "city_kana": "キシワダシ",
  "city_roman": "Kishiwada",
  "town": "山直中町",
  "town_kana": "ヤマダイナカマチ",
  "town_roman": "Yamadainakamachi"
}

利用方法

本内容は、APIバージョンとして 2022-11-01を指定した際にレスポンスへ含められるようになります。APIレスポンスの内容については、郵便番号APIのドキュメントを、APIバージョンの指定方法についてはAPIバージョニングのドキュメントを参照してください。

APIバージョニングのブログ記事も参照してください。

Shodoで執筆されました