Tous les produits
Search
Centre de documentation

Simple Log Service:Fonctions géospatiales

Dernière mise à jour :Aug 12, 2026

Cette rubrique présente la syntaxe de base et des exemples d'utilisation des fonctions géospatiales.

Concepts géospatiaux

Les fonctions géospatiales portant le préfixe ST_ sont conformes à la norme SQL/MM et à la spécification OpenGIS de l'Open Geospatial Consortium (OGC). Elles utilisent le format Well-Known Text (WKT) pour décrire des géométries telles que des points, des lignes et des polygones. Le tableau suivant répertorie les géométries prises en charge ainsi que leur format WKT correspondant.

Géométrie

Format WKT

Point

POINT (0 0)

Ligne

LINESTRING (0 0, 1 1, 1 2)

Polygone

POLYGON((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))

Multipoint

MULTIPOINT(0 0, 1 2)

Multiligne

MULTILINESTRING((0 0, 1 1, 1 2), (2 3, 3 2, 5 4))

Multipolygone

MULTIPOLYGON(((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), ((-1 -1, -1 -2, -2 -2, -2 -1, -1 -1)))

Collection de géométries

GEOMETRYCOLLECTION(POINT(2 3), LINESTRING(2 3, 3 4))

Fonctions

Type

Fonction

Syntaxe

Description

SQL

SPL

Constructeurs

Fonction ST_AsText

ST_AsText(x)

Renvoie la représentation Well-Known Text (WKT) d'une géométrie.

×

Fonction ST_GeometryFromText

ST_GeometryFromText(x)

Construit une géométrie à partir d'une représentation WKT.

×

Fonction ST_LineFromText

ST_LineFromText(x)

Crée une ligne à partir d'une représentation WKT.

×

Fonction ST_Polygon

ST_Polygon(x)

Génère un polygone depuis une représentation WKT.

×

Fonction ST_Point

ST_Point(x, y)

Définit un point à partir des coordonnées X et Y.

×

Opérateurs

Fonction ST_Boundary

ST_Boundary(x)

Renvoie la limite d'une géométrie.

×

Fonction ST_Buffer

ST_Buffer(x, distance)

Retourne une géométrie englobant tous les points situés à une distance spécifiée de la géométrie d'entrée.

×

Fonction ST_Difference

ST_Difference(x, y)

Renvoie la partie de la première géométrie qui ne coupe pas la seconde.

×

Fonction ST_Envelope

ST_Envelope(x)

Calcule le rectangle englobant d'une géométrie.

×

Fonction ST_ExteriorRing

ST_ExteriorRing(x)

Renvoie une ligne représentant l'anneau extérieur d'un polygone.

×

Fonction ST_Intersection

ST_Intersection(x, y)

Produit une géométrie correspondant à l'intersection de deux géométries.

×

Fonction ST_SymDifference

ST_SymDifference(x, y)

Renvoie une géométrie représentant les parties des géométries d'entrée qui ne se croisent pas.

×

Tests de relations spatiales

Fonction ST_Contains

ST_Contains(x, y)

Renvoie true si la première géométrie contient la seconde. Leurs limites peuvent se toucher.

×

Fonction ST_Crosses

ST_Crosses(x, y)

Renvoie true si les géométries se croisent.

×

Fonction ST_Disjoint

ST_Disjoint(x, y)

Renvoie true si les deux géométries n'ont aucun point en commun.

×

Fonction ST_Equals

ST_Equals(x, y)

Renvoie true si les deux géométries sont identiques.

×

Fonction ST_Intersects

ST_Intersects(x, y)

Renvoie true si les deux géométries ont une intersection.

×

Fonction ST_Overlaps

ST_Overlaps(x, y)

Renvoie true si deux géométries se chevauchent. Ce cas se produit lorsqu'elles ont la même dimension et que leur intersection forme une géométrie de même dimension, sans être égales.

×

Fonction ST_Relate

ST_Relate(x, y, patternMatrix string)

Renvoie true si les deux géométries satisfont au modèle de relation spatiale spécifié.

×

Fonction ST_Touches

ST_Touches(x, y)

Renvoie true si les deux géométries se touchent par leurs limites, sans que leurs intérieurs ne se croisent.

×

Fonction ST_Within

ST_Within(x, y)

Renvoie true si la première géométrie est entièrement contenue dans la seconde.

×

Accesseurs

Fonction ST_Area

ST_Area(x)

Renvoie l'aire cartésienne 2D d'une géométrie.

×

Fonction ST_Centroid

ST_Centroid(x)

Renvoie le centroïde géométrique d'une géométrie.

×

Fonction ST_CoordDim

ST_CoordDim(x)

Indique la dimension des coordonnées d'une géométrie.

×

Fonction ST_Dimension

ST_Dimension(x)

Renvoie la dimension intrinsèque d'une géométrie, nécessairement inférieure ou égale à la dimension des coordonnées.

×

Fonction ST_Distance

ST_Distance(x, y)

Calcule la distance minimale entre deux géométries.

×

Fonction ST_EndPoint

ST_EndPoint(x)

Renvoie le dernier point d'une ligne.

×

Fonction ST_IsClosed

ST_IsClosed(x)

Renvoie true si les points de départ et d'arrivée d'une ligne coïncident.

×

Fonction ST_IsEmpty

ST_IsEmpty(x)

Renvoie true si la géométrie spécifiée est vide.

×

Fonction ST_IsRing

ST_IsRing(x)

Renvoie true si une ligne est fermée et simple (formant un anneau).

×

Fonction ST_Length

ST_Length(x)

Renvoie la longueur cartésienne 2D d'une ligne. Pour une multiligne, cette fonction retourne la somme des longueurs de ses éléments.

×

Fonction ST_NumPoints

ST_NumPoints(x)

Compte le nombre de points (sommets) d'une géométrie.

×

Fonction ST_NumInteriorRing

ST_NumInteriorRing(x)

Indique le nombre d'anneaux intérieurs d'un polygone.

×

Fonction ST_StartPoint

ST_StartPoint(x)

Renvoie le premier point d'une ligne.

×

Fonction ST_X

ST_X(x)

Extrait la coordonnée X d'un point.

×

Fonction ST_XMax

ST_XMax(x)

Renvoie la coordonnée X maximale d'une géométrie.

×

Fonction ST_XMin

ST_XMin(x)

Renvoie la coordonnée X minimale d'une géométrie.

×

Fonction ST_Y

ST_Y(x)

Extrait la coordonnée Y d'un point.

×

Fonction ST_YMax

ST_YMax(x)

Renvoie la coordonnée Y maximale d'une géométrie.

×

Fonction ST_YMin

ST_YMin(x)

Renvoie la coordonnée Y minimale d'une géométrie.

×

Tuiles Bing

Fonction bing_tile

bing_tile(x, y, zoom_level)

Renvoie une tuile Bing à partir des coordonnées X et Y et du niveau de zoom spécifiés.

×

bing_tile(quadKey)

Génère une tuile Bing à partir de la clé quadtree indiquée.

×

Fonction bing_tile_at

bing_tile_at(x, y, zoom_level)

Renvoie une tuile Bing correspondant à la latitude, la longitude et le niveau de zoom fournis.

×

Fonction bing_tile_coordinates

bing_tile_coordinates(x)

Renvoie les coordonnées X et Y d'une tuile Bing.

×

Fonction bing_tile_polygon

bing_tile_polygon(x)

Convertit une tuile Bing en sa représentation polygonale.

×

Fonction bing_tile_quadkey

bing_tile_quadkey(x)

Renvoie la clé quadtree d'une tuile Bing.

×

Fonction bing_tile_zoom_level

bing_tile_zoom_level(x)

Indique le niveau de zoom d'une tuile Bing.

×

Fonction ST_AsText

Renvoie la représentation WKT d'une géométrie.

Syntax

ST_AsText(x)

Parameters

Paramètre

Description

x

Géométrie d'entrée.

Return value type

Le type de retour est varchar.

Examples

L'exemple suivant renvoie la représentation WKT d'un point.

  • Requête

    * | SELECT ST_AsText(ST_Point(1,1))
  • Résultat de la requête et de l'analyse : POINT (1 1).

Fonction ST_GeometryFromText

Construit une géométrie à partir d'une représentation Well-Known Text (WKT).

Syntax

ST_GeometryFromText(x)

Parameters

Paramètre

Description

x

Ce paramètre doit être de type varchar.

Return value type

geometry

Examples

Construction d'un multipolygone.

  • Requête

    * | SELECT ST_GeometryFromText('multipolygon(((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))')
  • La requête renvoie MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((50 40, 50 50, 60 50, 60 40, 50 40))).

