Mengembalikan true jika g2 sepenuhnya berada dalam jarak distance dari g1—artinya, setiap titik pada g2 berada di dalam buffer berjarak g1. Mengembalikan false jika terdapat titik pada g2 yang berada di luar buffer tersebut.
Sintaksis
boolean ST_DFullyWithin(geometry g1, geometry g2, double precision distance);Parameter
| Parameter | Type | Description |
|---|---|---|
g1 | geometry | Objek geometri referensi. |
g2 | geometry | Objek geometri yang diuji terhadap g1. |
distance | double precision | Ambang batas jarak. Satuan ditentukan oleh sistem referensi spasial (SRS) objek geometri. |
Catatan penggunaan
Kedua objek
g1dang2harus menggunakan proyeksi yang sama dan memiliki identifier referensi spasial (SRID) yang identik.Fungsi ini secara otomatis memanfaatkan perbandingan kotak pembatas dan semua indeks yang tersedia pada objek geometri untuk mengoptimalkan kinerja.
ST_DFullyWithin vs. ST_DWithin
ST_DFullyWithin mensyaratkan bahwa setiap titik pada g2 berada dalam jarak distance dari g1. Sebaliknya, ST_DWithin hanya mensyaratkan bahwa kedua geometri memiliki setidaknya satu titik yang berada dalam jarak distance satu sama lain. Dengan demikian, ST_DFullyWithin bersifat lebih ketat.
Contoh berikut menerapkan kedua fungsi tersebut pada geometri yang sama dengan 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)g2 memiliki titik-titik yang berada di luar buffer berjarak 2 dari g1, sehingga ST_DFullyWithin mengembalikan f. Titik-titik terdekat dari kedua linestring tersebut berada dalam jarak 2 satu sama lain, sehingga ST_DWithin mengembalikan t.
Lihat juga
ST_DWithin — Menguji apakah dua geometri memiliki setidaknya satu titik yang berada dalam jarak tertentu satu sama lain.