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

# ES|QL ST_INTERSECTS function
## Syntax

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


## Parameters

<definitions>
  <definition term="geomA">
    Expression that is either a geometry (`geo_point`, `cartesian_point`, `geo_shape` or `cartesian_shape`) or a geo-grid value (`geohash`, `geotile`, `geohex`). If `null`, the function returns `null`.
  </definition>
  <definition term="geomB">
    Expression that is either a geometry (`geo_point`, `cartesian_point`, `geo_shape` or `cartesian_shape`) or a geo-grid value (`geohash`, `geotile`, `geohex`). If `null`, the function returns `null`. The second parameter must also have the same coordinate system as the first. This means it is not possible to combine `geo_*` and `cartesian_*` parameters.
  </definition>
</definitions>


## Description

Returns true if two geometries intersect. They intersect if they have any point in common, including their interior points (points along lines or within polygons). This is the inverse of the [ST_DISJOINT](https://www.elastic.co/elastic/docs-builder/docs/3016/reference/query-languages/esql/functions-operators/spatial-functions/st_disjoint) function. In mathematical terms: ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅

## Supported types


| geomA           | geomB           | result  |
|-----------------|-----------------|---------|
| cartesian_point | cartesian_point | boolean |
| cartesian_point | cartesian_shape | boolean |
| cartesian_shape | cartesian_point | boolean |
| cartesian_shape | cartesian_shape | boolean |
| geo_point       | geo_point       | boolean |
| geo_point       | geo_shape       | boolean |
| geo_point       | geohash         | boolean |
| geo_point       | geohex          | boolean |
| geo_point       | geotile         | boolean |
| geo_shape       | geo_point       | boolean |
| geo_shape       | geo_shape       | boolean |
| geohash         | geo_point       | boolean |
| geohex          | geo_point       | boolean |
| geotile         | geo_point       | boolean |


## Example

```esql
FROM airports
| WHERE ST_INTERSECTS(location, TO_GEOSHAPE("POLYGON((42 14, 43 14, 43 15, 42 15, 42 14))"))
```


| abbrev:keyword | city:keyword | city_location:geo_point | country:keyword | location:geo_point                     | name:text      | scalerank:i | type:k |
|----------------|--------------|-------------------------|-----------------|----------------------------------------|----------------|-------------|--------|
| HOD            | Al Ḩudaydah  | POINT(42.9511 14.8022)  | Yemen           | POINT(42.97109630194 14.7552534413725) | Hodeidah Int'l | 9           | mid    |