gpt4 book ai didi

ruby-on-rails - 使用 geokit 或其他 ruby​​ gem 计算一系列地理坐标的中心

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:06 30 4
gpt4 key购买 nike

我使用 geokit 和 geokit-rails gem for rails 有一段时间了,但我还没有找到答案的一个问题是如何找到一组点的计算聚合中心。我知道如何计算两点之间的距离,但不会超过 2。

我的理由是,我在同一个城市中有一系列的点……一切都完美的城市会有一个我可以使用的中心,但有些城市,比如柏林没有一个完美的中心。他们有多个中心,我只想使用我数据库中的所有地点列表来计算特定分布的中心。还有其他人遇到过这个问题吗?

有什么建议吗?谢谢

最佳答案

之前从未使用过 Geokit,这个操作背后的数学原理相对容易自己实现。假设这些点由纬度和经度组成,您只需要所有点的平均纬度和平均经度。获得这两个值后,您就获得了中心点。

points = [[14, 19], [-5, 57], [23, -12]]
points.transpose.map{|c| c.inject{|a, b| a + b}.to_f / c.size}

同样,如果这些点是 Geokit::LatLng 对象而不是二维数组,您可以通过预先调用 #to_a 简单地映射它们的 lat 和 lng 值。

points.map(&:to_a).transpose.map{|c| c.inject{|a, b| a + b}.to_f / c.size}

关于ruby-on-rails - 使用 geokit 或其他 ruby​​ gem 计算一系列地理坐标的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977058/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com