Sdílet prostřednictvím


STDifference (datový typ geometrie)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrátí objekt, který představuje bod množinu z jedné instance geometrie , která není v rámci jiné instance geometrie .

Syntax

  
.STDifference ( other_geometry )  

Arguments

other_geometry
Je další instance geometrie označující, které body mají být odebrány z instance, na které STDifference() je vyvolána.

Návratové typy

Návratový typ SQL Serveru: geometrie

Návratový typ CLR: SqlGeometry

Remarks

Tato metoda vždy vrátí hodnotu null, pokud id prostorového odkazu (SRID) instancí geometrie neodpovídají. Výsledek může obsahovat kruhové obloukové segmenty pouze v případě, že vstupní instance obsahují kruhové obloukové segmenty.

Examples

A. Výpočet rozdílu mezi dvěma instancemi Polygonu

Následující příklad používá STDifference() k výpočtu rozdílu mezi dvěma mnohoúhelníky.

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. Vyvolání funkce STDifference() v instanci CurvePolygon

Následující příklad používá STDifference() u instance 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();

Viz také

metody OGC v instancích geometrie