Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca krzywą określoną z wystąpienia geometrii, które jest LineString, CircularString, CompoundCurve lub MultiLineString.
Syntax
.STCurveN ( curve_index )
Arguments
curve_index
Jest wyrażeniem int z zakresu od 1 do liczby krzywych w wystąpieniu geometrii .
Typy zwracane
Zwracany typ programu SQL Server: geometria
Typ zwracania CLR: SqlGeometry
Exceptions
Jeśli curve_index< 1, zostanie zgłoszony.ArgumentOutOfRangeException
Remarks
Wartość NULL jest zwracana, gdy wystąpi dowolny z następujących:
wystąpienie geometrii jest zadeklarowane, ale nie zostało utworzone wystąpienie
wystąpienie geometrii jest puste
curve_index przekracza liczbę krzywych w wystąpieniu geometrii
wystąpienie geometrii to Punkt, MultiPoint, Wielokąt, KrzywaPolygon lub MultiPolygon
Examples
A. Używanie metody STCurveN() w wystąpieniu CircularString
Poniższy przykład zwraca drugą krzywą w wystąpieniu CircularString :
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();
Przykład we wcześniejszej części tego tematu zwraca następujące elementy:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. Używanie metody STCurveN() w wystąpieniu CompoundCurve z jednym wystąpieniem cyklicznym
Poniższy przykład zwraca drugą krzywą w wystąpieniu CompoundCurve :
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();
Przykład we wcześniejszej części tego tematu zwraca następujące elementy:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. Używanie metody STCurveN() w wystąpieniu CompoundCurve z trzema wystąpieniami cyklicznymi
W poniższym przykładzie użyto CompoundCurve wystąpienia, które łączy trzy oddzielne CircularString wystąpienia w tej samej sekwencji krzywej co w poprzednim przykładzie:
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();
Przykład we wcześniejszej części tego tematu zwraca następujące elementy:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
Zwróć uwagę, że wyniki są takie same w przypadku poprzednich trzech przykładów. Niezależnie od formatu WKT (dobrze znanego tekstu) jest używany do wprowadzania tej samej sekwencji krzywej, wyniki zwracane przez STCurveN() program są takie same, gdy CompoundCurve jest używane wystąpienie.
D. Sprawdzanie poprawności parametru przed wywołaniem metody STCurveN()
W poniższym przykładzie pokazano, jak upewnić się, że @n przed wywołaniem metody jest prawidłowa STCurveN():
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
Zobacz też
STNumCurves (typ danych geometrycznych)
metody OGC w wystąpieniach geometrycznych