从点数组中获取边界框

Get bounding box from array of points

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

我想 return 向消费客户端发送包含数组中所有点的边界框。有没有简单的方法可以做到这一点?大多数示例向您展示了使用已知的边界框,而不是生成边界框。

要确定一组坐标的边界框,您只需要纬度和经度的最小值和最大值,即最西、最东、最北和最南值。从这些您可以构建跨越边界框的西南点和东北点。

现在我不熟悉 geokit,所以我不知道坐标的 class 名称,但你应该能够将其转换为正确的 class 名称(我我称它为 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)