Condividi tramite


STDifference (tipo di dati geometry)

Restituisce un oggetto che rappresenta il punto impostato da un'istanza geometry che non si trova all'interno di un'altra istanza geometry.

Sintassi

.STDifference ( other_geometry )

Argomenti

  • other_geometry
    Altra istanza geometry che indica i punti da rimuovere dall'istanza sulla quale viene richiamato STDifference().

Tipi restituiti

SQL Server - Tipo restituito: geometry

CLR - Tipo restituito: SqlGeometry

Osservazioni

Questo metodo restituisce sempre Null se gli identificatori SRID delle istanze geometry non corrispondono. Il risultato può contenere segmenti di arco circolare solo se le istanze di input contengono segmenti di arco circolare.

Esempi

A.Calcolo della differenza tra due istanze Polygon

Nell'esempio seguente viene utilizzato STDifference() per calcolare la differenza tra due poligoni.

DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STDifference(@h).ToString();

B.Chiamata di STDifference() in un'istanza CurvePolygon

Nell'esempio seguente viene utilizzato STDifference() in un'istanza CurvePolygon.

DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';

DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';

-- Note the different results returned by the two SELECT statements

SELECT @h.STDifference(@g).ToString(), @g.STDifference(@h).ToString();

Vedere anche

Altre risorse

Metodi OGC sulle istanze di geometria