Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrátí křivku zadanou z instance geometrie, která je LineString, CircularString, CompoundCurve nebo MultiLineString.
Syntax
.STCurveN ( curve_index )
Arguments
curve_index
Je int výraz mezi 1 a počtem křivek v instanci geometrie .
Návratové typy
Návratový typ SQL Serveru: geometrie
Návratový typ CLR: SqlGeometry
Exceptions
Pokud curve_index< 1, vyvolá se chyba ArgumentOutOfRangeException .
Remarks
Hodnota NULL se vrátí v případě, že dojde k některé z následujících situací:
instance geometrie je deklarována, ale není vytvořena instance.
instance geometrie je prázdná.
curve_index překračuje počet křivek v instanci geometrie .
instance geometrie je point, MultiPoint, Polygon, CurvePolygon nebo MultiPolygon.
Examples
A. Použití STCurveN() v instanci CircularString
Následující příklad vrátí druhou křivku CircularString v instanci:
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();
Příklad dříve v tomto tématu vrátí:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. Použití STCurveN() v instanci CompoundCurve s jednou instancí CircularString
Následující příklad vrátí druhou křivku CompoundCurve v instanci:
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();
Příklad dříve v tomto tématu vrátí:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. Použití STCurveN() v instanci CompoundCurve se třemi instancemi CircularString
Následující příklad používá CompoundCurve instanci, která kombinuje tři samostatné CircularString instance do stejné sekvence křivky jako předchozí příklad:
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();
Příklad dříve v tomto tématu vrátí:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
Všimněte si, že výsledky jsou stejné pro předchozí tři příklady. Podle toho, který formát WKT (Dobře známý text) se používá k zadání stejné sekvence křivky, výsledky vrácené STCurveN() při použití instance jsou stejné CompoundCurve .
D. Ověření parametru před voláním stCurveN()
Následující příklad ukazuje, jak před voláním @nmetody ověřitSTCurveN(), zda je platný:
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
Viz také
STNumCurves (geometrický datový typ)
metody OGC v instancích geometrie