# Create geodesic line string
> Supported in: Batch, Streaming
Creates a geodesic line between two points.
**Expression categories:** Geospatial
## Declared arguments
* **End point:** Longitude and latitude for the end point.
*Expression\*
* **Starting point:** Longitude and latitude for the starting point.
*Expression\*
* *optional* **Number of steps:** The number of points to return in between the start and end point of the geodesic line segment. The default value is 24 points.
*Expression\*
**Output type:** *Geometry*
## Examples
### Example 1: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 20.92,
**longitude**: 179.0,
} | {
**latitude**: 20.92,
**longitude**: -178.0,
} | 3 | {"type":"MultiLineString","coordinates":\[\[\[-180.0, 20.925458598035362],\[-179.5, 20.926550359447504],... |
***
### Example 2: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 38.9072,
**longitude**: -77.0369,
} | {
**latitude**: 20.92,
**longitude**: -70.0,
} | 8 | {"type":"LineString","coordinates":\[\[-77.0369, 38.90720000000001],\[-76.10884874732801, 36.9298141100... |
***
### Example 3: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 34.1309,
**longitude**: -88.908,
} | {
**latitude**: 34.496,
**longitude**: -83.9651,
} | 4 | {"type":"LineString","coordinates":\[\[-88.90800000000002, 34.13089999999999],\[-87.9230399151116, 34.2... |
***
### Example 4: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 39.4953,
**longitude**: -89.6352,
} | {
**latitude**: 61.0928,
**longitude**: 62.2376,
} | 4 | {"type":"LineString","coordinates":\[\[-89.6352, 39.4953],\[-83.5342527561974, 54.30031923899314],\[-70.... |
***
### Example 5: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 38.9072,
**longitude**: -77.0369,
} | {
**latitude**: 20.92,
**longitude**: -70.0,
} | *null* | {"type":"LineString","coordinates":\[\[-77.0369, 38.90720000000001],\[-76.69701959729164, 38.1961853930... |
***
### Example 6: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 20.92,
**longitude**: -70.0,
} | {
**latitude**: *null*,
**longitude**: -77.0369,
} | 8 | *null* |
***
### Example 7: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 20.92,
**longitude**: -70.0,
} | {
**latitude**: *null*,
**longitude**: *null*,
} | 8 | *null* |
***
### Example 8: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 20.92,
**longitude**: -70.0,
} | {
**latitude**: 38.9072,
**longitude**: *null*,
} | 8 | *null* |
***
### Example 9: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 39.4953,
**longitude**: -89.6352,
} | *null* | 8 | *null* |
***
### Example 10: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: *null*,
**longitude**: *null*,
} | {
**latitude**: *null*,
**longitude**: *null*,
} | 8 | *null* |
***
### Example 11: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: *null*,
**longitude**: *null*,
} | {
**latitude**: *null*,
**longitude**: *null*,
} | *null* | *null* |
***
### Example 12: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| *null* | *null* | 8 | *null* |
***
### Example 13: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: *null*,
**longitude**: -77.0369,
} | {
**latitude**: 20.92,
**longitude**: -70.0,
} | 8 | *null* |
***
### Example 14: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: *null*,
**longitude**: *null*,
} | {
**latitude**: 20.92,
**longitude**: -70.0,
} | 8 | *null* |
***
### Example 15: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| {
**latitude**: 38.9072,
**longitude**: *null*,
} | {
**latitude**: 20.92,
**longitude**: -70.0,
} | 8 | *null* |
***
### Example 16: Base case
**Argument values:**
* **End point:** `endPoint`
* **Starting point:** `startPoint`
* **Number of steps:** `numSteps`
| startPoint | endPoint | numSteps | **Output** |
| ----- | ----- | ----- | ----- |
| *null* | {
**latitude**: 20.92,
**longitude**: -70.0,
} | 8 | *null* |
***