Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

normalize-japanese-addresses

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

normalize-japanese-addresses

Ported version of @geolonia/normalize-japanese-addresses

  • 0.0.9
  • PyPI
  • Socket score

Maintainers
1

@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 ライセンスです。

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc