Name

ST_CoveredBy — Prüft, ob jeder Punkt von A in B liegt

Synopsis

boolean ST_CoveredBy(geometry geomA, geometry geomB);

boolean ST_CoveredBy(geography geogA, geography geogB);

Beschreibung

Gibt true zurück, wenn jeder Punkt in Geometrie/Geografie A innerhalb von Geometrie/Geografie B liegt (d. h. das Innere oder die Grenze von B schneidet). Gleichbedeutend wird getestet, dass kein Punkt von A außerhalb von B liegt.

Mathematisch ausgedrückt: ST_CoveredBy(A, B) ⇔ A ⋂ B = A

ST_CoveredBy ist die Umkehrung von ST_Covers. ST_CoveredBy(A,B) = ST_Covers(B,A).

Im Allgemeinen sollte diese Funktion anstelle von ST_Within verwendet werden, da sie eine einfachere Definition hat, die nicht die Eigenart hat, dass "Grenzen nicht innerhalb ihrer Geometrie liegen".

[Note]

Diese Funktion beinhaltet automatisch einen Bounding-Box-Vergleich, der alle räumlichen Indizes verwendet, die für die Geometrien verfügbar sind. Um die Verwendung von Indizes zu vermeiden, verwenden Sie die Funktion _ST_CoveredBy.

[Important]

Verbessert: 3.0.0 ermöglicht die Unterstützung von GEOMETRYCOLLECTION

[Important]

Verwenden Sie diese Funktion nicht mit ungültigen Geometrien. Sie werden unerwartete Ergebnisse erhalten.

Wird durch das GEOS Modul ausgeführt

Verfügbarkeit: 1.2.2

HINWEIS: Dies ist die "zulässige" Version, die einen booleschen Wert und keine ganze Zahl zurückgibt.

Kein OGC-Standard, aber Oracle hat ihn auch.

Beispiele

--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)