Not
Å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 geometriinstans som är en LineString, CircularString, CompoundCurve eller MultiLineString.
Syntax
.STCurveN ( curve_index )
Arguments
curve_index
Är ett int-uttryck mellan 1 och antalet kurvor i geometriinstansen .
Returtyper
SQL Server-returtyp: geometri
CLR-returtyp: SqlGeometry
Exceptions
Om curve_index< 1 kastas en ArgumentOutOfRangeException .
Remarks
NULL returneras när något av följande inträffar:
geometriinstansen deklareras men instansieras inte
geometriinstansen är tom
curve_index överskrider antalet kurvor i geometriinstansen
geometriinstansen är en Punkt, MultiPoint, Polygon, CurvePolygon eller MultiPolygon
Examples
A. Använda STCurveN() på en CircularString-instans
I följande exempel returneras den andra kurvan i en CircularString instans:
DECLARE @g geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';
SELECT @g.STCurveN(2).ToString();
Exemplet tidigare i det här avsnittet returnerar:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. Använda STCurveN() på en CompoundCurve-instans med en CircularString-instans
I följande exempel returneras den andra kurvan i en CompoundCurve instans:
DECLARE @g geometry = 'COMPOUNDCURVE(CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0))';
SELECT @g.STCurveN(2).ToString();
Exemplet tidigare i det här avsnittet returnerar:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. Använda STCurveN() på en CompoundCurve-instans med tre CircularString-instanser
I följande exempel används en CompoundCurve instans som kombinerar tre separata CircularString instanser i samma kurvsekvens som i föregående exempel:
DECLARE @g geometry = 'COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 2.1082, 3 6.3246), CIRCULARSTRING(3 6.3246, 0 7, -3 6.3246), CIRCULARSTRING(-3 6.3246, -1 2.1082, 0 0))';
SELECT @g.STCurveN(2).ToString();
Exemplet tidigare i det här avsnittet returnerar:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
Observera att resultatet är detsamma för de föregående tre exemplen. Oavsett vilket WKT-format (välkänd text) som används för att ange samma kurvsekvens är resultatet som returneras av STCurveN() detsamma när en CompoundCurve instans används.
D. Validera parametern innan du anropar STCurveN()
I följande exempel visas hur du ser @n till att det är giltigt innan du anropar STCurveN()metoden:
DECLARE @g geometry;
DECLARE @n int;
SET @n = 3;
SET @g = geometry::Parse('CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)');
IF @n >= 1 AND @n <= @g.STNumCurves()
BEGIN
SELECT @g.STCurveN(@n).ToString();
END
Se även
STNumCurves (geometridatatyp)
OGC-metoder för geometriinstanser