@geolonia/normalize-japanese-addresses (以下 NJA)は Geolonia が開発しているオープンソースの日本の住所の正規化ライブラリです。
NJA の新規のリリースでデータソースとしてローカルファイルを利用するオプションが追加されました。
https://www.npmjs.com/package/@geolonia/normalize-japanese-addresses/v/2.5.0
NJA は町丁目のデータをバックエンドの web API から取得してキャッシュを作成し、これを元に住所の正規化を行なっています。常に最新のデータを参照する一方で、新しい市区町村の正規化を試みるたびにキャッシュの作成のため HTTP リクエストが発生することになります。
最新のリリース v2.5.0 では、japaneseAddressesApi
オプションを特定の形式で設定することでローカル環境のファイルシステムからデータをロードすることができるようになりました。
# Geolonia 住所データのダウンロード
$ curl -sL https://github.com/geolonia/japanese-addresses/archive/refs/heads/master.tar.gz | tar xvfz -
// ローカルファイルを参照する使用例
const { config, normalize } = require('@geolonia/normalize-japanese-addresses')
// config.japaneseAddressesApi に対して file URI スキームでローカルファイルのパスを指定できます
config.japaneseAddressesApi = 'file:///path/to/japanese-addresses-master/api/ja'
(function(){
for (address of addresses) {
await normalize(address)
}
})()
今回の変更により、事前にデータをダウンロードしておくことで、インターネットがない環境でも正規化の処理を行うことができるようになりました。また通信環境に依存しないことで動作の安定性が向上するメリットもあります。
今回の機能をはじめ NJA の使い方についての詳細は README をご覧ください。
NJA は多くの方に利用していただいており、継続的に改善が進んでいます。皆様のフィードバックをぜひお待ちしています。