Geolonia がオープンソースで公開している住所正規化エンジン normalize-japanese-addresses
のバージョン 3 を公開しました。
これまでのバージョンでは、国土数値情報や郵便局データを使った住所マスターをベースに動作していました。今回のバージョンでは、住所マスター自体も更新しております。具体的には、デジタル庁が公開しているアドレス・ベース・レジストリ(ABR)を元に作り直しました。
これにより、正規化できる住所の網羅性、精度の向上、更新頻度の安定化が期待されます。
新バージョンを早速お試しいただけるデモサイトをご用意しました。ぜひご利用ください。
v3 へのアップグレードの際には、出力形式が変更されているためご注意ください。 v2 はそのまま利用いただく場合は出力形式が変わりませんが、住居表示住所・地番住所の対応は含まれないので、アップグレードをおすすめしております。
例えば、「北海道札幌市西区24-2-2-3-3」を入力した場合のレスポンスは以下のようになります。
{
"pref": "北海道", // 都道府県名
"city": "札幌市西区", // 市区町村名
"town": "二十四軒二条二丁目", // 大字・丁目名
"addr": "3-3", // 街区符号・住居符号または地番
"level": 8, // 正規化レベル
"point": {
"lat": 43.074206115, // 緯度
"lng": 141.315540696, // 経度
"level": 8 // 位置情報データレベル
},
"other": "" // 正規化できなかった文字列
}
{
"pref": "北海道", // 都道府県名
"city": "札幌市西区", // 市区町村名
"town": "二十四軒二条二丁目", // 大字・丁目名
"addr": "3-3", // 正規化できなかった文字列
"level": 3, // 正規化レベル
"lat": 43.074273, // 緯度
"lng": 141.315099 // 経度
}
addr
フィールドの扱い: 以前のバージョンでは town
までしか正規化されず、番地号は簡易的な正規化(例:「3番3号」→「3-3」)を行った後、残りをすべて addr
に返却していました。バージョン 3 では、番地号まで正規化し、詳細な情報を提供します。point
サブオブジェクトに移動し、独立した level
を付与しました。地番・住居表示の情報があっても位置情報が無い場合があり、その際は正規化レベルが 8 でも、位置情報レベルは 3 になります。npm
を利用している方は、以下のコマンドで新バージョンにアップグレードできます。
npm install --save @geolonia/normalize-japanese-addresses@^3
アップグレード後、必要な部分を新バージョンのレスポンス形式に合わせて修正してください。
デジタル庁のアドレス・ベース・レジストリを加工し、使いやすい JSON と CSV API に変換するツールを japanese-addresses-v2
で公開しています。
基本的には ABR を利用していますが、一部で引き続き国土数値情報を利用しています。
都道府県・市区町村・大字丁目情報は、以前と同様に JSON 形式で公開しています。新バージョンでは、位置情報データを追加し、アドレス・ベース・レジストリに基づいた名前パーツに分けています。
{
"北海道": ["札幌市中央区", "札幌市北区", "札幌市東区", ...],
...
}
{
"meta": {"updated": 1727945098},
"data": [
{
"code": 10006,
"pref": "北海道",
"point": [141.347906782, 43.0639406375],
"cities": [
{
"code": 11011,
"city": "札幌市",
"ward": "中央区",
"point": [141.35389, 43.061414]
},
...
]
},
...
]
}
その他のエンドポイントについては、レジストリの README をご確認ください。
JSON API は都道府県・市区町村・町字/丁目の情報を提供しますが、住居表示住所・地番住所はデータ量が多いため、別のファイルフォーマットを検討しました。市区町村ごとに住所を一つのファイルにまとめ、部分的な読み込みが可能な CSV を採用しています。
余談: 当初は Protobuf の API を検討しましたが、gzip 圧縮後のファイルサイズが CSV とほとんど変わらなかったため、CSV を採用しました。今後圧縮率向上できるようなファイルフォーマットなどあればそれで提供していきたいと考えています。詳しくはGitHub Issueを参照してください
フォーマットの詳細は、japanese-addresses-v2
の README をご参照ください。
最後までお読みいただき、ありがとうございました。今回のバージョンアップによりレスポンスの形式が変更されていますので、アップグレードを検討される際は慎重にご判断ください。
引き続き従来バージョンの住所マスターはホスティングする予定ですので、アップグレードはご都合の良いタイミングで行っていただければ幸いです。
ご不明な点やご懸念がありましたら、お気軽にお問い合わせください。また、どのようにご利用いただいているか教えていただけるとより良いライブラリを作ることができるので、どうぞよろしくお願い致します。