---
title: "Tagairt API GIS QuerySet"
version: 6.0
locale: ga
source: https://docs.djangoproject.com/ga/6.0/ref/contrib/gis/geoquerysets/
canonical: https://djangodocs.dev/ga/6.0/ref/contrib/gis/geoquerysets/
---
# Tagairt API GIS QuerySet

## Cuardaigh Spásúla

Tá na cuardaigh spásúla sa chuid seo ar fáil le haghaidh: aicme: GeometryField agus:class: Rasterfield.

For an introduction, see the [spatial lookups introduction](/ga/6.0/ref/contrib/gis/db-api/#spatial-lookups-intro). For an overview of what lookups are
compatible with a particular spatial backend, refer to the
[spatial lookup compatibility table](/ga/6.0/ref/contrib/gis/db-api/#spatial-lookup-compatibility).

### Cuardaigh le rasters

Tugtar na samplaí go léir sa tagairt thíos do réimsí geoiméadrachta agus ionchuir, ach is féidir na cuardaigh a úsáid ar an mbealach céanna le rasters ar an dá thaobh. \< [https://postgis.net/docs/RT\_ST\_Polygon.html](https://postgis.net/docs/RT_ST_Polygon.html)\>Aon uair nach dtacaíonn cuardach le hionchur raster, déantar an t-ionchur a thiontú go géiméadracht go huathoibríoch nuair is gá ag baint úsáide as an bhfeidhm [ST\_Polygon](#st-polygon). \<spatial-lookup-raster\>Féach freis:ref: réamhrá ar chuardach raster .

Is féidir na hoibreoirí bunachar sonraí a úsáideann na cuardaigh a roinnt ina thrí chatagóir:

- Tacaíocht raster dúchasach `N`: glacann an t-oibreoir le rastrí go dúchasach ar an dá thaobh den chuardach, agus is féidir ionchur raster a mheascadh le hionchuir geoiméadrachta.
- Tacaíocht raster déthaobhach `B`: ní thacaíonn an t-oibreoir le rasters ach amháin má fhaigheann an dá thaobh den chuardach ionchuir raster. Déantar sonraí raster a thiontú go huathoibríoch go geoiméadraí le haghaidh cuardaigh measctha
- Tacaíocht tiontaithe geoiméadais `C`. Níl tacaíocht raster dúchasach ag an lorg, déantar na sonraí raster go léir a thiontú go geoiméadraí go huathoibríoch.

Taispeánann na samplaí thíos an coibhéis SQL do na cuardaigh sna cineálacha éagsúla tacaíochta raster. Baineann an patrún céanna le gach cuardach spásúil.

| Cás | Cuardaigh | Coibhéis SQL |
| --- | --- | --- |
| N, B | `rast__contains=rst` | ST\_Contains (réidh, an chéad) \`\` |
| N, B | rast\_\_1\_\_contains= (an chéad, 2) \`\` | ST\_Contains (ceart, 1, an chéad, 2) \`\` |
| B, C | `rast__contains=geom` | ST\_Contains (ST\_polygon (ar dheis), geom) \`\` |
| B, C | `rast__1__contains=geom` | ST\_Contains (ST\_polygon (ceart, 1), geom) \`\` |
| B, C | `poly__contains=rst` | ST\_Contains (poly, ST\_polygon (rst)) \`\` |
| B, C | poly\_\_contains= (an chéad, 1) \`\` | ST\_Contains (poly, ST\_polygon (rst, 1)) \`\` |
| C | `rast__crosses=rst` | ST\_Crosses (ST\_polygon (ar dheis), ST\_polygon (an chéad)) \`\` |
| C | rast\_\_1\_\_crosses= (an chéad, 2) \`\` | ST\_Crosses (ST\_polygon (ceart, 1), ST\_polygon (an chéad, 2)) \`\` |
| C | `rast__crosses=geom` | ST\_Crosses (ST\_polygon (ar dheis), geom) \`\` |
| C | `poly__crosses=rst` | ST\_Crosses (poli, ST\_polygon (rst)) \`\` |

Ní thacaítear le cuardaigh spásúla le rasters ach le cúltaca PostGIS (ainmnítear mar PGraster sa chuid seo).

### `bbcontains`

*Infhaighteacht*:  \< [https://postgis.net/docs/ST\_Geometry\_Contain.html](https://postgis.net/docs/ST_Geometry_Contain.html)\>, MariaDB, MySQL, Spatialite, PGraster (Dúchasach)

Tástálacha má tá bosca teorainneacha an geoiméadra cuardaigh go hiomlán i mbosca teorainneacha an ghéimseadra nó sa réimse raster.

Sampla:

```
Zipcode.objects.filter(poly__bbcontains=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `poly ~ geom` |
| MariaDB | MBRContains (poly, geom) \`\` |
| MySQL | MBRContains (poly, geom) \`\` |
| Spatialite | MBRContains (poly, geom) \`\` |

### `bboverlaps`

*Infhaighteacht*:  \< [https://postgis.net/docs/geometry\_overlaps.html](https://postgis.net/docs/geometry_overlaps.html)\>, MariaDB, MySQL, Spatialite, PGraster (Dúchasach)

Déanann tástálacha má fhorluíonn bosca teorainneacha an réimse geoiméadachta bosca teorainneacha an choiméadra cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__bboverlaps=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `Polai & & Geom` |
| MariaDB | Mbroverlaps (poly, geom) \`\` |
| MySQL | Mbroverlaps (poly, geom) \`\` |
| Spatialite | Mbroverlaps (poly, geom) \`\` |

### `Coimeádaí`

*Infhaighteacht*:  \< [https://postgis.net/docs/ST\_Geometry\_Contained.html](https://postgis.net/docs/ST_Geometry_Contained.html)\>, MariaDB, MySQL, Spatialite, PGraster (Dúchasach)

Tástálacha má tá bosca teorainneacha an réimse geoiméadachta cuardaigh go hiomlán i mbosca teorainneacha an réimse geoiméadrach.

Sampla:

```
Zipcode.objects.filter(poly__contained=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `Poly @ geom` |
| MariaDB | MBRwithin (poly, geom) \`\` |
| MySQL | MBRwithin (poly, geom) \`\` |
| Spatialite | MBRwithin (poly, geom) \`\` |

### `Coimeád`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Contains.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

Tástálacha má tá an geoiméadracht cuardaigh sa réimse geoiméadrach spásúil.

Sampla:

```
Zipcode.objects.filter(poly__contains=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | ST\_Contains (poly, geom) \`\` |
| Oracle | SDO\_CONTAINS (poly, geom) \`\` |
| MariaDB | ST\_Contains (poly, geom) \`\` |
| MySQL | ST\_Contains (poly, geom) \`\` |
| Spatialite | Tá (poly, geom) \`\` |

### coinníomhaíon\_ceart \`\`

\< [https://postgis.net/docs/ST\_ContainsProperly.html](https://postgis.net/docs/ST_ContainsProperly.html)\>\*Infhaighteacht\*: , PGraster (Déthaobhach)

Filleann sé fíor má thrasnaíonn an geoiméadracht cuardaigh taobh istigh den réimse geoiméadrach, ach ní an teorainn (nó an taobh amuigh).

Sampla:

```
Zipcode.objects.filter(poly__contains_properly=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | ST\_CONTAINSProperly (poly, geom) \`\` |

### clúdaithe ag \`\`

*Availability*: [PostGIS](https://postgis.net/docs/ST_CoveredBy.html),
Oracle, MariaDB, MySQL, PGRaster (Bilateral), SpatiaLite

Tástálacha mura bhfuil aon phointe sa réimse geoiméadrach lasmuigh den ghéimseadracht cuardaigh \[#fncovers\] \_

Sampla:

```
Zipcode.objects.filter(poly__coveredby=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_CoveredBy (poly, geom) \`\` |
| Oracle | SDO\_COVEREDBY (poly, geom) \`\` |
| MariaDB | `MBRCoveredBy(poly, geom)` |
| MySQL | `MBRCoveredBy(poly, geom)` |
| Spatialite | CoveredBy (poly, geom) \`\` |

> **Changed in Django 5.2**
>
> MySQL support was added.

> **Changed in Django 6.0**
>
> MariaDB 12.0.1+ support was added.

### clúdaithe \`\`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Covers.html),
Oracle, MySQL, PGRaster (Bilateral), SpatiaLite

Tástálacha mura bhfuil aon phointe sa ghéimseadracht cuardaigh lasmuigh den réimse geoiméadachta \[#fncovers\] \_

Sampla:

```
Zipcode.objects.filter(poly__covers=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | ST\_Clúdaigh (poly, geom) \`\` |
| Oracle | SDO\_COVERS (poly, geom) \`\` |
| MySQL | `MBRCovers(poly, geom)` |
| Spatialite | Clúdaigh (poli, geom) \`\` |

> **Changed in Django 5.2**
>
> MySQL support was added.

### `trasna`

*Infhaighteacht*:  \< [https://postgis.net/docs/ST\_Crosses.html](https://postgis.net/docs/ST_Crosses.html)\>, MariaDB, MySQL, Spatialite, PGraster (Comhshó)

Tástálacha má thrasnaíonn an réimse geoiméadrachta an geoiméadracht cuardaigh

Sampla:

```
Zipcode.objects.filter(poly__crosses=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_Crosses (poly, geom) \`\` |
| MariaDB | St\_Crosses (poly, geom) \`\` |
| MySQL | St\_Crosses (poly, geom) \`\` |
| Spatialite | Croisí (poli, geom) \`\` |

### `dícheangailti`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Disjoint.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

Tástálacha má tá an réimse geoiméadrachta neamhspleách go spásúil ón gcéimseadra cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__disjoint=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | ST\_Disjoint (poly, geom) \`\` |
| Oracle | SDO\_GEOM.RELATE (poly, 'DISJOINT', geom, 0.05) \`\` |
| MariaDB | ST\_Disjoint (poly, geom) \`\` |
| MySQL | ST\_Disjoint (poly, geom) \`\` |
| Spatialite | Disjoint (poly, geom) \`\` |

### `comhionannai`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Equals.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Conversion)

Tástálacha má tá an réimse geoiméadrach cothrom go spásúil leis an gcéiméadra cuardaigh

Sampla:

```
Zipcode.objects.filter(poly__equals=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | ST\_EQUALS (poly, geom) \`\` |
| Oracle | SDO\_EQUAL (poly, geom) \`\` |
| MariaDB | ST\_EQUALS (poly, geom) \`\` |
| MySQL | ST\_EQUALS (poly, geom) \`\` |
| Spatialite | Cothrom (poly, geom) \`\` |

### `` `cruth ``, an gcéann\_mar \`\`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Geometry_Same.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

Tástálacha má tá an réimse geoiméadrach “comhionann” leis an gcéiméadra cuardaigh. Ar Oracle, MySQL, agus SpatiaLite, déanann sé tástáil ar chomhionannas spásúil, agus ar PostGIS déanann sé tástáil ar chomhionannas boscaí teorainneacha.

Sampla:

```
Zipcode.objects.filter(poly=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `poly ~= geom` |
| Oracle | SDO\_EQUAL (poly, geom) \`\` |
| MariaDB | ST\_EQUALS (poly, geom) \`\` |
| MySQL | ST\_EQUALS (poly, geom) \`\` |
| Spatialite | Cothrom (poly, geom) \`\` |

### `Craitheangair`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Intersects.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

Tástálacha má thrasnaíonn an réimse geoiméadrach an geoiméadracht cuardaigh go spásúil.

Sampla:

```
Zipcode.objects.filter(poly__intersects=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_Intersects (poly, geom) \`\` |
| Oracle | SDO\_OVERLAPBDYINTERSECT (poly, geom) \`\` |
| MariaDB | St\_Intersects (poly, geom) \`\` |
| MySQL | St\_Intersects (poly, geom) \`\` |
| Spatialite | Intersects (poly, geom) \`\` |

### `isempty`

\< [https://postgis.net/docs/ST\_IsEmpty.html](https://postgis.net/docs/ST_IsEmpty.html)\>\*Infhaighteacht\*:

Tástálacha má tá an geoiméadracht folamh.

Sampla:

```
Zipcode.objects.filter(poly__isempty=True)
```

### “Is bailí”

*Availability*: MariaDB, MySQL,
[PostGIS](https://postgis.net/docs/ST_IsValid.html), Oracle, SpatiaLite

Tástálacha má tá an geoiméadracht bailí.

Sampla:

```
Zipcode.objects.filter(poly__isvalid=True)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| MariaDB, MySQL, PostGIS, SpatiaLite | St\_IsValid (poli) \`\` |
| Oracle | `SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT (poli, 0.05) = 'TRUE'` |

> **Changed in Django 6.0**
>
> MariaDB 12.0.1+ support was added.

### `cineál_geom`

> **New in Django 6.0**

*Availability*: [PostGIS](https://postgis.net/docs/GeometryType.html),
Oracle 23c+, MariaDB, MySQL, SpatiaLite

Returns the geometry type of the geometry field.

Sampla:

```
Zipcode.objects.filter(poly__geom_type="POLYGON")
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `GeometryType(geom)` |
| MariaDB | `ST_GeometryType(geom)` |
| MySQL | `ST_GeometryType(geom)` |
| Oracle | `SDO_GEOMETRY.GET_GTYPE(geom)` |
| Spatialite | `GeometryType(geom)` |

### `forlaps`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Overlaps.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

Tástálacha má fhorluíonn an réimse geoiméadrachta go spásúil ar an gcéiméadra

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_overforluí (poly, geom) \`\` |
| Oracle | SDO\_OVERLAPES (poly, geom) \`\` |
| MariaDB | St\_overforluí (poly, geom) \`\` |
| MySQL | St\_overforluí (poly, geom) \`\` |
| Spatialite | Forluí (poly, geom) \`\` |

### gaolmhar \`\`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Relate.html),
MariaDB, Oracle, SpatiaLite, PGRaster (Conversion)

Tests if the geometry field is spatially related to the lookup geometry by the
values given in the given pattern. This lookup requires a tuple parameter,
`(geom, pattern)`; the form of `pattern` will depend on the spatial
backend:

#### MariaDB, PostGIS, agus Spatialite

On these spatial backends the intersection pattern is a string comprising nine
characters, which  define intersections between  the interior, boundary, and
exterior of the geometry field and the lookup geometry. The intersection
pattern matrix may only use the following characters: `1`, `2`, `T`,
`F`, or `*`. This lookup type allows users to "fine tune" a specific
geometric relationship consistent with the DE-9IM model. [^1]

Sampla geoiméadair:

```
# A tuple lookup parameter is used to specify the geometry and
# the intersection pattern (the pattern here is for 'contains').
Zipcode.objects.filter(poly__relate=(geom, "T*T***FF*"))
```

Coibhéis PostGIS agus MariaDB SQL:

```sql
SELECT ... WHERE ST_Relate(poly, geom, 'T*T***FF*')
```

Coibhéis SQL SpatialITE:

```sql
SELECT ... WHERE Relate(poly, geom, 'T*T***FF*')
```

Sampla raster:

```
Zipcode.objects.filter(poly__relate=(rast, 1, "T*T***FF*"))
Zipcode.objects.filter(rast__2__relate=(rast, 1, "T*T***FF*"))
```

Coibhéis PostGIS SQL:

```sql
SELECT ... WHERE ST_Relate(poly, ST_Polygon(rast, 1), 'T*T***FF*')
SELECT ... WHERE ST_Relate(ST_Polygon(rast, 2), ST_Polygon(rast, 1), 'T*T***FF*')
```

#### Oracle

Here the relation pattern is comprised of at least one of the nine relation
strings: `TOUCH`, `OVERLAPBDYDISJOINT`, `OVERLAPBDYINTERSECT`,
`EQUAL`, `INSIDE`, `COVEREDBY`, `CONTAINS`, `COVERS`, `ON`, and
`ANYINTERACT`. Multiple strings may be combined with the logical Boolean
operator OR, for example, `'inside+touch'`. [^2]  The relation
strings are case-insensitive.

Sampla:

```
Zipcode.objects.filter(poly__relate=(geom, "anyinteract"))
```

Coibhéis Oracle SQL:

```sql
SELECT ... WHERE SDO_RELATE(poly, geom, 'anyinteract')
```

### `teagmhálacha`

\< [https://postgis.net/docs/ST\_Touches.html](https://postgis.net/docs/ST_Touches.html)\>\*Infhaighteacht\*: , Oracle, MariaDB, MySQL, Spatialite

Tástálacha má théann an réimse geoiméadrachta i dteagmháil go spásúil leis an

Sampla:

```
Zipcode.objects.filter(poly__touches=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_Touches (poly, geom) \`\` |
| MariaDB | St\_Touches (poly, geom) \`\` |
| MySQL | St\_Touches (poly, geom) \`\` |
| Oracle | SDO\_TOUCH (poly, geom) \`\` |
| Spatialite | Touches (poly, geom) \`\` |

### laistigh de \`\`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Within.html),
Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Bilateral)

Tástálacha má tá an réimse geoiméadrachta go spásúil laistigh den ghéimseadracht

Sampla:

```
Zipcode.objects.filter(poly__within=geom)
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_within (poly, geom) \`\` |
| MariaDB | St\_within (poly, geom) \`\` |
| MySQL | St\_within (poly, geom) \`\` |
| Oracle | SDO\_INSIDE (poly, geom) \`\` |
| Spatialite | Laistigh de (poly, geom) \`\` |

### chlé \`

\< [https://postgis.net/docs/ST\_Geometry\_Left.html](https://postgis.net/docs/ST_Geometry_Left.html)\>\*Infhaighteacht\*: , PGraster (Comhshó)

Tástálacha má tá bosca teorainneacha an réimse geoiméadrachta go docht ar thaobh clé de bhosca teorainneacha an geoiméadrachta cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__left=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly << geom
```

### `ceart`

\< [https://postgis.net/docs/ST\_Geometry\_Right.html](https://postgis.net/docs/ST_Geometry_Right.html)\>\*Infhaighteacht\*: , PGraster (Comhshó)

Tástálacha má tá bosca teorainneacha an réimse geoiméadrachta go docht ar dheis de bhosca teorainneacha an geoiméadrachta cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__right=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly >> geom
```

### overlaps\_chlé \`\`

\< [https://postgis.net/docs/ST\_Geometry\_Overleft.html](https://postgis.net/docs/ST_Geometry_Overleft.html)\>\*Infhaighteacht\*: , PGraster (Déthaobhach)

Tástálacha má théann bosca teorainneacha an réimse geoiméadrachta forluí nó má tá sé ar thaobh clé de bhosca teorainneacha an geoiméadrachta cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__overlaps_left=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly &< geom
```

### `overlaps_right`

\< [https://postgis.net/docs/ST\_Geometry\_Overright.html](https://postgis.net/docs/ST_Geometry_Overright.html)\>\*Infhaighteacht\*: , PGraster (Déthaobhach)

Tástálacha má théann bosca teorainneacha an réimse geoiméadrachta forluí nó má tá sé ar dheis de bhosca teorainneacha an geoiméadrachta cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__overlaps_right=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly &> geom
```

### `overlaps_thuas`

\< [https://postgis.net/docs/ST\_Geometry\_Overabove.html](https://postgis.net/docs/ST_Geometry_Overabove.html)\>\*Infhaighteacht\*: , PGraster (Comhshó)

Tástálacha má théann bosca teorainneacha an réimse geoiméadachta forluí nó má tá sé os cionn bosca teorainneacha an geoiméadrachta cuardaigh

Sampla:

```
Zipcode.objects.filter(poly__overlaps_above=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly |&> geom
```

### `overlaps_thíos`

\< [https://postgis.net/docs/ST\_Geometry\_Overbelow.html](https://postgis.net/docs/ST_Geometry_Overbelow.html)\>\*Infhaighteacht\*: , PGraster (Comhshó)

Tástálacha má théann bosca teorainneacha an réimse geoiméadrachta forluí nó má tá sé faoi bhun bosca teorainneacha an ghéimseadrachta cu

Sampla:

```
Zipcode.objects.filter(poly__overlaps_below=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly &<| geom
```

### `docht thuas`

\< [https://postgis.net/docs/ST\_Geometry\_Above.html](https://postgis.net/docs/ST_Geometry_Above.html)\>\*Infhaighteacht\*: , PGraster (Comhshó)

Tástálacha má tá bosca teorainneacha an réimse geoiméadachta go docht os cionn bosca teorainneacha an ghéimseadra cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__strictly_above=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly |>> geom
```

### docht thíos \`\`

\< [https://postgis.net/docs/ST\_Geometry\_Below.html](https://postgis.net/docs/ST_Geometry_Below.html)\>\*Infhaighteacht\*: , PGraster (Comhshó)

Tástálacha má tá bosca teorainneacha an réimse geoiméadrach faoi bhun bosca teorainneacha an ghéimseadrachta cuardaigh.

Sampla:

```
Zipcode.objects.filter(poly__strictly_below=geom)
```

Coibhéis PostGIS:

```sql
SELECT ... WHERE poly <<| geom
```

## Cuardaigh Fad

*Availability*: PostGIS, Oracle, MariaDB, MySQL, SpatiaLite, PGRaster (Native)

\<distance-queries\>Le haghaidh forbhreathnú ar cheisteanna achair a dhéanamh, féach le do thoil faoir:ref: réamhrá ceisteanna achair .

Tá an fhoirm seo a leanas ag cuardach achair:

```text
<field>__<distance lookup>=(<geometry/raster>, <distance value>[, "spheroid"])
<field>__<distance lookup>=(<raster>, <band_index>, <distance value>[, "spheroid"])
<field>__<band_index>__<distance lookup>=(<raster>, <band_index>, <distance value>[, "spheroid"])
```

Is é an luach a chuirtear isteach i gcuardach achair; tá an chéad dá luach éigeantach, agus is iad an geoiméadra chun achair a ríomh, agus luach achair (uimhir in aonaid den réimse, a: aicme: ~django.contrib.gis.Measure.distance réad, nó a:doc: \</ref/models/expressions\> léiriú fiosraithe'). Chun innéacs banna a chur chuig an lorg, bain úsáid as 3-tuple ina bhfuil an dara iontráil an t-innéacs banna.

Ar gach cuardach achair ach amháin: lookup: dwithin, féadfar eilimint roghnach, `spheroid`, a chur san áireamh chun na feidhmeanna ríofa achair spheroid níos cruinne a úsáid ar réimsí le córas comhordaithe geodéiseach.

\< [https://postgis.net/docs/ST\_Distance\_Spheroid.html](https://postgis.net/docs/ST_Distance_Spheroid.html)\> \< [https://postgis.net/docs/ST\_DistanceSphere.html](https://postgis.net/docs/ST_DistanceSphere.html)\>Ar PostgreSQL, úsáideann an rogha `'spheroid'`  in ionad . Úsáidtear an fheidhm  níos simplí le córais chomhordaithe ré\< [https://postgis.net/docs/ST\_Distance.html](https://postgis.net/docs/ST_Distance.html)\> amh-mheasta. Déantar rasters a thiontú go geoiméadraí le haghaidh cuardaigh bunaithe ar spheroid.

### `Fachad_gt`

Tugann samhlacha ar ais ina bhfuil an fad chuig an réimse geoiméadais ón gcéimseadra cuardaigh níos mó ná an luach achair a thugtar.

Sampla:

```
Zipcode.objects.filter(poly__distance_gt=(geom, D(m=5)))
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `ST_distance/ST_distance_sphere (poly, geom) > 5` |
| MariaDB | `St_distance (poly, geom) > 5` |
| MySQL | `St_distance (poly, geom) > 5` |
| Oracle | `SDO_GEOM.SDO_DISTANCE (poli, geom, 0.05) > 5` |
| Spatialite | `Fad (poli, geom) > 5` |

### `achtar_gte`

Tugann samhlacha ar ais ina bhfuil an fad chuig an réimse geoiméadais ón gcéimseadra cuardaigh níos mó ná nó cothrom leis an luach achair ar leith.

Sampla:

```
Zipcode.objects.filter(poly__distance_gte=(geom, D(m=5)))
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `ST_distance/ST_distance_sphere (poly, geom) >= 5` |
| MariaDB | `St_distance (poly, geom) >= 5` |
| MySQL | `St_distance (poly, geom) >= 5` |
| Oracle | `SDO_GEOM.SDO_DISTANCE (poli, geom, 0.05) >= 5` |
| Spatialite | `Fad (poli, geom) >= 5` |

### `Fachad_lt`

Tugann samhlacha ar ais ina bhfuil an fad go réimse an geoiméadais ón gcéimseadra cuardaigh níos lú ná an luach achair a thugtar.

Sampla:

```
Zipcode.objects.filter(poly__distance_lt=(geom, D(m=5)))
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `ST_distance/ST_distance_sphere (poly, geom) < 5` |
| MariaDB | `St_distance (poly, geom) <5` |
| MySQL | `St_distance (poly, geom) <5` |
| Oracle | `SDO_GEOM.SDO_DISTANCE (poli, geom, 0.05) < 5` |
| Spatialite | `Fad (poli, geom) < 5` |

### `Fachad_lte`

Tugann samhlacha ar ais ina bhfuil an fad chuig an réimse geoiméadais ón gcéimseadra cuardaigh níos lú ná nó cothrom leis an luach achair ar leith.

Sampla:

```
Zipcode.objects.filter(poly__distance_lte=(geom, D(m=5)))
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | `ST_distance/ST_distance_sphere (poly, geom) <= 5` |
| MariaDB | `ST_distance (poly, geom) <= 5` |
| MySQL | `ST_distance (poly, geom) <= 5` |
| Oracle | `SDO_GEOM.SDO_DISTANCE (poli, geom, 0.05) <= 5` |
| Spatialite | `Fad (poli, geom) <= 5` |

### ``` ``thíní ```

Tuairisceáin samhlacha ina bhfuil an fad go réimse an geoiméadais ón gcéimseadra cuardaigh laistigh den achar sonraithe óna chéile. Tabhair faoi deara nach féidir leat rudaí:class: ~django.contrib.gis.Measure.distance a sholáthar ach má tá na geoiméadrachtaí spriocdhírithe i gcóras réamh-mheasta. Maidir le geoiméadraí geografacha, ba chóir duit aonaid den réimse geoiméadrach a úsáid (m.sh. céimeanna do WGS84\`).

Sampla:

```
Zipcode.objects.filter(poly__dwithin=(geom, D(m=5)))
```

| Cúltaca | Coibhéis SQL |
| --- | --- |
| PostGIS | St\_dWithin (poly, geom, 5) \`\` |
| Oracle | SDO\_WITHIN\_DISTANCE (poly, geom, 5) \`\` |
| Spatialite | PTdistWithin (poly, geom, 5) \`\` |

### Feidhmeanna Chom

Soláthraíonn Django roinnt feidhmeanna comhiomlán atá sonrach le GIS. Le haghaidh sonraí maidir le conas na feidhmeanna comhiomlána seo a úsáid, féach:doc: an treoir ábhair ar chomhiomlán' \</topics/db/aggregation\>.

| Argóint Eochairfho | Cur síos |
| --- | --- |
| lamháltas \`\` | This keyword is for Oracle only. It is for the<br>tolerance value used by the `SDOAGGRTYPE`<br>procedure; the   has more<br>details. |

Sampla:

```pycon
>>> from django.contrib.gis.db.models import Extent, Union
>>> WorldBorder.objects.aggregate(Extent("mpoly"), Union("mpoly"))
```

#### `Bailiúch`

#### `class Collect(geo_field, filter=None)`

*Availability*: [PostGIS](https://postgis.net/docs/ST_Collect.html),
MariaDB, MySQL, SpatiaLite

Filleann sé réad geoiméadachta `GEOMETRYCOLLECTION` nó réad geoiméadais `MULTI` ón gcolún geoiméadrach. Tá sé seo cosúil le leagan simplithe den chomhiomlán: aicme: Union, ach amháin gur féidir leis a bheith roinnt orduithe méide níos tapa ná aontas a dhéanamh toisc go rollaíonn sé geoiméadraí i mbailiúchán nó ilréad, gan cúram faoi theorainneacha a thuaslagadh.

> **Changed in Django 6.0**
>
> MariaDB 12.0.1+ support was added.

#### `Faoi láimhse`

#### `class Extent(geo_field, filter=None)`

\< [https://postgis.net/docs/ST\_Extent.html](https://postgis.net/docs/ST_Extent.html)\>\*Infhaighteacht\*: , Oracle, Spatialite

Tugann sé ar ais méid na geo\_field\` go léir sa `QuerySet` mar 4-tuple, lena n-áirítear an comhordanáid íochtarach ar chlé agus an comhordanáid uachtarach ar dheis.

Sampla:

```pycon
>>> qs = City.objects.filter(name__in=("Houston", "Dallas")).aggregate(Extent("poly"))
>>> print(qs["poly__extent"])
(-96.8016128540039, 29.7633724212646, -95.3631439208984, 32.782058715820)
```

#### `Extent3D`

#### `class Extent3D(geo_field, filter=None)`

\< [https://postgis.net/docs/ST\_3DExtent.html](https://postgis.net/docs/ST_3DExtent.html)\>\*Infhaighteacht\*:

Filleann sé méid 3D gach `geo_field` sa QuerySet\` mar thúpla 6, lena n-áirítear an comhordanáid íochtarach ar chlé agus an comhordanáid uachtarach ar dheis (gach ceann acu le comhordanáidí x, y, agus z).

Sampla:

```pycon
>>> qs = City.objects.filter(name__in=("Houston", "Dallas")).aggregate(Extent3D("poly"))
>>> print(qs["poly__extent3d"])
(-96.8016128540039, 29.7633724212646, 0, -95.3631439208984, 32.782058715820, 0)
```

#### `Makeline`

#### `class MakeLine(geo_field, filter=None)`

\< [https://postgis.net/docs/ST\_MakeLine.html](https://postgis.net/docs/ST_MakeLine.html)\>\*Infhaighteacht\*: , Spatialite

Filleann sé `Linestring` a tógadh ó na geoiméadrachtaí réimse pointe sa `QuerySet`. Faoi láthair, níl aon éifeacht ag ordú an tacar fiosrúcháin.

Sampla:

```pycon
>>> qs = City.objects.filter(name__in=("Houston", "Dallas")).aggregate(MakeLine("poly"))
>>> print(qs["poly__makeline"])
LINESTRING (-95.3631510000000020 29.7633739999999989, -96.8016109999999941 32.7820570000000018)
```

#### `Aontas`

#### `class Union(geo_field, filter=None)`

\< [https://postgis.net/docs/ST\_Union.html](https://postgis.net/docs/ST_Union.html)\>\*Infhaighteacht\*: , Oracle, Spatialite

Tugann an modh seo a: aicme: ~django.contrib.gis.geos.geosgeometry réad a chuimsíonn aontas gach geoiméadair sa tacar fiosrúcháin. Tabhair faoi deara le do thoil go bhfuil úsáid “Union” dian ar phróiseálaí agus go bhféadfadh sé go dtógfadh sé go leor ama ar cheisteanna móra.

> **Note**
>
> Má tá an t-am ríomhaireachta chun an modh seo a úsáid ró-daor, smaoinigh ar: class: Collect a úsáid ina ionad.

Sampla:

```pycon
>>> u = Zipcode.objects.aggregate(Union(poly))  # This may take a long time.
>>> u = Zipcode.objects.filter(poly__within=bbox).aggregate(
...     Union(poly)
... )  # A more sensible approach.
```

**Fonótaí**

[^1]: *See* [OpenGIS Simple Feature Specification For SQL](https://portal.ogc.org/files/?artifact_id=829), at Ch. 2.1.13.2, p. 2-13 (The Dimensionally Extended Nine-Intersection Model).

[^2]: *Féach* doiciméadú SDO\_RELATE \_ \< <https://docs.oracle.com/en/> database/oracle/oracle-database/18/spatl/spatial-operators-reference.html# GUID-97C17C18-F05E-49B4-BE11-E89B972E2A02\>, ó Threoir Forbróra Spásúil agus Graif Oracle.

[^3]: Le haghaidh míniú ar an ngnáthamh seo, léigh “Quirks of the “Contains” Spásúil Predicate\`\_ le \< <https://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html>\> Martin Davis (forbróir PostGIS).
