Ported version of @geolonia/normalize-japanese-addresses
Project description
@Taka710/normalize-japanese-addresses-py
オープンソースの住所正規化ライブラリです。
経産省の IMI コンポーネントツールのジオコーディングの仕組みから
インスピレーションをうけて開発された @geolonia/normalize-japanese-addressesを
Pythonで利用できるように書き直したものです。
使い方
pypiで公開していますので、pipコマンドでインストールしてください。
pip install normalize-japanese-addresses
住所を正規化します。
from normalize_japanese_addresses import normalize
print(normalize("北海道札幌市西区24-2-2-3-3"))
# {'pref': '北海道', 'city': '札幌市西区', 'town': '二十四軒二条二丁目', 'addr': '3-3', 'lat': 43.074273, 'lng': 141.315099, 'level': 3}
住所の正規化結果として戻されるオブジェクトには、level
プロパティが含まれます。level
には、住所文字列のどこまでを判別できたかを以下の数値で格納しています。
0
- 都道府県も判別できなかった。1
- 都道府県まで判別できた。2
- 市区町村まで判別できた。3
- 町丁目まで判別できた。
例えば都道府県名のみを正規化したい場合、level
オプションで指定することで処理を早くすることができます。
from normalize_japanese_addresses import normalize
print(normalize("北海道札幌市西区24-2-2-3-3", level=1))
# {'pref': '北海道', 'city': '', 'town': '', 'addr': '札幌市西区24-2-2-3-3', 'lat': 43.074273, 'lng': 141.315099, 'level': 1}
名寄せする住所は、@geolonia/japanese-addressesから都度取得しています。
endpoint
オプションで file://
形式のURLを指定することで、ローカルファイルとして保存した住所を参照することができます。
# Geolonia 住所データのダウンロード
$ curl -sL https://github.com/geolonia/japanese-addresses/archive/refs/heads/master.tar.gz | tar xvfz -
※住所データを最新にしたい場合は都度上記コマンドでダウンロードしてください。
from normalize_japanese_addresses import normalize
print(normalize("北海道札幌市西区24-2-2-3-3", endpoint="file:///path/to/japanese-addresses-master/api/ja"))
# {'pref': '北海道', 'city': '札幌市西区', 'town': '二十四軒二条二丁目', 'addr': '3-3', 'lat': 43.074273, 'lng': 141.315099, 'level': 3}
注意
以下の仕様は、元の @geolonia/normalize-japanese-addressesを踏襲しています。
- この正規化エンジンは、住所の「名寄せ」を目的としており、たとえば京都の「通り名」は削除します。
- 郵便や宅急便などに使用される住所としては、問題ないと考えています。
- この正規化エンジンは、町丁目及び小字レベルまでは対応していますが、それ以降については対応しておりません。
- 住居表示が未整備の地域については全体的に苦手です。
- 漢数字と数字の変換については、@geolonia/japanese-numeralをPythonに書き直して取り込んでいます。
ライセンス、利用規約
ソースコードのライセンスは MIT ライセンスです。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file normalize-japanese-addresses-0.0.9.tar.gz
.
File metadata
- Download URL: normalize-japanese-addresses-0.0.9.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdbea2112c016253b4dd178dfc893623f7a7d1dde488e904f6c2d1480f2d4297 |
|
MD5 | 0a94b0948eb90b30d09c3b95b972dc5a |
|
BLAKE2b-256 | 37737f08a3af8acc4beb76d68e4ac569d96a5e153de6f8a479f568afa4aeda6c |
File details
Details for the file normalize_japanese_addresses-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: normalize_japanese_addresses-0.0.9-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c70a3b45dbc1c9c6b4701d4af22086d649903f76d9f9aeb0a3afae3645fb35e9 |
|
MD5 | 9b153b9df28d41de8900c76e393f696e |
|
BLAKE2b-256 | 45132a3857bb4609568ed038146bf46718d7b6c4cd942a5e629a8cba234988a6 |