---
title: "Fonctions de base de données géographiques"
version: 3.1
locale: fr
source: https://docs.djangoproject.com/fr/3.1/ref/contrib/gis/functions/
canonical: https://djangodocs.dev/fr/3.1/ref/contrib/gis/functions/
---
# Fonctions de base de données géographiques

Les fonctions documentées sur cette page permettent aux utilisateurs d’accéder aux fonctions géographiques de bases de données utilisables dans les annotations, les agrégations ou les filtres avec Django.

Exemple :

```
>>> from django.contrib.gis.db.models.functions import Length
>>> Track.objects.annotate(length=Length('line')).filter(length__gt=100)
```

Tous les moteurs ne supportent pas forcément toutes les fonctions, référez-vous donc à la documentation de chaque fonction pour voir si votre moteur de base de données prend en charge la fonction que vous souhaitez utiliser. Si vous appelez une fonction géographique sur un moteur qui ne le gère pas, vous obtiendrez une exception `NotImplementedError`.

Sommaire des fonctions :

| Mesures | Relations | Opérations | Modifications | Format de sortie | Divers |
| --- | --- | --- | --- | --- | --- |
| [`Area`](#django.contrib.gis.db.models.functions.Area) | [`Azimuth`](#django.contrib.gis.db.models.functions.Azimuth) | [`Difference`](#django.contrib.gis.db.models.functions.Difference) | [`ForcePolygonCW`](#django.contrib.gis.db.models.functions.ForcePolygonCW) | [`AsGeoJSON`](#django.contrib.gis.db.models.functions.AsGeoJSON) | [`IsValid`](#django.contrib.gis.db.models.functions.IsValid) |
| [`Distance`](#django.contrib.gis.db.models.functions.Distance) | [`BoundingCircle`](#django.contrib.gis.db.models.functions.BoundingCircle) | [`Intersection`](#django.contrib.gis.db.models.functions.Intersection) | [`MakeValid`](#django.contrib.gis.db.models.functions.MakeValid) | [`AsGML`](#django.contrib.gis.db.models.functions.AsGML) | [`MemSize`](#django.contrib.gis.db.models.functions.MemSize) |
| [`GeometryDistance`](#django.contrib.gis.db.models.functions.GeometryDistance) | [`Centroid`](#django.contrib.gis.db.models.functions.Centroid) | [`SymDifference`](#django.contrib.gis.db.models.functions.SymDifference) | [`Reverse`](#django.contrib.gis.db.models.functions.Reverse) | [`AsKML`](#django.contrib.gis.db.models.functions.AsKML) | [`NumGeometries`](#django.contrib.gis.db.models.functions.NumGeometries) |
| [`Length`](#django.contrib.gis.db.models.functions.Length) | [`Envelope`](#django.contrib.gis.db.models.functions.Envelope) | [`Union`](#django.contrib.gis.db.models.functions.Union) | [`Scale`](#django.contrib.gis.db.models.functions.Scale) | [`AsSVG`](#django.contrib.gis.db.models.functions.AsSVG) | [`NumPoints`](#django.contrib.gis.db.models.functions.NumPoints) |
| [`Perimeter`](#django.contrib.gis.db.models.functions.Perimeter) | [`LineLocatePoint`](#django.contrib.gis.db.models.functions.LineLocatePoint) |  | [`SnapToGrid`](#django.contrib.gis.db.models.functions.SnapToGrid) | [`AsWKB`](#django.contrib.gis.db.models.functions.AsWKB) |  |
|  | [`PointOnSurface`](#django.contrib.gis.db.models.functions.PointOnSurface) |  | [`Transform`](#django.contrib.gis.db.models.functions.Transform) | [`AsWKT`](#django.contrib.gis.db.models.functions.AsWKT) |  |
|  |  |  | [`Translate`](#django.contrib.gis.db.models.functions.Translate) | [`GeoHash`](#django.contrib.gis.db.models.functions.GeoHash) |  |

## `Area`

#### `class Area(expression, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-polygon-property-functions.html#function_st-area), Oracle, [PostGIS](https://postgis.net/docs/ST_Area.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie l’aire du champ sous forme de mesure [`Area`](/fr/3.1/ref/contrib/gis/measure/#django.contrib.gis.measure.Area).

MySQL et SpatiaLite sans LWGEOM ne prennent pas en charge les calculs d’aire sur des objets à système de référence géographique.

## `AsGeoJSON`

#### `class AsGeoJSON(expression, bbox=False, crs=False, precision=8, **extra)`

*Disponibilité* : MariaDB (≥ 10.2.4), [MySQL](https://dev.mysql.com/doc/refman/en/spatial-geojson-functions.html#function_st-asgeojson) (≥ 5.7.5), Oracle, [PostGIS](https://postgis.net/docs/ST_AsGeoJSON.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une représentation [GeoJSON](https://geojson.org/) de l’objet géométrique. Notez que le résultat ne constitue pas une structure GeoJSON complète, mais seulement le contenu de la clé `geometry` d’une structure GeoJSON. Voir aussi [Sérialisation GeoJSON](/fr/3.1/ref/contrib/gis/serializers/).

Exemple :

```
>>> City.objects.annotate(json=AsGeoJSON('point')).get(name='Chicago').json
{"type":"Point","coordinates":[-87.65018,41.85039]}
```

| Paramètre nommé | Description |
| --- | --- |
| `bbox` | À définir à `True` pour que le rectangle englobant soit inclus dans le contenu GeoJSON renvoyé. Ignoré avec Oracle. |
| `crs` | À définir à `True` pour que le système de référence de coordonnées soit inclus dans le format GeoJSON renvoyé. Ignoré avec MySQL et Oracle. |
| `precision` | Peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation GeoJSON, la valeur par défaut étant 8. Ignoré avec Oracle. |

> **Changed in Django 3.1**
>
> La prise en charge d’Oracle

## `AsGML`

#### `class AsGML(expression, version=2, precision=8, **extra)`

*Disponibilité* : Oracle, [PostGIS](https://postgis.net/docs/ST_AsGML.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une représentation [Geographic Markup Language (GML)](https://en.wikipedia.org/wiki/Geography_Markup_Language) du champ géométrique.

Exemple :

```
>>> qs = Zipcode.objects.annotate(gml=AsGML('poly'))
>>> print(qs[0].gml)
<gml:Polygon srsName="EPSG:4326"><gml:OuterBoundaryIs>-147.78711,70.245363 ...
-147.78711,70.245363</gml:OuterBoundaryIs></gml:Polygon>
```

| Paramètre nommé | Description |
| --- | --- |
| `precision` | Indique le nombre de chiffres significatifs des coordonnées de la représentation GML, la valeur par défaut étant 8. Ignoré avec Oracle. |
| `version` | Indique la version GML à utiliser : 2 (par défaut) ou 3. |

## `AsKML`

#### `class AsKML(expression, precision=8, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_AsKML.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une représentation [Keyhole Markup Language (KML)](https://developers.google.com/kml/documentation/) du champ géométrique.

Exemple :

```
>>> qs = Zipcode.objects.annotate(kml=AsKML('poly'))
>>> print(qs[0].kml)
<Polygon><outerBoundaryIs><LinearRing><coordinates>-103.04135,36.217596,0 ...
-103.04135,36.217596,0</coordinates></LinearRing></outerBoundaryIs></Polygon>
```

| Paramètre nommé | Description |
| --- | --- |
| `precision` | Ce paramètre peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation KML, la valeur par défaut étant 8. |

> **Changed in Django 3.1**
>
> Le paramètre non documenté `version` a été supprimé.

## `AsSVG`

#### `class AsSVG(expression, relative=False, precision=8, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_AsSVG.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une représentation [Scalable Vector Graphics (SVG)](https://www.w3.org/Graphics/SVG/) du champ géométrique.

| Paramètre nommé | Description |
| --- | --- |
| `relative` | Si défini à `True`, les données de chemin sont représentées en termes de déplacements relatifs. La valeur par défaut est `False` ce qui signifie que ce sont les déplacements absolus qui sont utilisés. |
| `precision` | Ce paramètre peut être utilisé pour indiquer le nombre de chiffres significatifs des coordonnées de la représentation SVG, la valeur par défaut étant 8. |

## `AsWKB`

#### `class AsWKB(expression, **extra)`

> **New in Django 3.1**

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-format-conversion-functions.html#function_st-asbinary), Oracle, [PostGIS](https://postgis.net/docs/ST_AsBinary.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une représentation [WKB (Well-known binary)](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry#Well-known_binary) du champ géométrique.

Exemple :

```
>>> bytes(City.objects.annotate(wkb=AsWKB('point')).get(name='Chelyabinsk').wkb)
b'\x01\x01\x00\x00\x00]3\xf9f\x9b\x91K@\x00X\x1d9\xd2\xb9N@'
```

## `AsWKT`

#### `class AsWKT(expression, **extra)`

> **New in Django 3.1**

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-format-conversion-functions.html#function_st-astext), Oracle, [PostGIS](https://postgis.net/docs/ST_AsText.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une représentation [WKT (Well-known text)](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) du champ géométrique.

Exemple :

```
>>> City.objects.annotate(wkt=AsWKT('point')).get(name='Chelyabinsk').wkt
'POINT (55.137555 61.451728)'
```

## `Azimuth`

#### `class Azimuth(point_a, point_b, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_Azimuth.html), SpatiaLite (LWGEOM)

Renvoie l’azimuth en radians du segment défini par les points géométriques donnés, ou `None` si les deux points coïncident. L’azimuth est un angle partant du nord et est positif dans le sens horaire : nord = `0`; est = `π/2`; sud = `π`; ouest = `3π/2`.

## `BoundingCircle`

#### `class BoundingCircle(expression, num_seg=48, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_MinimumBoundingCircle.html), [Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/18/spatl/SDO_GEOM-reference.html#GUID-82A61626-BB64-4793-B53D-A0DBEC91831A)

Accepte un seul champ ou expression géographique et renvoie le polygone cercle le plus petit pouvant contenir entièrement l’objet géométrique.

Le paramètre `num_seg` et utilisé uniquement avec PostGIS.

## `Centroid`

#### `class Centroid(expression, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-polygon-property-functions.html#function_st-centroid), [PostGIS](https://postgis.net/docs/ST_Centroid.html), Oracle, SpatiaLite

Accepte un seul champ ou expression géographique et renvoie la valeur centroïde de l’objet géométrique.

## `Difference`

#### `class Difference(expr1, expr2, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/spatial-operator-functions.html#function_st-difference), [PostGIS](https://postgis.net/docs/ST_Difference.html), Oracle, SpatiaLite

Accepte deux champs ou expressions géographiques et renvoie la différence géométrique, c’est-à-dire la part de l’objet A qui ne fait pas partie de son intersection avec l’objet B.

## `Distance`

#### `class Distance(expr1, expr2, spheroid=None, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/spatial-relation-functions-object-shapes.html#function_st-distance), [PostGIS](https://postgis.net/docs/ST_Distance.html), Oracle, SpatiaLite

Accepte deux champs ou expressions géographiques et renvoie la distance entre les deux sous forme d’objet [`Distance`](/fr/3.1/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance). Avec MySQL, un nombre à virgule est renvoyé lorsque les coordonnées sont de type géodétique.

Pour les bases de données qui permettent de calculer des distances avec des coordonnées géodésiques, la bonne fonction de base de données est automatiquement sélectionnée en fonction de la valeur SRID des objets géométriques (par ex. [ST\_DistanceSphere](https://postgis.net/docs/ST_DistanceSphere.html) avec PostGIS).

Lorsque les distances sont calculées avec des coordonnées géodésiques (angles), comme c’est le cas avec le SRID WGS84 (4326) par défaut, vous pouvez définir le paramètre nommé `spheroid` pour décider si le calcul doit se faire selon une sphère simple (moins précis, moins gourmand en ressources) ou sur un sphéroïde (plus précis, plus gourmand en ressources).

Dans l’exemple suivant, on calcule la distance entre la ville de Hobart vers tous les autres champs [`PointField`](/fr/3.1/ref/contrib/gis/model-api/#django.contrib.gis.db.models.PointField) du jeu de requête `AustraliaCity`:

```
>>> from django.contrib.gis.db.models.functions import Distance
>>> pnt = AustraliaCity.objects.get(name='Hobart').point
>>> for city in AustraliaCity.objects.annotate(distance=Distance('point', pnt)):
...     print(city.name, city.distance)
Wollongong 990071.220408 m
Shellharbour 972804.613941 m
Thirroul 1002334.36351 m
...
```

> **Note**
>
> Comme l’attribut `distance` est un objet [`Distance`](/fr/3.1/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance), il est facile d’exprimer cette valeur dans l’unité de son choix. Par exemple, `city.distance.mi` est la valeur de distance en milles et `city.distance.km` est la valeur de distance en kilomètres. Consultez [Objets de mesure](/fr/3.1/ref/contrib/gis/measure/) pour des détails d’utilisation et la liste des [Unités prises en charge](/fr/3.1/ref/contrib/gis/measure/#supported-units).

## `Envelope`

#### `class Envelope(expression, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-general-property-functions.html#function_st-envelope), [Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/18/spatl/SDO_GEOM-reference.html#GUID-646638D0-2C5F-490A-AF63-DE9B7A4C97C1__CHDJCEIH), [PostGIS](https://postgis.net/docs/ST_Envelope.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie l’objet géométrique représentant le rectangle englobant de l’objet.

## `ForcePolygonCW`

#### `class ForcePolygonCW(expression, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_ForcePolygonCW.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie une version modifiée du (multi)polygone pour lequel tous les chemins extérieurs sont orientés dans le sens horaire et tous les chemins intérieurs sont orientés dans le sens antihoraire. Les géométries qui ne sont pas des polygones sont renvoyées inchangées.

## `GeoHash`

#### `class GeoHash(expression, precision=None, **extra)`

*Disponibilité* : [MySQL](https://dev.mysql.com/doc/refman/en/spatial-geohash-functions.html#function_st-geohash) (≥  5.7.5), [PostGIS](https://postgis.net/docs/ST_GeoHash.html), SpatiaLite (LWGEOM)

Accepte un seul champ ou expression géographique et renvoie une représentation [GeoHash](https://en.wikipedia.org/wiki/Geohash) du champ géométrique.

Le paramètre nommé `precision` contrôle le nombre de caractères du résultat.

## `GeometryDistance`

#### `class GeometryDistance(expr1, expr2, **extra)`

> **New in Django 3.0**

*Disponibilité* : [PostGIS](https://postgis.net/docs/geometry_distance_knn.html)

Accepte deux champs ou expressions géographiques et renvoie la distance entre les deux. Lorsqu’on l’utilise dans une clause [`order_by()`](/fr/3.1/ref/models/querysets/#django.db.models.query.QuerySet.order_by), elle fournit des jeux de résultats selon le plus proche voisin sur la base des index.

## `Intersection`

#### `class Intersection(expr1, expr2, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/spatial-operator-functions.html#function_st-intersection), [PostGIS](https://postgis.net/docs/ST_Intersection.html), Oracle, SpatiaLite

Accepte deux champs ou expressions géographiques et renvoie leur intersection géométrique.

## `IsValid`

#### `class IsValid(expr)`

*Disponibilité* : [MySQL](https://dev.mysql.com/doc/refman/en/spatial-convenience-functions.html#function_st-isvalid) (≥ 5.7.5), [PostGIS](https://postgis.net/docs/ST_IsValid.html), Oracle, SpatiaLite (LWGEOM)

Accepte un champ ou une expression géographique et teste si la valeur est bien formée. Renvoie `True` si la valeur est un objet géométrique valide et `False` dans le cas contraire.

## `Length`

#### `class Length(expression, spheroid=True, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-linestring-property-functions.html#function_st-length), Oracle, [PostGIS](https://postgis.net/docs/ST_Length.html), SpatiaLite

Accepte un seul champ ou expression ligne ou multiligne géographique et renvoie sa longueur sous forme de mesure [`Distance`](/fr/3.1/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance).

Avec PostGIS ou SpatiaLite, et lorsque les coordonnées sont géodésiques (angles), vous pouvez définir avec le paramètre nommé `spheroid` si le calcul doit se faire selon une sphère simple (moins précis, moins gourmand en ressources) ou sur un sphéroïde (plus précis, plus gourmand en ressources).

MySQL ne prend pas en charge les calculs de longueur sur des objets à système de référence géographique.

## `LineLocatePoint`

#### `class LineLocatePoint(linestring, point, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_LineLocatePoint.html), SpatiaLite

Renvoie un nombre à virgule entre 0 et 1 représentant l’emplacement du point de `linestring` le plus proche du `point` indiqué, sous forme de fraction de la longueur de la ligne 2D.

## `MakeValid`

#### `class MakeValid(expr)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_MakeValid.html), SpatiaLite (LWGEOM)

Accepte un champ ou une expression géographique et essaye de convertir la valeur en une géométrie valide sans perdre aucun des segments originaux. Les objets déjà valides sont renvoyés tels quels. Des polygones simples peuvent devenir des multipolygones et le résultat peut être d’une dimension inférieure à l’objet en entrée.

## `MemSize`

#### `class MemSize(expression, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_MemSize.html)

Accepte un seul champ ou expression géographique et renvoie la taille mémoire (en octets) consommé par le champ géométrique.

## `NumGeometries`

#### `class NumGeometries(expression, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-geometrycollection-property-functions.html#function_st-numgeometries), [PostGIS](https://postgis.net/docs/ST_NumGeometries.html), Oracle, SpatiaLite

Accepte un seul champ ou expression géographique et renvoie le nombre d’objets géométriques dans le cas où le champ est une collection (par ex. `GEOMETRYCOLLECTION` ou un champ `MULTI*`). Renvoie 1 pour des objets géométriques uniques.

Avec MySQL, renvoie `None` pour des objets géométriques uniques.

## `NumPoints`

#### `class NumPoints(expression, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/gis-linestring-property-functions.html#function_st-numpoints), [PostGIS](https://postgis.net/docs/ST_NPoints.html), Oracle, SpatiaLite

Accepte un seul champ ou expression géographique et renvoie le nombre de points de l’objet géométrique.

Avec MySQL, renvoie `None` pour les objets géométriques autres que `LINESTRING`.

## `Perimeter`

#### `class Perimeter(expression, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_Perimeter.html), Oracle, SpatiaLite

Accepte un seul champ ou expression géographique et renvoie le périmètre du champ sous forme de mesure [`Distance`](/fr/3.1/ref/contrib/gis/measure/#django.contrib.gis.measure.Distance).

## `PointOnSurface`

#### `class PointOnSurface(expression, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_PointOnSurface.html), MariaDB, Oracle, SpatiaLite

Accepte un seul champ ou expression géographique et renvoie un objet `Point` qui se trouve avec certitude dans la surface du champ ; sinon renvoie `None`.

## `Reverse`

#### `class Reverse(expression, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_Reverse.html), Oracle, SpatiaLite

Accepte un seul champ ou expression géographique et renvoie un objet géométrique avec les coordonnées inversées.

## `Scale`

#### `class Scale(expression, x, y, z=0.0, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_Scale.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie un objet géométrique avec ses coordonnées mises à l’échelle en les multipliant par les paramètres `x`, `y` et facultativement, `z`.

## `SnapToGrid`

#### `class SnapToGrid(expression, *args, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_SnapToGrid.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie un objet géométrique dont tous les points sont ajustés à la grille donnée. La manière d’ajuster l’objet géométrique à la grille dépend du nombre de paramètres numériques fournis (des nombres à virgule, entiers ou entiers longs).

| Nombre de paramètres | Description |
| --- | --- |
| 1 | Une seule taille de cellule de grille (à la fois pour la taille X et Y). |
| 2 | Tailles X et Y de cellule de grille. |
| 4 | Tailles de cellule X et Y ainsi que coordonnées X et Y de l’origine de la grille. |

## `SymDifference`

#### `class SymDifference(expr1, expr2, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/spatial-operator-functions.html#function_st-symdifference), [PostGIS](https://postgis.net/docs/ST_SymDifference.html), Oracle, SpatiaLite

Accepte deux champs ou expressions géographiques et renvoie la différence géométrique symétrique (union sans l’intersection) entre les paramètres données.

## `Transform`

#### `class Transform(expression, srid, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_Transform.html), Oracle, SpatiaLite

Accepte un champ ou expression géographique et un code SRID nombre entier, et renvoie l’objet géométrique transformé dans le système de référence spatiale indiqué par le paramètre `srid`.

> **Note**
>
> La correspondance entre les numéros de SRID et les systèmes de référence spatiale peut dépendre du moteur spatial utilisé. Par exemple, les numéros SRID utilisés par Oracle ne sont pas forcément les mêmes que ceux utilisés par PostGIS.

## `Translate`

#### `class Translate(expression, x, y, z=0.0, **extra)`

*Disponibilité* : [PostGIS](https://postgis.net/docs/ST_Translate.html), SpatiaLite

Accepte un seul champ ou expression géographique et renvoie un objet géométrique avec ses coordonnées décalées en fonction des paramètres `x`, `y` et facultativement, `z`.

## `Union`

#### `class Union(expr1, expr2, **extra)`

*Disponibilité* : MariaDB, [MySQL](https://dev.mysql.com/doc/refman/en/spatial-operator-functions.html#function_st-union), [PostGIS](https://postgis.net/docs/ST_Union.html), Oracle, SpatiaLite

Accepte deux champs ou expressions géographiques et renvoie l’union des deux.
