STCurveN (type de données geometry)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Retourne la courbe spécifiée à partir d’une instance geometry qui est LineString, CircularString, CompoundCurve ou MultiLineString.
Syntaxe
.STCurveN ( curve_index )
Arguments
curve_index
Expression int comprise entre 1 et le nombre de courbes de l’instance geometry.
Types de retour
Type de retour SQL Server : geometry
Type de retour CLR : SqlGeometry
Exceptions
Si curve_index< 1, ArgumentOutOfRangeException
est levé.
Remarques
NULL est retourné dans l’une des situations suivantes :
L’instance geometry est déclarée, mais pas instanciée
L’instance geometry est vide
curve_index dépasse le nombre de courbes de l’instance geometry
L’instance geometry est une instance Point, MultiPoint, Polygon, CurvePolygon ou MultiPolygon
Exemples
R. Utilisation de STCurveN() sur une instance CircularString
L'exemple suivant retourne la deuxième courbe dans une instance 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();
L'exemple précédent de cette rubrique retourne :
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
B. Utilisation de STCurveN() sur une instance CompoundCurve avec une instance CircularString
L'exemple suivant retourne la deuxième courbe dans une instance 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();
L'exemple précédent de cette rubrique retourne :
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
C. Utilisation de STCurveN() sur une instance CompoundCurve avec trois instances CircularString
L'exemple suivant utilise une instance CompoundCurve
qui combine trois instances CircularString
distinctes dans la même séquence de courbes que l'exemple précédent :
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();
L'exemple précédent de cette rubrique retourne :
CIRCULARSTRING (3 6.3246, 0 7, -3 6.3246)
Notez que les résultats sont les mêmes pour les trois exemples précédents. Quel que soit le format WKT (Well-known Text) utilisé pour entrer la même séquence de courbes, les résultats retournés par STCurveN()
sont identiques lorsqu'une instance CompoundCurve
est utilisée.
D. Validation du paramètre avant d'appeler STCurveN()
L’exemple suivant montre comment vérifier que @n
est valide avant d’appeler la méthode 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
Voir aussi
STNumCurves (type de données geometry)
Méthodes OGC sur des instances geography