Spec-Zone.ru › RethinkDB ruby

Команда ReQL: polygon

Синтаксис команды

r.polygon([lon1, lat1], [lon2, lat2], [lon3, lat3], ...) → polygon
r.polygon(point1, point2, point3, ...) → polygon

Описание

Создаёт геометрический объект типа Многоугольник. Многоугольник может быть задан двумя способами:

  • Три или более двухэлементных массивов, задающих значения широты и долготы вершин многоугольника;
  • Три или более объектов Point, задающих вершины многоугольника.

Долгота (−180 до 180) и широта (−90 до 90) вершин наносятся на идеальную сферу. Подробнее о системе координат ReQL см. Поддержка геопространственных данных.

Если последняя точка не задаёт те же координаты, что и первая точка, polygon закроет многоугольник, соединив их. Нельзя напрямую построить многоугольник с отверстиями с помощью polygon, но можно использовать polygon_sub, чтобы использовать второй многоугольник внутри первого для определения отверстия.

Пример: Определение многоугольника.

r.table('geo').insert({
    :id => 101,
    :rectangle => r.polygon(
        [-122.423246,37.779388],
        [-122.423246,37.329898],
        [-121.886420,37.329898],
        [-121.886420,37.779388]
    )
}).run(conn)

Пример: Определение многоугольника, используя массив вершин.

Можно использовать команду args, чтобы передать массив объектов Point (или пар широта-долгота) команде polygon.

vertices = [
    [-122.423246,37.779388],
    [-122.423246,37.329898],
    [-121.886420,37.329898],
    [-121.886420,37.779388]
]
r.table('geo').insert({
    :id => 102,
    :rectangle => r.polygon(r.args(vertices))
}).run(conn)

Связанные команды

  • point
  • line
  • circle

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/polygon/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API