Skip to main content

Ported version of @geolonia/normalize-japanese-addresses

Project description

@Taka710/normalize-japanese-addresses-py

PyPI PyPI

オープンソースの住所正規化ライブラリです。

経産省の 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

normalize-japanese-addresses-0.0.9.tar.gz (16.6 kB view details)

Uploaded Source

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

Hashes for normalize-japanese-addresses-0.0.9.tar.gz
Algorithm Hash digest
SHA256 bdbea2112c016253b4dd178dfc893623f7a7d1dde488e904f6c2d1480f2d4297
MD5 0a94b0948eb90b30d09c3b95b972dc5a
BLAKE2b-256 37737f08a3af8acc4beb76d68e4ac569d96a5e153de6f8a479f568afa4aeda6c

See more details on using hashes here.

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

Hashes for normalize_japanese_addresses-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c70a3b45dbc1c9c6b4701d4af22086d649903f76d9f9aeb0a3afae3645fb35e9
MD5 9b153b9df28d41de8900c76e393f696e
BLAKE2b-256 45132a3857bb4609568ed038146bf46718d7b6c4cd942a5e629a8cba234988a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page