Все, что вам нужно для определения ограничивающего прямоугольника для набора координат, - это минимальное и максимальное значения широты и долготы, то есть крайние значения для запада, востока, севера и юга. Из них вы можете построить юго-западные и северо-восточные точки, которые охватывают ограничивающую рамку.
Теперь я не знаком с 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)