Was ist der Unterschied zwischen den räumlichen Prädikaten "Covers" und "Contains"?

9

Ich versuche, die räumlichen Prädikate der DE-9IM-Schnittmatrix zu verstehen . Ich verstehe den Unterschied zwischen den Prädikaten Covers (bzw. CoveredBy ) und Contains (bzw. Within ) nicht.

Ich versuche, Geometrien mit JTS Topology Suite zu zeichnen , sie sind immer Covers = True und Contains = True (oder beide sind falsch), aber ich schaffe es nicht, sie unterschiedlich zu machen, dh den Unterschied zwischen Coversund zu erkennen Contains. Hat jemand ein Beispiel (vorzugsweise eine WKT oder ein Bild), das den Unterschied veranschaulicht?

Wernfried Domscheit
quelle

Antworten:

14

Schauen Sie sich Martin Davis (Schöpfer der JTS Topology Suite ) an, Lin.ear th.inking: Macken des räumlichen Prädikats "Enthält"

  1. Geometrie A enthält Geometrie B, wenn keine Punkte von B außerhalb von A liegen und mindestens ein Punkt des Inneren von B im Inneren von A liegt
  2. Geometrie A deckt Geometrie B ab, wenn keine Punkte von B außerhalb von A liegen

Um diese Bedingung zu bestimmen, muss lediglich ein einfacher Begrenzungsrahmenvergleich durchgeführt werden. Dies ist mit enthält nicht möglich, da selbst wenn der Begrenzungsrahmen der Geometrie vom Rechteck abgedeckt wird, eine weitere teure Operation erforderlich ist, um zu testen, ob die Geometrie vollständig an der Grenze des Rechtecks ​​liegt (in diesem Fall schlägt das Prädikat fehl). Covers "vereinfacht" die Definition von enthält, indem es allgemeiner (einschließlich) gemacht wird.

Wenn Sie sich DE-9IM ansehen , können Sie sehen, dass (T*****FF*)es sich bei einem bestimmten Fall um Abdeckungen handelt(T*****FF*, *T****FF*, ***T**FF*)

Zum Beispiel impliziert die Definition von enthält, dass ein Polygon seine Grenze nicht enthält, aber ein Polygon seine Grenze abdeckt.

Geben Sie hier die Bildbeschreibung ein

Gen
quelle