ST_CoveredBy — Testar om varje punkt i A ligger i B
boolean ST_CoveredBy(
geometry geomA, geometry geomB)
;
boolean ST_CoveredBy(
geography geogA, geography geogB)
;
Returnerar true
om varje punkt i Geometry/Geography A ligger inuti (dvs. skär insidan eller gränsen av) Geometry/Geography B. Testar på motsvarande sätt att ingen punkt i A ligger utanför (i utsidan av) B.
I matematiska termer: ST_CoveredBy(A, B) ⇔ A ⋂ B = A
ST_CoveredBy är det omvända av ST_Covers. Så ST_CoveredBy(A,B) = ST_Covers(B,A).
.
Generellt bör denna funktion användas istället för ST_Within, eftersom den har en enklare definition som inte har den egenheten att "gränser inte ligger inom sin geometri".
![]() |
|
&index_aware; För att undvika indexanvändning, använd funktionen |
![]() |
|
Förbättrad: 3.0.0 aktiverade stöd för |
![]() |
|
Använd inte denna funktion med ogiltiga geometrier. Du kommer att få oväntade resultat. |
Utförs av GEOS-modulen
Tillgänglighet: 1.2.2
OBS: detta är den "tillåtna" versionen som returnerar ett boolean, inte ett heltal.
Inte en OGC-standard, men Oracle har den också.
--a circle coveredby a circle SELECT ST_CoveredBy(smallc,smallc) As smallinsmall, ST_CoveredBy(smallc, bigc) As smallcoveredbybig, ST_CoveredBy(ST_ExteriorRing(bigc), bigc) As exteriorcoveredbybig, ST_Within(ST_ExteriorRing(bigc),bigc) As exeriorwithinbig FROM (SELECT ST_Buffer(ST_GeomFromText('POINT(1 2)'), 10) As smallc, ST_Buffer(ST_GeomFromText('POINT(1 2)'), 20) As bigc) As foo; --Result smallinsmall | smallcoveredbybig | exteriorcoveredbybig | exeriorwithinbig --------------+-------------------+----------------------+------------------ t | t | t | f (1 row)