Fonction ST_LineFromText

Crée une ligne à partir d'un texte WKT.

Syntax

ST_LineFromText(x)

Parameters

Paramètre

Description

x

Valeur de type varchar.

Return value type

Type linestring

Examples

Construction d'une ligne.

  • Requête

    * | SELECT ST_LineFromText('linestring(10 10,20 20)')
  • Résultats de la requête : LINESTRING (10 10, 20 20).

Fonction ST_Polygon

La fonction ST_Polygon génère un polygone à partir d'une représentation WKT.

Syntax

ST_Polygon(x)

Parameters

Paramètre

Description

x

Doit être une valeur varchar.

Return value type

polygon

Examples

Création d'un polygone.

  • Requête et analyse

    * | SELECT ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))')
  • Le résultat est POLYGON ((10 10, 20 15, 20 20, 10 20, 10 10)).

Fonction ST_Point

Construit un point à partir des coordonnées X et Y spécifiées.

Syntax

ST_Point(x, y)

Parameters

Parameter

Description

x

Coordonnée X du point. Le type de données doit être DOUBLE.

y

Coordonnée Y du point. Le type de données doit être DOUBLE.

Return value type

point

Examples

Construction d'un point.

  • Requête

    * | SELECT ST_Point(0,0)
  • Le résultat de la requête est au format WKT : POINT (0 0)

