0.0
No commit activity in last 3 years
No release in over 3 years
calculate center of 3 geo-coordinates(lat, lon)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0.0
~> 1.6.0
>= 0
~> 2.3.0
 Project Readme

geo-triangle¶ ↑

Introduction¶ ↑

Author

parrot_studio < parrot at users.sourceforge.jp >

License

The MIT License

三点の座標から中心(重心)を求める。

あくまで緯度経度を数値的に処理しているだけで、距離の補正等は考慮していない。そのため、あまりに離れすぎた三点を指定すると、値が妥当でない場合があり得る。

Install¶ ↑

gem install geo-triangle

Usage¶ ↑

# require 'rubygems' # if ruby 1.8.x
require 'geo-triangle'

# 緯度(lat), 経度(lon)の組み合わせを3つ渡す
GeoTriangle.center(
  [36.383304,139.073632], [36.391026,139.075107], [36.378536,139.046445]) #=> [36.384289, 139.065061]

# 順序が正しければ引数は適当でもいい
GeoTriangle.center(
  36.383304,139.073632,36.391026,139.075107,36.378536,139.046445) 

# newしてから構築するやり方
gt1 = GeoTriangle.new
gt1.set_coordinate([36.383304,139.073632])
gt1.set_coordinate([36.391026,139.075107])
gt1.set_coordinate([36.378536,139.046445])
gt1.center #=> [36.384289, 139.065061]

# 4個以上は無視される
gt2 = GeoTriangle.new
gt2.set_coordinate([36.383304,139.073632])
gt2.set_coordinate([36.391026,139.075107])
gt2.set_coordinate([36.378536,139.046445])
gt2.set_coordinate([37.378536,136.046445]) # 4つ目以降は無視
gt2.center #=> [36.384289, 139.065061]

# 同じ座標はまとめられる
gt3 = GeoTriangle.new
gt3.set_coordinate([36.383304,139.073632])
gt3.set_coordinate([36.391026,139.075107])
gt3.set_coordinate([36.391026,139.075107]) # 上と同じ座標
# 座標が2つと見なされ、座標の数が足りないのでnilを返す
gt3.center #=> nil

Extra Module¶ ↑

# require 'rubygems' # if 1.8.x
require 'geo-triangle'

# 重心ではなく外心を求めたい場合
cc = GeoTriangleExt::CircumCenter.create([0,4],[2,0],[5,6])
cc.center #=> [2.333333, 3.333333]

# 鈍角三角形の場合、外心は三角形の外になるため、実装はしたが使えない

Release Note¶ ↑

ver 0.0.1¶ ↑

  • release for test

Copyright © 2011 parrot-studio. See LICENSE.txt for further details.