Команда 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)
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/polygon/