abr-geocoder を使用してみる

概要

デジタル庁から abr-geocoder という正規化ツールが発表されていたため、使用してみます。

abr-geocoder
ABRジオコーダー(abr-geocoder)は、アドレス・ベース・レジストリ(ABR)で整備された住所・所在地を用いたジオコーダーです。

手順

abr-geocoder のインストール

適当なディレクトリに npm で abr-geocoder をインストールします。
npm が無い場合は Node.js をインストールします。
データに50GBほど必要とするため、容量に余裕のあるドライブで実施してください。

npm install @digital-go-jp/abr-geocoder
npm link @digital-go-jp/abr-geocoder

データダウンロード

データダウンロードします。
デフォルトだと C ドライブのシステムディレクトリに保存してしまうので、data サブディレクトリに保存します。

abrg download -d ./data/

データ量が多いため、ダウンロードには、おおよそ1時間ほどかかります。

PS D:\Code\abr-geocoder> abrg download -d ./data/
download: ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0% | 0/1 | ETA: 0s

大量のエラーが出力される場合があります。
この場合は無視して良いと思います。

--------> retry!!! Error: read ECONNRESET
    at TLSWrap.onStreamRead (node:internal/stream_base_commons:218:20) {
  errno: -4077,
  code: 'ECONNRESET',
  syscall: 'read'
}
{
  kind: 'download',
  dataset: 'town_pos',
  packageId: 'ba-o1-205907_g2-000006',
  useCache: true,
  lgCode: '205907'
}

また、ダウンロードが停止する場合もあります。進捗表示のまま固まります。
この場合はCtrl+Cでキャンセルして再実行します。

download: ███████████████████████░░░░░░░░░░░░░░░░░ 58% | 6303/10806 | ETA: 3h15m

データダウンロード(補完)

だいたい、データダウンロードで失敗するので、データダウンロードが一旦完了したら、再度ダウンロードを行い補完します。

abrg update-check -d ./data/ --yes

データ量

ダウンロード完了すると、これくらいのデータ量があります。
やたらとデータ量があります。

サーバー開始

サーバーをスタートします。
-d でデータを指定する必要があります。

abrg serve start -d .\data\

ブラウザ等で以下のURLにアクセス

http://localhost:3000/geocode?address=東京都千代田区紀尾井町1-3

色々と試してみましたが、品質は悪くないと思います。

所感

品質は悪くはないのですが、やたらとデータ量が重い・初期化に時間がかかる点は非常にネックです。
失敗すると止まってしまうため自動化が困難です。
55GBはコンテナにすると大きすぎますし、VMで個別ダウンロードもあまり現実的ではありません。
もう少しクオリティアップしていただく必要があるかなという印象です。経産省のimiツールは軽かったのですが・・・

とはいえ、公式からこういったツールが発表されていることは非常に評価できますし、今後に期待したいところです。

参考資料

GitHub - digital-go-jp/abr-geocoder: Address Base Registry Geocoder by digital.go.jp
Address Base Registry Geocoder by digital.go.jp. Contribute to digital-go-jp/abr-geocoder development by creating an acc...

コメント

タイトルとURLをコピーしました