- データベースの構造に大きな変更があり下位互換性がないため、
abrgディレクトリ
(デフォルトでは~/.abr-geocoder
) を削除して、もう一度abrg download
を行ってください。
入力した住所文字列とデジタル庁が整備する アドレス・ベース・レジストリを突合し、正規化された住所文字列・町字 ID ・緯度経度等を出力するジオコーダーです。 日本国内の住所表記を分析し、揺れを吸収して、階層に合わせて正規化した結果を出力します。
- 日本国内の住所を対象としたジオコーダ
- アドレス・ベース・レジストリに基づいて住所表記、階層に合わせて正規化
住居表示
と地番
に対応。- SQLiteを使用。サーバー内でジオコーディングすることが可能。
- マルチスレッドによる高速処理。
csv
,json
,geojson
,ndjson
,ndgeojson
,simplified
の6つの出力形式をサポート。
- コマンドとして利用可能
- 標準入力・標準出力によるパイプライン
- ファイルによる入出力
- RESTサーバとして利用可能
- Node.jsのライブラリとして利用可能
- 個別リクエスト、Streamをサポート
- 京都の通り名による検索(※一部未対応)
- ランドマーク(有名な施設名など)による検索
- 郵便番号による検索
- アルファベット(英語表記)による検索
- グローバルインストール
npm install -g @digital-go-jp/abr-geocoder
abrg # 実行できることを確認
- ローカルインストール
npm install @digital-go-jp/abr-geocoder
npm link
abrg # 実行できることを確認
アドレス・ベース・レジストリからジオコーディングに必要なデータセットをダウンロードし、SQLiteを使ってデータベースを構築します。
abrg download [options]
-
地域を指定してダウンロード
特定の都道府県や市町村を指定して、地域を限定したデータベースを構築することが可能です。これによりダウンロードするデータサイズを抑え、データベースを早く構築することが出来るようになります。
地域を指定するコードは、全国地方公共団体コードを指定します。 複数の地域を指定する場合は、半角空白で区切ります。
# 東京都のデータをダウンロードする abrg download -c 130001 # 東京都と神奈川県のデータをダウンロードする abrg download -c 130001 140007 # 千代田区のデータをダウンロードする abrg download -c 131016
-
ディレクトリの変更
データセットファイルをダウンロードしたり、データベースを保存するディレクトリを変更することができます。 デフォルトでは
$HOME/.abr-geocoder
に保存します。abrg download -d (データを保存するディレクトリへのパス)
-
プログレスバーを非表示
silentオプションを指定すると、プログレスバーを表示しません。abrg download --silent
-
デバッグ情報の表示
処理が完了したとき、処理に掛かった時間を表示します。abrg download --debug
データのアップデートを確認します。ローカルにデータがある場合は、データベースに含まれる市区町村を対象にアップデートチェックを行ないます。新しいデータがある場合には、続けてダウンロードすることが可能です。
abrg update-check [options]
-
yes/no を事前に指定
利用可能な更新データがある場合、続けてダウンロードを行うかどうかを事前に指定しておくことができます。# 続けてダウンロードを行う場合 abrg update-check --yes # 続けてダウンロードを行わない場合 abrg update-check --no
-
プログレスバーを非表示
silentオプションを指定すると、プログレスバーを表示しません。abrg update-check --silent
-
ディレクトリの変更
データベースを保存するディレクトリを指定します。デフォルトでは
$HOME/.abr-geocoder
です。abrg update-check -d (データを保存するディレクトリへのパス)
-
デバッグ情報の表示
処理が完了したとき、処理に掛かった時間を表示します。abrg update-check --debug
入力した住所文字列をデータベースと突合し、正規化された住所文字列・町字 ID・緯度経度等を出力します。 (ジオコーディングを行います。)
$ abrg <inputFile> [<outputFile>] [options]
-
<inputFile>
コマンドにデータを入力する方法を指定します。
-
ファイルへのパスを指定した場合
指定されたテキストファイルをジオコーディングします。 1行単位(1行につき1つのアドレス)で記入してください。例:
abrg ./sample.txt
sample.txt
東京都千代田区紀尾井町1-3 東京都千代田区永田町1-10-1 ... 東京都千代田区永田町一丁目7番1号
-
"-" を指定した場合
標準入力からデータを受け取ります。例:
echo "東京都千代田区紀尾井町1-3 東京ガーデンテラス紀尾井町 19階、20階" | abrg -
-
-
<outputFile>
処理結果の出力先を指定します。省略された場合は標準出力(stdout)に出力されます。
-
ファイルへのパスを指定した場合
指定されたファイルに処理結果を出力します。出力形式は `--format` オプションに基づきます。例:
abrg ./input.txt ./output.json
-
省略した場合
省略された場合は標準出力(stdout)に出力されます。例:
cat ./sample.txt | abrg - | jq
-
-
出力形式の変更
-f
,--format
オプションで出力書式を変更できます。デフォルトはjson
です。format 説明 csv カンマ区切りのcsv形式で結果を出力します simplified 出力フィールドを限定した、カンマ区切りのcsv形式で結果を出力します json JSON形式で結果を出力します ndjson NDJSON形式で結果を出力します geojson GeoJSON形式で結果を出力します ndgeojson NDGeoJSON形式で結果を出力します -
ワイルドカード文字を指定する
任意の1文字をワイルドカードとして扱うことができます。 utf-8で表現できない旧漢字などを●(黒丸)などに変換した場合などに、指定すると便利です。デフォルトは`?`です。例:
echo "東京都町●市森野2-2-22" | abrg - --fuzzy "●"
-
プログレスバーを非表示
silentオプションを指定すると、プログレスバーを表示しません。abrg ./input.txt ./output.txt --silent
-
ディレクトリの変更
データベースを保存するディレクトリを指定します。デフォルトでは
$HOME/.abr-geocoder
です。abrg ./input.txt ./output.txt -d (データを保存するディレクトリへのパス)
-
デバッグ情報の表示
処理が完了したとき、処理に掛かった時間を表示します。 また入力された住所文字列にマッチした各テーブルの主キーの情報が出力されます。abrg ./input.txt ./output.txt --debug
-
ジオコーディング対象
--target
オプションで住居表示・地番のジオコーディング対象を変更できます。デフォルトはall
です。format 説明 all 住居表示と地番のデータの両方を調べます。住居表示の結果が優先されます residential 住居表示データのみを調べます parcel 地番データのみを調べます
ジオコーダをREST APIサーバーとして起動します。
abrg serve [options]
リクエスト方法
curl http://localhost:3000/geocode?address=東京都千代田区紀尾井町1-3
-
ポート番号の変更
REST APIサーバーのポート番号を変更します。デフォルトは
3000
です。abrg serve -p 8080
-
ディレクトリの変更
データベースを保存するディレクトリを指定します。デフォルトでは
$HOME/.abr-geocoder
です。abrg serve -d (データを保存するディレクトリへのパス)
-
リクエスト・パラメータ
HTTP/GETでリクエストを行います。以下のパラメータが指定可能です。
| パラメータ | 必須 | 説明 | |-------------|-------------------------------------------------| | address | Y | ジオコーディングしたい住所文字列。必須パラメータ | | target | | 検索対象(all, residentaial, parcel) | | format | | 結果の出力形式 | | fuzzy | | ワイルドカードとして使用する1文字 |