Fonction ST_Boundary

La fonction ST_Boundary renvoie la limite d'une géométrie.

  • La limite d'un point est vide. La fonction renvoie POINT EMPTY.

  • Celle d'une chaîne de lignes correspond à ses points d'extrémité.

  • Pour un polygone, elle se compose des chaînes de lignes formant son anneau extérieur ainsi que tous ses anneaux intérieurs.

Syntax

ST_Boundary(x)

Parameters

Parameter

Description

x

Valeur de type geography.

Return value type

geography type

Examples

Utilisez la fonction ST_Polygon pour construire un polygone, puis récupérez sa limite avec la fonction ST_Boundary.

  • Requête

    * | SELECT  ST_Boundary(ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))'))
  • La requête renvoie LINESTRING (10 10, 20 15, 20 20, 10 20, 10 10).

Fonction ST_Buffer

La fonction ST_Buffer renvoie une géométrie englobant tous les points situés à une distance spécifiée d'une géométrie d'entrée.

Syntax

ST_Buffer(x, distance)

Parameters

Parameter

Description

x

Géométrie d'entrée.

distance

Distance du tampon.

Return value type

geometry

Examples

Cet exemple utilise la fonction ST_Point pour construire un point, puis la fonction ST_Buffer afin de créer un polygone à une distance définie de ce point.

  • Requête

    * | SELECT ST_Buffer(ST_Point(1,1),1)
  • La requête renvoie une valeur POLYGON approximant un cercle. Ce polygone comprend de nombreux points de coordonnées, commençant par (2 1, 1.9978589232386...).

Fonction ST_Difference

Renvoie une géométrie représentant la différence ensembliste entre deux géométries.

Syntax

ST_Difference(x, y)

Parameters

Parameter

Description

x

Valeur géométrique.

y

Valeur géométrique.

Return value type

Valeur géométrique.

Examples

Construisez deux géométries avec la fonction ST_GeometryFromText, puis calculez leur différence ensembliste à l'aide de la fonction ST_Difference.

  • Instruction de requête et d'analyse

    * |
    SELECT
      ST_Difference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,0 15,0 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) AS "Difference"
  • La requête renvoie le résultat suivant : MULTIPOLYGON (((0 10, 10 10, 10 17.5, 0 15, 0 10)), ((50 40, 60 40, 50 50, 50 40))).

Fonction ST_Envelope

Renvoie le cadre englobant d'une géométrie.

Syntax

ST_Envelope(x)

Parameters

Parameter

Description

x

Valeur géométrique.

Return value type

geometry

Examples

