Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_DFullyWithin

Dernière mise à jour :Sep 02, 2026

Renvoie true si g2 est entièrement située à une distance inférieure ou égale à distance de g1 ; autrement dit, chaque point de g2 se trouve dans la zone tampon définie autour de g1. Renvoie false si au moins un point de g2 se situe en dehors de cette zone tampon.

Syntaxe

boolean ST_DFullyWithin(geometry g1, geometry g2, double precision distance);

Paramètres

Paramètre Type Description
g1 geometry Objet géométrique de référence.
g2 geometry Objet géométrique à tester par rapport à g1.
distance double precision Seuil de distance. L'unité dépend du système de référence spatiale (SRS) des objets géométriques.

Remarques d'utilisation

  • Les objets g1 et g2 doivent utiliser la même projection et partager le même identifiant de référence spatiale (SRID).

  • La fonction utilise automatiquement les comparaisons de boîtes englobantes ainsi que tous les index disponibles sur les objets géométriques pour optimiser les performances.

Différences entre ST_DFullyWithin et ST_DWithin

La fonction ST_DFullyWithin exige que tous les points de g2 soient situés à une distance inférieure ou égale à distance de g1. En revanche, ST_DWithin requiert uniquement que les deux géométries possèdent au moins un point situé à une distance inférieure ou égale à distance l'une de l'autre. ST_DFullyWithin impose donc une contrainte plus stricte.

L'exemple suivant applique les deux fonctions aux mêmes géométries avec une valeur de distance = 2 :

SELECT
    ST_DFullyWithin(g1, g2, 2) AS dfullywithin2,
    ST_DWithin(g1, g2, 2)      AS dwithin2
FROM (
    VALUES (
        'LINESTRING(0 1,1 1)'::geometry,
        'LINESTRING(0 0,0 -1)'::geometry
    )
) AS t(g1, g2);

 dfullywithin2 | dwithin2
---------------+----------
 f             | t
(1 row)

Certains points de g2 s'étendent au-delà de la zone tampon de distance 2 autour de g1 ; par conséquent, ST_DFullyWithin renvoie f. Les points les plus proches des deux lignes se situent toutefois à une distance inférieure ou égale à 2, ce qui explique que ST_DWithin renvoie t.

Voir aussi

  • ST_DWithin — Vérifie si deux géométries possèdent au moins un point situé à une distance spécifiée l'une de l'autre.