# ST\_Polygon

Returns a geometry type polygon object from [Well-Known Text representation or extended (WKT)](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry).

{% hint style="info" %}
This function only works for WKT formatted polygons.
{% endhint %}

## Signature

> ST\_Polygon(wkt)

## Usage Examples

These examples are based on the [Streaming Quick Start](/release-0.12.1/basics/getting-started/quick-start.md#streaming).

```sql
select ST_Polygon('POLYGON ((2 2, 2 6, 6 6, 6 2, 2 2))') AS value
from meetupRsvp 
LIMIT 1
```

| value                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 040000000100000005000000004000000000000000400000000000000040000000000000004018000000000000401800000000000040180000000000004018000000000000400000000000000040000000000000004000000000000000 |

```sql
select ST_Polygon('POLYGON EMPTY') AS value
from meetupRsvp 
LIMIT 1
```

| value              |
| ------------------ |
| 040000000000000000 |

This function doesn't accept values that represent non polygons. It will throw an exception if passed other primitives or geometries:

```sql
select ST_Polygon('LINESTRING (30 10, 10 30, 40 40)') AS value
from meetupRsvp 
LIMIT 1
```

```
[
  {
    "message": "QueryExecutionError:\njava.lang.IllegalArgumentException: The geometry object must be polygon\n\tat shaded.com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)\n\tat org.apache.pinot.core.geospatial.transform.function.StPolygonFunction.transformToBytesValuesSV(StPolygonFunction.java:58)\n\tat org.apache.pinot.core.operator.docvalsets.TransformBlockValSet.getBytesValuesSV(TransformBlockValSet.java:95)\n\tat org.apache.pinot.core.common.RowBasedBlockValueFetcher.createFetcher(RowBasedBlockValueFetcher.java:66)",
    "errorCode": 200
  }
]
```

To create geometry objects for non polygons, see [ST\_GeomFromText](/release-0.12.1/configuration-reference/functions/stgeomfromtext.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pinot.apache.org/release-0.12.1/configuration-reference/functions/stpolygon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
