Delen via


STDifference (geometriegegevenstype)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Retourneert een object dat de puntenset vertegenwoordigt van het ene geometrie-exemplaar dat niet binnen een ander geometrieexemplaren ligt.

Syntax

  
.STDifference ( other_geometry )  

Arguments

other_geometry
Is een andere geometrieinstantie die aangeeft welke punten moeten worden verwijderd uit het exemplaar waarop STDifference() wordt aangeroepen.

Retourtypen

Retourtype SQL Server: geometrie

CLR-retourtype: SqlGeometry

Remarks

Deze methode retourneert altijd null als de ruimtelijke referentie-id's (SRID's) van de geometrie-exemplaren niet overeenkomen. Het resultaat mag alleen cirkelvormige boogsegmenten bevatten als de invoerexemplaren cirkelvormige boogsegmenten bevatten.

Examples

A. Het verschil tussen twee polygoonexemplaren berekenen

In het volgende voorbeeld wordt het STDifference() verschil tussen twee veelhoeken berekend.

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. STDifference() aanroepen op een CurvePolygon-exemplaar

In het volgende voorbeeld wordt STDifference() gebruikt voor een CurvePolygon-exemplaar.

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

Zie ook

OGC-methoden voor geometrieexemplaren