Back to top

    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)
    

    Get more help

    Couldn't find what you were looking for?