On this page Given two shapes A and B, the predicate function `ST_CoveredBy(A, B)` returns `true` if no point in A lies outside of shape B. Otherwise, it returns `false`.

In other words, shape B must completely cover every point in A.

`ST_CoveredBy` works on the following data types:

Note:

`ST_CoveredBy` will attempt to use any available spatial index to speed up its operation. Use the prefixed variant `_ST_CoveredBy` if you do not want any spatial indexes to be used.

Note:

This function is the inverse of `ST_Covers`.

## Examples

Note:

The screenshots in these examples were generated using geojson.io, but they are designed to showcase the shapes, not the map. Representing `GEOMETRY` data in GeoJSON can lead to unexpected results if using geometries with SRIDs other than 4326 (as shown below).

### True

In this example, `ST_CoveredBy` returns `true` because:

• No Point in the smaller Polygon A lies outside of the larger Polygon B.
``````SELECT ST_CoveredBy(st_geomfromtext('SRID=4326;POLYGON((-87.623177 41.881832, -90.199402 38.627003, -82.446732 38.413651, -87.623177 41.881832))'), st_geomfromtext('SRID=4326;POLYGON((-87.906471 43.038902, -95.992775 36.153980, -75.704722 36.076944, -87.906471 43.038902))'));
``````
``````  st_coveredby
----------------
true
(1 row)
`````` ### False

In this example, `ST_CoveredBy` returns `false` because:

• Many Points in the smaller Polygon A lie outside of the larger Polygon B.
``````SELECT ST_CoveredBy(st_geomfromtext('SRID=4326;POLYGON((-87.906471 43.038902, -95.992775 36.153980, -75.704722 36.076944, -87.906471 43.038902))'), st_geomfromtext('SRID=4326;POLYGON((-84.191605 39.758949, -75.165222 39.952583, -78.878738 42.880230, -84.191605 39.758949))'));
``````
``````  st_coveredby
----------------
false
(1 row)
`````` 