Low commit activity in last 3 years
Extend jipcode.gem to locate zipcode data by address
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.5.3
>= 3.0.0
 Project Readme

Gem Version Ruby

Jipcode::AddressLocator

jipcodeに住所から郵便番号データを検索するメソッド(locate_by_address)を追加します。

Installation

Add this line to your application's Gemfile:

gem 'jipcode-address_locator'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install jipcode-address_locator

使用方法

住所から郵便番号情報を検索する

jaro-winkler距離計算の結果から近い順に郵便番号情報を返す。

require 'jipcode'
require 'jipcode/address_locator'

Jipcode.locate_by_address '東京都千代田区千代田1-1', prefecture_code: true, distance: true
# [
#   {:zipcode=>"1008111", :prefecture=>"東京都", :city=>"千代田区", :town=>"千代田1−1", :prefecture_code=>13, :distance=>1.0},
#   {:zipcode=>"1000001", :prefecture=>"東京都", :city=>"千代田区", :town=>"千代田", :prefecture_code=>13, :distance=>0.9538461538461538},
#   {:zipcode=>"1000000", :prefecture=>"東京都", :city=>"千代田区", :town=>nil, :prefecture_code=>13, :distance=>0.9076923076923077}
# ]

備考

jipcodeの該当するバージョンのインデックスをまだ持っていない場合インデックスファイルを作成する。

受け取った住所は以下の正規化を行う。(Jipcode::AddressLocator.normalize_address())

  • 全角の数字とハイフンを半角にする
  • 「漢数字 + 丁目」 を「半角数字 + ハイフン」 にする
  • 丁目番地などをハイフンにする

Jipcode::AddressLocator.normalize_address('稲穂県ミドリ市一番町一丁目2の3番')
# => '稲穂県ミドリ市一番町1-2-3'

インデックスを更新する

明示的にインデックスを作り直す場合は以下を実行する。

Jipcode::AddressLocator.create_index!

License

The gem is available as open source under the terms of the MIT License.