STCurveN (geografiegegevenstype)

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

Retourneert de curve die is opgegeven vanuit een geografisch exemplaar dat een LineString-, CircularString- of CompoundCurve is.

Syntax

  
.STCurveN( n )  

Arguments

n
Is een int-expressie tussen 1 en het aantal curven in het geografische exemplaar.

Retourtypen

Retourtype SQL Server: geografie

CLR-retourtype: SqlGeography

Exceptions

Als n < 1 wordt er een ArgumentOutOfRangeException gegenereerd.

Remarks

NULL wordt geretourneerd wanneer de volgende criteria optreedt.

Examples

A. STCurveN() gebruiken op een CircularString

In het volgende voorbeeld wordt de tweede curve in een CircularString-exemplaar geretourneerd:

 DECLARE @g geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';  
 SELECT @g.STCurveN(2).ToString();

Het voorbeeld retourneert.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

B. STCurveN() gebruiken op een CompoundCurve

In het volgende voorbeeld wordt de tweede curve in een CompoundCurve-instantie geretourneerd:

 DECLARE @g geography = 'COMPOUNDCURVE(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
 SELECT @g.STCurveN(2).ToString();

Het voorbeeld retourneert.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

C. STCurveN() gebruiken op een CompoundCurve met drie circularStrings

In het volgende voorbeeld wordt een CompoundCurve-exemplaar gebruikt dat drie afzonderlijke CircularString-exemplaren combineert in dezelfde curvereeks als in het vorige voorbeeld:

 DECLARE @g geography = 'COMPOUNDCURVE (CIRCULARSTRING (-122.358 47.653, -122.348 47.649, -122.348 47.658), CIRCULARSTRING(-122.348 47.658, -122.358 47.658, -122.358 47.653))';  
 SELECT @g.STCurveN(2).ToString();

Het voorbeeld retourneert.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

STCurveN() retourneert dezelfde resultaten, ongeacht de indeling Well-Known Text (WKT) die wordt gebruikt.

D. Testen op geldigheid voordat STCurve() wordt aangeroepen

In het volgende voorbeeld ziet u hoe u ervoor kunt zorgen dat n geldig is voordat u de methode STCurveN() aanroept:

 DECLARE @g geography;  
 DECLARE @n int;  
 SET @n = 2;  
 SET @g = geography::Parse('LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)');  
 IF @n >= 1 AND @n <= @g.STNumCurves()  
 BEGIN  
 SELECT @g.STCurveN(@n).ToString();  
 END

Zie ook

OGC-methoden voor geografieexemplaren