Cet exemple crée une géométrie via la fonction ST_GeometryFromText et obtient son cadre englobant grâce à la fonction ST_Envelope.

  • Instruction de requête et d'analyse

    * |
    SELECT
      ST_Envelope(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • La requête renvoie POLYGON ((10 10, 60 10, 60 50, 10 50, 10 10)).

Fonction ST_ExteriorRing

Renvoie l'anneau extérieur d'une géométrie sous forme de chaîne de lignes.

Syntax

ST_ExteriorRing(x)

Parameters

Parameter

Description

x

Géométrie polygonale ou multipolygonale d'entrée.

Return value type

geometry

Examples

Cet exemple emploie ST_GeometryFromText pour bâtir une géométrie et ST_ExteriorRing pour en extraire l'anneau extérieur.

  • Requête

    * |
    SELECT
      ST_ExteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La requête renvoie LINESTRING (10 10, 10 20, 20 20, 20 15, 10 10).

ST_Intersection

Renvoie l'intersection de deux géométries.

Syntax

ST_Intersection(x, y)

Parameters

Parameter

Description

x

Première géométrie.

y

Seconde géométrie.

Return value type

geometry

Examples

Dans cet exemple, on construit deux géométries avec la fonction ST_GeometryFromText avant de calculer leur intersection via la fonction ST_Intersection.

  • Requête

    * |
    SELECT
      ST_Intersection(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • Résultats de la requête : MULTIPOLYGON (((10 10, 10 20, 20 20, 20 15, 10 10)), ((50 40, 50 50, 60 50, 60 40, 50 40)))

Fonction ST_SymDifference

Renvoie une géométrie représentant la différence symétrique entre deux géométries.

Syntax

ST_SymDifference(x, y)

Parameters

Parameter

Description

x

Géométrie.

y

Géométrie.

Return value type

geometry

Examples

L'exemple ci-dessous construit deux géométries à l'aide de la fonction ST_GeometryFromText, puis applique la fonction ST_SymDifference pour obtenir leur différence symétrique.

  • Requête

    * |
    SELECT
      ST_SymDifference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La requête renvoie GEOMETRYCOLLECTION EMPTY.

Fonction ST_Contains

ST_Contains renvoie true si la première géométrie contient la seconde. Les deux géométries peuvent se croiser au niveau de leurs limites.

Syntax

ST_Contains(x, y)

Parameters

Parameter

Description

x

Première géométrie d'entrée.

y

Seconde géométrie d'entrée.

Return value type

boolean

Examples

Cet exemple vérifie si un polygone contient un point donné.

  • Requête

    * |
    SELECT
      ST_Contains(
        ST_GeometryFromText(
          'polygon((10 10,10 20,20 20,20 15,10 10))'
        ),
        ST_GeometryFromText(
          'point(11 11)'
        )
      )
  • La requête renvoie true.

Fonction ST_Crosses

La fonction ST_Crosses renvoie true lorsque deux géométries partagent des points intérieurs communs.

Syntax

ST_Crosses(x, y)

Parameters

Parameter

Description

x

Valeur géométrique.

y

Valeur géométrique.

Return value type

Valeur booléenne.

Examples

Ici, on utilise la fonction ST_GeometryFromText pour définir deux géométries, puis la fonction ST_Crosses afin de déterminer si elles possèdent des points intérieurs communs.

  • Requête

    * |
    SELECT
      ST_Crosses(
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 50)))'
        )
      )
  • La requête renvoie false.

ST_Disjoint

La fonction ST_Disjoint vérifie si deux géométries sont disjointes. Elle renvoie true lorsqu'elles ne s'intersectent pas.

Syntax

ST_Disjoint(x, y)

Parameters

Parameter

Description

x

Valeur géométrique.

y

Valeur géométrique.

Return value type

boolean

Examples

