6.8. `spoly` functions
Prev | Up | Chapter 6. Functions | Home | Next

## 6.8. `spoly` functions #

### 6.8.1. Count of edges #

Similar to an `spath` (Section 6.7.1), you can get the count of edges of a spherical polygon using the function:

`npoints(` | polygon`)`; |

`spoly polygon`;

Example 6.17. Count of edges of a spherical polygon

    sql> SELECT npoints ( spoly '{(0,0),(1,0),(1,1)}' );
     npoints
    ---------
           3
     (1 row)

### 6.8.2. Positions at a polygon #

pgSphere provides two functions to get points at a path.

`spoint(` | path, |
| i`)`; |

`spoly path`;
`int4 i`;

`spoly_as_array(` | path`)`; |

`spath path`;

Example 6.18. Get by index

    sql> SELECT  spoint( spoly '{(0,0),(1,0),(1,1)}', 1 );
     spoint
    ---------
     (0 , 0)
     (1 row)

    sql> SELECT  spoint( spoly '{(0,0),(1,0),(1,1)}', 2 );
     spoint
    ---------
     (1 , 0)
     (1 row)

    sql> SELECT  spoint( spoly '{(0,0),(1,0),(1,1)}', 3 );
     spoint
    ---------
     (1 , 1)
     (1 row)

Example 6.19. Represent points as array

    sql> SELECT  spoly_as_array( spoly '{(0,0),(1,0),(1,1)}' );
             spoly_as_array
    ---------------------------------
     {"(0 , 0)","(1 , 0)","(1 , 1)"}
    (1 row)

### 6.8.3. Spoly is convex #

Returns true if the specified spherical polygon is convex. Returns false otherwise.

`spoly_is_convex(` | polygon`)`; |

`spoly polygon`;

Example 6.20. Check if polygon is convex

    sql> SELECT spoly_is_convex( spoly '{(0,0),(1,0),(1,1),(1,2)}' );
     spoly_is_convex
    -----------------
     t
     (1 row)

Prev | Up | Next
6.7. `spath` functions | Home | 6.9. `sbox` functions