﻿---
title: ES|QL ST_UNION function
description: 
url: https://www.elastic.co/elastic/docs-builder/docs/3562/reference/query-languages/esql/functions-operators/spatial-functions/st_union
products:
  - Elasticsearch
---

# ES|QL ST_UNION function
<applies-to>
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Planned
</applies-to>

Returns the geometric union of two geometries.

## Syntax

![Embedded](https://www.elastic.co/elastic/docs-builder/docs/3562/reference/query-languages/esql/images/generated/x-pack-esql/functions/st_union.svg)


## Parameters

<definitions>
  <definition term="geomA">
    Expression of type `geo_point`, `geo_shape`, `cartesian_point` or `cartesian_shape`. If `null`, the function returns `null`.
  </definition>
  <definition term="geomB">
    Expression of type `geo_point`, `geo_shape`, `cartesian_point` or `cartesian_shape`. Must share the same coordinate reference system as the first parameter. If `null`, the function returns `null`.
  </definition>
</definitions>


## Description

Returns the geometric union of two geometries. The result is a geometry that covers all points covered by either input geometry. Both geometries must share the same coordinate reference system.

## Supported types


| geomA           | geomB           | result          |
|-----------------|-----------------|-----------------|
| cartesian_point | cartesian_point | cartesian_shape |
| cartesian_point | cartesian_shape | cartesian_shape |
| cartesian_shape | cartesian_point | cartesian_shape |
| cartesian_shape | cartesian_shape | cartesian_shape |
| geo_point       | geo_point       | geo_shape       |
| geo_point       | geo_shape       | geo_shape       |
| geo_shape       | geo_point       | geo_shape       |
| geo_shape       | geo_shape       | geo_shape       |


## Example

```esql
ROW a = TO_GEOSHAPE("POLYGON ((0 0, 2 0, 2 2, 0 2, 0 0))"),
    b = TO_GEOSHAPE("POLYGON ((2 0, 4 0, 4 2, 2 2, 2 0))")
| EVAL unioned = ST_UNION(a, b)
| KEEP unioned
```


| unioned:geo_shape                                                         |
|---------------------------------------------------------------------------|
| POLYGON ((2.0 0.0, 0.0 0.0, 0.0 2.0, 2.0 2.0, 4.0 2.0, 4.0 0.0, 2.0 0.0)) |


### Diagrams

**Union of two overlapping polygons**
The union of two overlapping squares covers the area of both.
![Union of two overlapping polygons](https://www.elastic.co/elastic/docs-builder/docs/3562/reference/query-languages/esql/images/generated/x-pack-esql/functions/st_union_union.svg)