# GroundPolylineGeometry

#### new Cesium.GroundPolylineGeometry(options)
engine/Source/Core/GroundPolylineGeometry.js 74

A description of a polyline on terrain or 3D Tiles. Only to be used with `GroundPolylinePrimitive`.

Name | Type | Description
--- | --- | ---
`options` | object | Options with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`positions` | Array.<Cartesian3> |  | An array of `Cartesian3` defining the polyline's points. Heights above the ellipsoid will be ignored.
`width` | number | `1.0` | optional The screen space width in pixels.
`granularity` | number | `9999.0` | optional The distance interval in meters used for interpolating options.points. Defaults to 9999.0 meters. Zero indicates no interpolation.
`loop` | boolean | `false` | optional Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
`arcType` | ArcType | `ArcType.GEODESIC` | optional The type of line the polyline segments must follow. Valid options are `ArcType.GEODESIC` and `ArcType.RHUMB`.

##### Throws:

- DeveloperError : At least two positions are required.

##### Example:

    const positions = Cesium.Cartesian3.fromDegreesArray([
      -112.1340164450331, 36.05494287836128,
      -112.08821010582645, 36.097804071380715,
      -112.13296079730024, 36.168769146801104
    ]);

    const geometry = new Cesium.GroundPolylineGeometry({
      positions : positions
    });

##### See:

- GroundPolylinePrimitive

### Members

#### arcType : ArcType
engine/Source/Core/GroundPolylineGeometry.js 122

The type of path the polyline must follow. Valid options are `ArcType.GEODESIC` and `ArcType.RHUMB`.

Default Value: `ArcType.GEODESIC`

#### granularity : boolean
engine/Source/Core/GroundPolylineGeometry.js 107

The distance interval used for interpolating options.points. Zero indicates no interpolation. Default of 9999.0 allows centimeter accuracy with 32 bit floating point.

Default Value: `9999.0`

#### loop : boolean
engine/Source/Core/GroundPolylineGeometry.js 115

Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop. If the geometry has two positions this parameter will be ignored.

Default Value: `false`

#### width : number
engine/Source/Core/GroundPolylineGeometry.js 97

The screen space width in pixels.

### Methods

#### static Cesium.GroundPolylineGeometry.pack(value, array, startingIndex) → Array.<number>
engine/Source/Core/GroundPolylineGeometry.js 294

Stores the provided instance into the provided array.

Name | Type | Default | Description
--- | --- | --- | ---
`value` | PolygonGeometry |  | The value to pack.
`array` | Array.<number> |  | The array to pack into.
`startingIndex` | number | `0` | optional The index into the array at which to start packing the elements.

##### Returns:

The array that was packed into

#### static Cesium.GroundPolylineGeometry.unpack(array, startingIndex, result)
engine/Source/Core/GroundPolylineGeometry.js 333

Retrieves an instance from a packed array.

Name | Type | Default | Description
--- | --- | --- | ---
`array` | Array.<number> |  | The packed array.
`startingIndex` | number | `0` | optional The starting index of the element to be unpacked.
`result` | PolygonGeometry |  | optional The object into which to store the result.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.