STCurveN (geography-Datentyp)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Gibt die Kurve zurück, die von einer Instanz von geography angegeben wurde und eine LineString, CircularStringoder CompoundCurveist.

Syntax

  
.STCurveN( n )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

n
Ein int -Ausdruck zwischen 1 und der Anzahl der Kurven in der geography -Instanz.

Rückgabetypen

SQL Server-Rückgabetyp: geography

CLR-Rückgabetyp: SqlGeography

Ausnahmen

Wenn n < 1 ist, wird ArgumentOutOfRangeException ausgelöst.

Hinweise

NULL wird zurückgegeben, wenn die folgenden Kriterien erfüllt sind.

Beispiele

A. Verwenden von STCurveN() für einen CircularString

Im folgenden Beispiel wird die zweite Kurve in einer Instanz von CircularString zurückgegeben:

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

Die Rückgabe des Beispiels lautet wie folgt.

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

B. Verwenden von STCurveN() für eine CompoundCurve

Im folgenden Beispiel wird die zweite Kurve in einer Instanz von CompoundCurve zurückgegeben:

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

Die Rückgabe des Beispiels lautet wie folgt.

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

C. Verwenden von STCurveN() für eine CompoundCurve mit drei CircularStrings

Im folgenden Beispiel wird eine Instanz von CompoundCurve , die drei separate Instanzen von CircularString kombiniert, in der gleichen Kurvensequenz wie im vorherigen Beispiel zurückgegeben:

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

Die Rückgabe des Beispiels lautet wie folgt.

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

STCurveN() gibt unabhängig vom verwendeten WKT-Format (Well-Known Text) die gleichen Ergebnisse zurück.

D. Testen auf Gültigkeit vor dem Aufrufen von STCurve()

Im folgenden Beispiel wird gezeigt, wie Sie sicherstellen, dass n gültig ist, bevor Sie die Methode STCurve() aufrufen:

 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

Weitere Informationen

OGC-Methoden für geography-Instanzen