On this page
ReQL command: polygon
Command syntax
r.polygon([lon1, lat1], [lon2, lat2], [lon3, lat3], ...) → polygon
r.polygon(point1, point2, point3, ...) → polygon
Description
Construct a geometry object of type Polygon. The Polygon can be specified in one of two ways:
- Three or more two-item arrays, specifying latitude and longitude numbers of the polygon’s vertices;
- Three or more Point objects specifying the polygon’s vertices.
Longitude (−180 to 180) and latitude (−90 to 90) of vertices are plotted on a perfect sphere. See Geospatial support for more information on ReQL’s coordinate system.
If the last point does not specify the same coordinates as the first point, polygon
will close the polygon by connecting them. You cannot directly construct a polygon with holes in it using polygon
, but you can use polygon_sub to use a second polygon within the interior of the first to define a hole.
Example: Define a polygon.
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)
Example: Define a polygon using an array of vertices.
You can use the args command to pass an array of Point objects (or latitude-longitude pairs) to 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/