从点数组中获取边界框

时间:2019-06-07 20:29:21

标签: ruby-on-rails geokit

我有一个仅Rails 5 API的项目。我的节点上存储着latitude / longitude详细信息。我正在使用Rails Geokit gem执行其他一些地理工作。

我想将包含数组中所有点的边界框返回给使用方客户端。有没有简单的方法可以做到这一点?大多数示例都向您展示了如何使用一个已知的边界框,而不是生成一个边界框。

1 个答案:

答案 0 :(得分:1)

要确定一组坐标的边界框,您需要做的就是纬度和经度的最小值和最大值,即极端的西,东,北和南值。从中可以构造出跨越边界框的西南和东北点。

现在我不熟悉geokit,所以我不知道坐标的类名称,但是您应该能够将其转换为正确的类名称(我称其为Point) :

points = [...] # List of nodes
west, east = points.map(&:longitude).minmax
south, north = points.map(&:latitude).minmax
sw = Point.new(longitude: west, latitude: south)
ne = Point.new(longitude: east, latitude: north)