Skip to main content
A LINESTRING is a collection of that are “strung together” into one geometric object. A LineString can be used to represent an arbitrary curve, such as a Bézier curve. In practice, this means that LineStrings are useful for representing real-world objects such as roads and rivers. The coordinates of each Point that makes up the LineString are translated according to the current (denoted by an ) to determine what the Point “is”, or what it “means” relative to the (if any) in the data set. You can also store a “ with the following additional dimensions:
  • A third dimension coordinate Z (Z).
  • A measure coordinate M (M).
  • Both a third dimension and a measure coordinate (ZM).
The Z and M dimensions can be accessed or modified using a number of , including:
  • ST_Z
  • ST_M
  • ST_Affine
  • ST_Zmflag
  • ST_MakePoint
  • ST_MakePointM
  • ST_Force3D
  • ST_Force3DZ
  • ST_Force3DM
  • ST_Force4D
  • ST_Snap
  • ST_SnapToGrid
  • ST_RotateZ
  • ST_AddMeasure
Note that CockroachDB’s is still based on the 2D coordinate system. This means that:
  • The Z/M dimension is not index accelerated when using spatial predicates.
  • Some spatial functions ignore the Z/M dimension, with transformations discarding the Z/M value.

Examples

A LineString can be created from SQL by calling the st_geomfromtext function on a LineString definition expressed in the format as shown below.
SELECT ST_GeomFromText('LINESTRING(0 0, 1440 900)');
                                   st_geomfromtext
--------------------------------------------------------------------------------------
  0102000000020000000000000000000000000000000000000000000000008096400000000000208C40
(1 row)
You can also make a LineString using the of st_makeline.

See also