Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar kurvan som anges från en geografiinstans som är en LineString, CircularString eller CompoundCurve.
Syntax
.STCurveN( n )
Arguments
n
Är ett int-uttryck mellan 1 och antalet kurvor i geografiinstansen.
Returtyper
SQL Server-returtyp: geografi
CLR-returtyp: SqlGeography
Exceptions
Om n < 1 genereras en ArgumentOutOfRangeException .
Remarks
NULL returneras när följande villkor inträffar.
Geografiinstansen deklareras, men instansieras inte
Geografiinstansen är tom
n överskrider antalet kurvor i geografiinstansen (se STNumCurves (geografidatatyp)
Dimensionen för geografiinstansen är inte lika med (se STDimension (geografidatatyp)
Examples
A. Använda STCurveN() på en CircularString
I följande exempel returneras den andra kurvan i en CircularString-instans :
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();
Exemplet returnerar.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
B. Använda STCurveN() på en CompoundCurve
I följande exempel returneras den andra kurvan i en CompoundCurve-instans :
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();
Exemplet returnerar.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
C. Använda STCurveN() på en CompoundCurve som innehåller tre CircularStrings
I följande exempel används en CompoundCurve-instans som kombinerar tre separata CircularString-instanser i samma kurvsekvens som föregående exempel:
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();
Exemplet returnerar.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
STCurveN() returnerar samma resultat oavsett Well-Known textformat (WKT) som används.
D. Testa för giltighet innan du anropar STCurve()
I följande exempel visas hur du ser till att n är giltigt innan du anropar metoden STCurveN():
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