Freigeben über


STCurveN (geography-Datentyp)

Gibt die Kurve zurück, die von einer Instanz von geography angegeben wurde und eine LineString, CircularString oder CompoundCurve ist.

Syntax

.STCurveN( n )

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

Bei n < 1 wird eine 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 sichergestellt wird, dass n gültig ist, bevor Sie die STCurveN() -Methode 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

Siehe auch

Andere Ressourcen

OGC-Methoden für geography-Instanzen