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

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


## Syntax

![Embedded](https://www.elastic.co/elastic/docs-builder/docs/3028/reference/query-languages/esql/images/functions/st_dimension.svg)


## Parameters

<definitions>
  <definition term="geometry">
    Expression of type `geo_point`, `geo_shape`, `cartesian_point` or `cartesian_shape`. If `null`, the function returns `null`.
  </definition>
</definitions>


## Description

Returns the topological dimension of the supplied geometry. Points and multi-points return `0`, lines and multi-lines return `1`, polygons and multi-polygons return `2`, and geometry collections return the maximum dimension of their components.

## Supported types


| geometry        | result  |
|-----------------|---------|
| cartesian_point | integer |
| cartesian_shape | integer |
| geo_point       | integer |
| geo_shape       | integer |


## Example

```esql
ROW wkt = [
    "POINT(1.0 2.0)",
    "LINESTRING (30 10, 10 30, 40 40)",
    "POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))"]
| MV_EXPAND wkt
| EVAL geometry = TO_GEOSHAPE(wkt),
       type = ST_GEOMETRYTYPE(geometry),
       topological_dimension = ST_DIMENSION(geometry)
| KEEP type, topological_dimension
```


| type:keyword  | topological_dimension:integer |
|---------------|-------------------------------|
| ST_Point      | 0                             |
| ST_LineString | 1                             |
| ST_Polygon    | 2                             |