松村 Advent Calendar 2016 の14日目です。 @muramurasan です。
タイトルの通り、gem作りの練習として「緯度経度を入力値に、2地点間の距離を算出するgem」を作ってみたので、その使い方を紹介させていただきたいと思います。
gemの名前は conncect_gsi_api という、一体何のgemなのかさっぱりわからないものになっています。(後悔)
インストール
Gemfile を使う場合は、下記の記述を追加して、bundle install
してください。
gem 'connect_gsi_api'
手動でインストールして使う場合は、gem install connect_gsi_api
を叩きましょう。
実際に使ってみた
インストールから、利用するところまで実際に紹介していきます。
まずはインストールをします。
$ gem install connect_gsi_api Fetching: connect_gsi_api-0.1.0.gem (100%) Successfully installed connect_gsi_api-0.1.0 Parsing documentation for connect_gsi_api-0.1.0 Installing ri documentation for connect_gsi_api-0.1.0 Done installing documentation for connect_gsi_api after 0 seconds 1 gem installed
次に、手っ取り早く使用感を確かめるために、irb を起動して使ってみます。
$ irb irb(main):001:0> require "connect_gsi_api" => true irb(main):002:0> ConnectGsiApi.distance2p 35.6581, 139.701742, 36.123456, 138.705749 => 103682.866
こんな感じで、引数 出発地緯度
、出発地経度
、到着地緯度
、到着地経度
を渡して distance2p
を呼び出すと、距離がメートルで返ってきます。
不正なパラメータを渡してしまったなど、エラーが起きている場合はnil
が返ってくる仕様になっています。
なお、デバッグのため、コマンドにも対応しています。
$ bundle exec calcdist 35.6581 139.701742 36.123456 138.705749 103682.866
注意事項
あくまで、このgemは国土地理院提供のAPIを使用しているものですので、
APIの使用回数制限や、API側のインタフェース変更で、gemが使えなくなることが想定されます。
残念な仕様ではありますが、うまく値を取得できなかった場合は、nil
を返すような仕様になっておりますので、
うまく利用者側でよしなにハンドリングしていただければと思います。