6.7. `spath` functions
Prev | Up | Chapter 6. Functions | Home | Next

## 6.7. `spath` functions #

### 6.7.1. Count of points #

You can get the count of points of a spherical path using the function:

`npoints(` | path`)`; |

`spath path`;

Example 6.13. Count of spath's points

    sql> SELECT npoints ( spath '{(0,0),(1,0)}' );
     npoints
    ---------
           2
     (1 row)

### 6.7.2. Positions at a path #

pgSphere provides three functions to get points at a path.

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

`spath path`;
`int4 i`;

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

`spath path`;
`float8 f`;

`spath_as_array(` | path`)`; |

`spath path`;

The first function returns the `i`-th point of a path. If `i` is less than 1 or larger than the count of `spath` points, the function returns `NULL`. The second function does nearly the same, but does linear interpolation between edge positions.

Example 6.14. Get the “center” of a one segment `spath`

    sql> SELECT spoint ( spath '{(0d,0d),(30d,0d)}', 1.5 );
      spoint
    ------------
     (15d , 0d)
    (1 row)

Example 6.15. Get i-th point of a path

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

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

Example 6.16. Get array representation of points

    sql> SELECT spath_as_array( spath '{(0, 0),(1, 1)}');
        spath_as_array
    -----------------------
     {"(0 , 0)","(1 , 1)"}
    (1 row)

Prev | Up | Next
6.6. `sline` functions | Home | 6.8. `spoly` functions