Catégories :

Fonctions géospatiales

ST_DWITHIN

Renvoie TRUE si la distance géodésique minimale entre deux points est dans la distance spécifiée. Sinon, renvoie FALSE.

Si les paramètres sont des valeurs GEOGRAPHY qui ne sont pas des points (par exemple, des lignes ou des polygones), cela renvoie TRUE ou FALSE en fonction de la distance géodésique minimale entre les deux points les plus proches des deux valeurs.

Syntaxe

ST_DWITHIN( <geography_expression_1> , <geography_expression_2> , <distance_in_meters> )

Arguments

expression_géographie_1

L’argument doit être une expression de type GEOGRAPHY.

expression_géographie_2

L’argument doit être une expression de type GEOGRAPHY.

distance_en_mètres

L’argument doit être une expression de type REAL. La distance est en mètres.

Renvoie

Renvoie un BOOLEAN.

Notes sur l’utilisation

  • Renvoie NULL si une entrée est NULL.

  • L’expression :

    ST_DWITHIN(g1, g2, distance_expression)
    

    est équivalente à :

    ST_DISTANCE(g1, g2) <= distance_expression
    

    mais s’exécute plus rapidement dans certains cas.

Exemples

Cela renvoie TRUE car la distance en mètres entre deux points distants de 1 degré le long de l’équateur est inférieure à 150 000 mètres :

SELECT ST_DWITHIN (ST_MAKEPOINT(0, 0), ST_MAKEPOINT(1, 0), 150000);
+-------------------------------------------------------------+
| ST_DWITHIN (ST_MAKEPOINT(0, 0), ST_MAKEPOINT(1, 0), 150000) |
|-------------------------------------------------------------|
| True                                                        |
+-------------------------------------------------------------+