Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Retourneert de curve die is opgegeven vanuit een geometrie-exemplaar dat een LineString-, CircularString-, CompoundCurve- of MultiLineString-instantie is.
Syntax
.STCurveN ( curve_index )
Arguments
curve_index
Is een int-expressie tussen 1 en het aantal curven in het geometrieexemplaren .
Retourtypen
Retourtype SQL Server: geometrie
CLR-retourtype: SqlGeometry
Exceptions
Als curve_index< 1 wordt er een ArgumentOutOfRangeException gegooid.
Remarks
NULL wordt geretourneerd wanneer een van de volgende situaties plaatsvindt:
het geometrie-exemplaar wordt gedeclareerd, maar niet geïnstantieerd
het geometrieexemplaren leeg zijn
curve_index overschrijdt het aantal curven in het geometrieexemplaren
het geometrieexemplaren is een punt, multipoint, veelhoek, curvepolygon of multipolygon
Examples
A. STCurveN() gebruiken op een CircularString-exemplaar
In het volgende voorbeeld wordt de tweede curve in een CircularString exemplaar geretourneerd:
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();
Het voorbeeld eerder in dit onderwerp retourneert:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. STCurveN() gebruiken op een CompoundCurve-exemplaar met één CircularString-exemplaar
In het volgende voorbeeld wordt de tweede curve in een CompoundCurve exemplaar geretourneerd:
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();
Het voorbeeld eerder in dit onderwerp retourneert:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. STCurveN() gebruiken op een CompoundCurve-exemplaar met drie CircularString-exemplaren
In het volgende voorbeeld wordt een CompoundCurve exemplaar gebruikt dat drie afzonderlijke CircularString exemplaren combineert in dezelfde curvereeks als in het vorige voorbeeld:
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();
Het voorbeeld eerder in dit onderwerp retourneert:
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
U ziet dat de resultaten hetzelfde zijn voor de vorige drie voorbeelden. Welke WKT-indeling (bekende tekst) ook wordt gebruikt om dezelfde curvereeks in te voeren, de resultaten die worden geretourneerd STCurveN() , zijn hetzelfde wanneer een CompoundCurve exemplaar wordt gebruikt.
D. De parameter valideren voordat STCurveN() wordt aangeroepen
In het volgende voorbeeld ziet u hoe u ervoor kunt zorgen dat deze @n geldig is voordat u de STCurveN()methode aanroept:
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
Zie ook
STNumCurves (geometriegegevenstype)
OGC-methoden voor geometrieexemplaren