Cet exemple construit deux géométries avec ST_GeometryFromText, puis recourt à ST_Disjoint pour vérifier leur intersection éventuelle.

  • Requête

    * |
    SELECT
       ST_Disjoint(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La requête renvoie false.

Fonction ST_Equals

La fonction ST_Equals détermine si deux géométries sont identiques et renvoie true dans ce cas.

Syntax

ST_Equals(x, y)

Parameters

Parameter

Description

x

Première géométrie.

y

Seconde géométrie.

Return value type

boolean

Examples

Cet exemple se sert de la fonction ST_GeometryFromText pour créer deux géométries, puis teste leur identité au moyen de la fonction ST_Equals.

  • Requête

    * |
    SELECT
       ST_Equals(
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La requête renvoie false.

Fonction ST_Intersects

Renvoie true si les projections planes de deux géométries s'intersectent.

Syntax

ST_Intersects(x, y)

Parameters

Parameter

Description

x

Valeur de type geometry.

y

Valeur de type geometry.

Return value type

boolean

Examples

Employez la fonction ST_GeometryFromText pour construire deux géométries, puis la fonction ST_Intersects pour contrôler leur intersection.

  • Exemple de requête

    * |
    SELECT
       ST_Intersects(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • Le résultat de la requête et de l'analyse est true.

Fonction ST_Overlaps

La fonction ST_Overlaps renvoie true lorsque deux géométries de même dimension se chevauchent sans qu'aucune ne contienne entièrement l'autre.

Syntax

ST_Overlaps(x, y)

Parameters

Parameter

Description

x

Première géométrie d'entrée.

y

Seconde géométrie d'entrée.

Return value type

boolean

Examples

Dans cet exemple, deux géométries sont construites via la fonction ST_GeometryFromText, puis leur chevauchement est testé avec la fonction ST_Overlaps.

  • Instruction de requête et d'analyse

    * |
    SELECT
      ST_Overlaps(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La requête renvoie false.

Fonction ST_Relate

La fonction ST_Relate établit si deux géométries sont liées en examinant l'intersection de leurs intérieurs ou de leurs limites. Elle renvoie true le cas échéant.

Syntax

ST_Relate(x, y, patternMatrix string)

Parameters

Parameter

Description

x

Valeur géométrique.

y

Valeur géométrique.

patternMatrix string

Chaîne de matrice de motif DE-9IM. La valeur est de type varchar.

Return value type

boolean

Examples

Cet exemple bâtit deux géométries à l'aide de la fonction ST_GeometryFromText, puis invoque la fonction ST_Relate pour vérifier leur relation spatiale.

  • Requête

    * |
    SELECT
      ST_Relate(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),  '****T****'
      )
  • La requête renvoie true.

Fonction ST_Touches

La fonction ST_Touches renvoie true si deux géométries se touchent par leurs limites sans que leurs intérieurs ne s'intersectent.

Syntax

ST_Touches(x, y)

Parameters

Parameter

Description

x

Première géométrie.

y

Seconde géométrie.

Return value type

Renvoie une valeur boolean.

Examples

La requête suivante utilise la fonction ST_GeometryFromText pour créer deux géométries et la fonction ST_Touches pour vérifier leur contact.

  • Requête

    * |
    SELECT
       ST_Touches(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La requête renvoie false.

Fonction ST_Within

La fonction ST_Within renvoie true si la première géométrie se trouve entièrement à l'intérieur de la seconde et que leurs limites ne s'intersectent pas.

Syntax

ST_Within(x, y)

Parameters

Parameter

Description

x

Première géométrie d'entrée.

y

Seconde géométrie d'entrée.

Return value type

boolean

Examples

Cet exemple construit deux géométries via la fonction ST_GeometryFromText, puis applique la fonction ST_Within pour déterminer si la première est totalement contenue dans la seconde.

  • Instruction de requête et d'analyse

    * |
    SELECT
      ST_Within(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • La requête renvoie false.

Fonction ST_Area

La fonction ST_Area calcule l'aire projetée d'une géométrie sur un plan bidimensionnel en utilisant la distance euclidienne.

Syntax

ST_Area(x)

Parameters

Parameter

Description

x

Géométrie d'entrée.

Return value type

double

Examples

Cet exemple calcule l'aire d'un multipolygone.

  • Requête

    * |
    SELECT
      ST_Area(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Renvoie -25.0.

Fonction ST_Centroid

La fonction ST_Centroid renvoie le centre mathématique d'une géométrie d'entrée sous forme de point.

Syntax

ST_Centroid(x)

Parameters

Parameter

Description

x

Géométrie d'entrée.

Return value type

geometry

Examples

Cet exemple calcule le centroïde d'une géométrie multipolygonale.

  • Instruction de requête et d'analyse

    * |
    SELECT
      ST_Centroid(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • L'instruction renvoie POINT (176.66666666666669 131.66666666666669).

Fonction ST_CoordDim

La fonction ST_CoordDim renvoie la dimension des coordonnées d'une géométrie.

Syntax

ST_CoordDim(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

Return value type

bigint

Examples

Utilisez la fonction ST_GeometryFromText pour construire une géométrie, puis appelez ST_CoordDim pour obtenir sa dimension de coordonnées.

  • Requête

    * |
    SELECT
      ST_CoordDim(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Le résultat de la requête est 2.

Fonction ST_Dimension

Renvoie la dimension intrinsèque d'une géométrie. Cette valeur ne peut pas dépasser la dimension des coordonnées.

Syntax

ST_Dimension(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

  • Si x est un point ou une géométrie vide, la fonction renvoie 0.

  • Pour une chaîne de lignes, la valeur retournée est 1.

  • Un polygone retourne la valeur 2.

  • Dans le cas d'une collection de géométries, la fonction renvoie la dimension maximale parmi les géométries contenues dans cette collection.

Return value type

bigint

Examples

Cet exemple utilise ST_Dimension pour déterminer la dimension intrinsèque d'une géométrie créée via ST_GeometryFromText.

  • Requête

    * |
    SELECT
      ST_Dimension(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Le résultat de la requête est 2.

Fonction ST_Distance

Renvoie la distance minimale entre deux géométries.

Syntax

ST_Distance(x, y)

Parameters

Parameter

Description

x

Une valeur de type geometry.

y

Une valeur de type geometry.

Return value type

double

Examples

L'exemple suivant crée deux géométries à l'aide de ST_GeometryFromText, puis calcule leur distance minimale avec ST_Distance.

  • Requête

    * |
    SELECT
      ST_Distance(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Le résultat obtenu est 0.0.

Fonction ST_EndPoint

ST_EndPoint renvoie le dernier point d'une chaîne de lignes.

Syntax

ST_EndPoint(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

Return value type

Une valeur de type point.

Examples

Construisez une chaîne de lignes avec ST_LineFromText, puis utilisez ST_EndPoint pour en extraire le dernier point.

  • Requête et analyse

    * |
    SELECT
      ST_EndPoint(
        ST_LineFromText(
          'linestring (10 10,20 20)'
        )
      )
  • Résultat : POINT (20 20).

ST_IsClosed

La fonction ST_IsClosed renvoie true si la géométrie est fermée.

Syntax

ST_IsClosed(x)

Parameters

Parameter

Description

x

La géométrie à vérifier.

Return value type

Une valeur booléenne.

Examples

Cet exemple construit une chaîne de lignes avec ST_LineFromText et vérifie si elle est fermée au moyen de ST_IsClosed.

  • Requête

    * |
    SELECT
      ST_IsClosed(
        ST_LineFromText(
          'linestring (10.05 10.28 , 20.95 20.89 )'
        )
      )
  • Résultat de la requête : false

Fonction ST_IsEmpty

La fonction ST_IsEmpty renvoie true lorsque la géométrie fournie en entrée est vide.

Syntax

ST_IsEmpty(x)

Parameters

Parameter

Description

x

L'entrée doit être une valeur de type geometry.

Return value type

Une valeur booléenne.

Examples

Créez un point avec la fonction ST_Point, puis vérifiez s'il est vide à l'aide de ST_IsEmpty.

  • Requête

    * | SELECT ST_IsEmpty(ST_Point(1,1))
  • Les résultats de la requête et de l'analyse sont false.

Fonction ST_IsRing

La fonction ST_IsRing renvoie true si la géométrie d'entrée constitue un anneau (une chaîne de lignes simple et fermée).

Syntax

ST_IsRing(x)

Parameters

Parameter

Description

x

Le paramètre doit être de type geometry.

Return value type

Boolean

Examples

Cet exemple construit une chaîne de lignes avec ST_LineFromText, puis vérifie s'il s'agit d'un anneau grâce à ST_IsRing.

  • Requête

    * |
    SELECT
      ST_IsRing(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89 )'
        )
      )
  • La requête renvoie false.

Fonction ST_Length

La fonction ST_Length calcule la longueur projetée en 2D d'une chaîne de lignes selon la distance euclidienne. Pour une multichaîne de lignes, elle retourne la somme des longueurs des chaînes qui la composent.

Syntax

ST_Length(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

Return value type

Une valeur de type double.

Examples

Utilisez ST_LineFromText pour construire une chaîne de lignes, puis ST_Length pour en calculer la longueur.

  • Requête

    * |
    SELECT
      ST_Length(
        ST_LineFromText(
          'linestring (10.05 10.28,20.95 20.89)'
        )
      )
  • La requête renvoie 15.211249126879752.

Fonction ST_NumPoints

Renvoie le nombre de points contenus dans une géométrie.

Syntax

ST_NumPoints(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

Return value type

bigint

Examples

Cet exemple construit d'abord une chaîne de lignes avec la fonction ST_LineFromText, puis utilise ST_NumPoints pour en compter les points.

  • Requête

    * |
    SELECT
      ST_NumPoints(
        ST_LineFromText('linestring (10 10,20 20)')
      )
  • Résultat de la requête : 2

Fonction ST_NumInteriorRing

Renvoie le nombre d'anneaux intérieurs d'une géométrie.

Syntax

ST_NumInteriorRing(x)

Parameters

Parameter

Description

x

Un objet géométrique.

Return value type

Une valeur bigint.

Examples

L'exemple ci-dessous emploie ST_GeometryFromText pour créer une géométrie et ST_NumInteriorRing afin de dénombrer ses anneaux intérieurs.

  • Requête

    * |
    SELECT
      ST_NumInteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La requête renvoie 1.

Fonction ST_StartPoint

Renvoie le premier point d'une chaîne de lignes.

Syntax

ST_StartPoint(x)

Parameters

Parameter

Description

x

Spécifie la chaîne de lignes d'entrée.

Return value type

point

Examples

Cet exemple crée une chaîne de lignes avec la fonction ST_LineFromText, puis en extrait le premier point via ST_StartPoint.

  • Requête

    * |
    SELECT
      ST_StartPoint(
        ST_LineFromText(
          'linestring (10 10,20 20 )'
        )
      )
  • Résultats de la requête et de l'analyse : POINT (10 10).

Fonction ST_X

Renvoie la coordonnée X d'un point fourni en entrée.

Syntax

ST_X(x)

Parameters

Parameter

Description

x

Le paramètre doit être un point.

Return value type

Le type de retour est double.

Examples

Cet exemple utilise la fonction ST_Point pour construire un point et ST_X pour en obtenir la coordonnée X.

  • Requête

    * | SELECT ST_X(ST_Point(1,3))
  • La requête renvoie 1.0.

Fonction ST_XMax

ST_XMax renvoie la coordonnée x maximale d'une géométrie.

Syntax

ST_XMax(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

Return value type

Renvoie une valeur double.

Examples

Utilisez la fonction ST_GeometryFromText pour construire une géométrie, puis ST_XMax pour récupérer sa coordonnée x maximale.

  • Requête

    * |
    SELECT
      ST_XMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • La requête renvoie 60.0.

Fonction ST_XMin

La fonction ST_XMin renvoie la coordonnée x minimale d'une géométrie.

Syntax

ST_XMin(x)

Parameters

Parameter

Description

x

La géométrie d'entrée.

Return value type

double

Examples

Cet exemple construit une géométrie avec la fonction ST_GeometryFromText, puis utilise ST_XMin pour en extraire la coordonnée x minimale.

  • Requête

    * |
    SELECT
      ST_XMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Résultats de la requête : 10.0

Fonction ST_Y

Renvoie la coordonnée y d'un point fourni en entrée.

Syntax

ST_Y(x)

Parameters

Parameter

Description

x

Une valeur de type point.

Return value type

Une valeur de type double.

Examples

Cet exemple utilise la fonction ST_Point pour créer un point et la fonction ST_Y pour récupérer sa coordonnée y.

  • Requête et analyse

    * | SELECT ST_Y(ST_Point(1,3))
  • Résultats de la requête et de l'analyse : 3.0

Fonction ST_YMax

La fonction ST_YMax renvoie la coordonnée y maximale d'une géométrie.

Syntax

ST_YMax(x)

Parameters

Parameter

Description

x

Une valeur de type geometry.

Return value type

double

Examples

Cet exemple construit une géométrie avec la fonction ST_GeometryFromText et renvoie sa coordonnée y maximale via la fonction ST_YMax.

  • Requête et analyse

    * |
    SELECT
      ST_YMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Le résultat de la requête et de l'analyse est 50.0.

Fonction ST_YMin

Renvoie la coordonnée Y minimale d'une géométrie.

Syntax

ST_YMin(x)

Parameters

Parameter

Description

x

La géométrie d'entrée.

Return value type

double

Examples

Cet exemple utilise la fonction ST_GeometryFromText pour construire une géométrie et la fonction ST_YMin pour en obtenir la coordonnée Y minimale.

  • Requête et analyse

    * |
    SELECT
      ST_YMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • Le résultat est 10.0.

bing_tile

La fonction bing_tile crée une tuile Bing.

Syntax

  • Crée une tuile Bing à partir d'une coordonnée x, d'une coordonnée y et d'un niveau de zoom.

    bing_tile(x, y, zoom_level)
  • Génère une tuile Bing à partir d'une clé quadtree.

    bing_tile(quadKey)

Parameters

Parameter

Description

x

La coordonnée x. Doit être un entier.

y

La coordonnée y. Doit être un entier.

zoom_level

Le niveau de zoom. Doit être un entier compris entre 1 et 23.

quadKey

La clé quadtree.

Return value type

Renvoie une tuile Bing.

Examples

  • Exemple 1 : Création d'une tuile Bing à partir d'une coordonnée x, d'une coordonnée y et d'un niveau de zoom.

    • Requête

      * | SELECT bing_tile(10, 20, 20)
    • Résultats de la requête et de l'analyse : {"x":10,"y":20,"zoom":20}

  • Exemple 2 : Génération d'une tuile Bing à partir d'une clé quadtree.

    • Requête

      * | SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 20)))
    • Résultats de la requête et de l'analyse : {"x":10,"y":20,"zoom":20}

Fonction Bing_tile_at

La fonction bing_tile_at crée une tuile Bing à partir d'une latitude, d'une longitude et d'un niveau de zoom.

Syntax

bing_tile_at(x, y, zoom_level)

Parameters

Parameter

Description

x

La latitude, sous forme de valeur double comprise dans l'intervalle [-85.05112878, 85.05112878].

y

La longitude, sous forme de valeur double comprise dans l'intervalle [-180, 180].

zoom_level

Le niveau de zoom, sous forme d'entier compris entre 1 et 23.

Return value type

Un objet BingTile.

Examples

Cet exemple crée une tuile Bing.

  • Requête

    * | SELECT bing_tile_at(47.265511, -122.465691, 12)
  • La requête renvoie {"x":654,"y":1436,"zoom":12}.

Fonction bing_tile_coordinates

Renvoie les coordonnées X et Y d'une tuile Bing spécifiée.

Syntax

bing_tile_coordinates(x)

Parameters

Parameter

Description

x

Une valeur BingTile.

Return value type

Renvoie un tableau de deux entiers : [X, Y].

Examples

Cet exemple récupère les coordonnées d'une tuile Bing donnée.

  • Requête

    * | SELECT bing_tile_coordinates(bing_tile_at(47.265511, -122.465691, 12))
  • Résultat : [654,1436].

bing_tile_polygon

Renvoie la représentation polygonale d'une tuile Bing.

Syntax

bing_tile_polygon(x)

Parameters

Parameter

Description

x

Valeur BingTile.

Return value type

polygon

Examples

Cet exemple renvoie la représentation polygonale d'une tuile Bing.

  • Instruction de requête

    * | SELECT bing_tile_polygon(bing_tile_at(30.26, 120.19, 12))
  • Résultat de la requête : POLYGON ((120.146484375 30.297017883372042, 120.146484375 30.221101852485987, 120.234375 30.221101852485987, 120.234375 30.297017883372042, 120.146484375 30.297017883372042))

Bing_tile_quadkey

La fonction bing_tile_quadkey renvoie la clé quadtree d'une tuile Bing.

Syntax

bing_tile_quadkey(x)

Parameters

Parameter

Description

x

Valeur BingTile.

Return value type

varchar

Examples

L'exemple suivant convertit une tuile aux coordonnées (10, 20) avec un niveau de zoom 20 en sa clé quadtree correspondante.

  • Instruction de requête

    * | SELECT bing_tile_quadkey(bing_tile(10, 20, 20))
  • La requête renvoie la clé quadtree 000000000000021210.

Fonction bing_tile_zoom_level

Renvoie le niveau de zoom d'une tuile Bing.

Syntax

bing_tile_zoom_level(x)

Parameters

Parameter

Description

x

Objet BingTile.

Return value type

double

Examples

L'exemple ci-dessous calcule le niveau de zoom pour une tuile Bing spécifique.

  • Instruction de requête

    * | SELECT bing_tile_zoom_level(bing_tile(10, 20, 20))
  • Résultat de la requête : 20.