STCurveN (geometry-Datentyp)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
SQL Analytics-Endpunkt in Microsoft Fabric
Warehouse in Microsoft Fabric Warehouse in Microsoft Fabric
Gibt die von einer Instanz von geometry angegebene Kurve zurück, bei der es sich um eine LineString, CircularString, CompoundCurveoder MultiLineStringhandelt.
Syntax
.STCurveN ( curve_index )
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
curve_index
Ein int -Ausdruck zwischen 1 und der Anzahl der Kurven in der geometry -Instanz.
Rückgabetypen
SQL Server-Rückgabetyp: geometry
CLR-Rückgabetyp: SqlGeometry
Ausnahmen
Wenn curve_index< 1 ist, wird der Fehler ArgumentOutOfRangeException
ausgelöst.
Bemerkungen
NULL wird in folgenden Fällen zurückgegeben:
Die geometry -Instanz ist deklariert, aber nicht instanziiert.
Die geometry -Instanz ist leer.
curve_index überschreitet die Anzahl der Kurven in der geometry -Instanz.
Bei der geometry -Instanz handelt es sich um einen Point, MultiPoint, ein Polygon, CurvePolygonoder MultiPolygon
Beispiele
A. Verwenden von STCurveN() in einer CircularString-Instanz
Im folgenden Beispiel wird die zweite Kurve in einer Instanz von CircularString
zurückgegeben:
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();
Im weiter oben in diesem Thema angegebenen Beispiel wird Folgendes zurückgegeben:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. Verwenden von STCurveN() in einer CompoundCurve-Instanz mit einer CircularString-Instanz
Im folgenden Beispiel wird die zweite Kurve in einer Instanz von CompoundCurve
zurückgegeben:
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();
Im weiter oben in diesem Thema angegebenen Beispiel wird Folgendes zurückgegeben:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. Verwenden von STCurveN() in einer CompoundCurve-Instanz mit drei CircularString-Instanzen
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 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();
Im weiter oben in diesem Thema angegebenen Beispiel wird Folgendes zurückgegeben:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
Die Ergebnisse sind für die vorherigen drei Beispiele gleich. Unabhängig vom WKT (Well-known Text)-Format, das bei der Eingabe der gleichen Kurvensequenz verwendet wird, die von STCurveN()
zurückgegebenen Ergebnisse sind bei Verwendung einer CompoundCurve
-Instanz gleich.
D: Überprüfen des Parameters vor Aufruf von STCurveN()
Im folgenden Beispiel wird gezeigt, wie die Gültigkeit von @n
vor dem Aufruf der STCurveN()
-Methode sichergestellt wird:
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
Siehe auch
STNumCurves (geometry-Datentyp)
OGC-Methoden für geometry-Instanzen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für