STCurveN (type de données geography)
Retourne la courbe spécifiée d'une instance geography qui est de type LineString, CircularString ou CompoundCurve.
Syntaxe
.STCurveN( n )
Arguments
- n
Expression int comprise entre 1 et le nombre de courbes de l'instance geography.
Types des valeurs retournées
SQL Server type de retour : geography
Type de retour CLR : SqlGeography
Exceptions
Si n < 1, une ArgumentOutOfRangeException est levée.
Notes
NULL est retourné lorsque le critère suivant se produit.
L'instance geography est déclarée, mais n'est pas instanciée
L'instance geography est vide
n dépasse le nombre de courbes de l'instance geography (consultez STNumCurves (type de données geography)
La dimension de l'instance geography n'est pas égale (consultez STDimension (type de données geography)
Exemples
A.Utilisation de STCurveN() sur un CircularString
L'exemple suivant retourne la deuxième courbe dans une instance CircularString :
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();
L'exemple retourne.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
B.Utilisation de STCurveN() sur un CompoundCurve
L'exemple suivant retourne la deuxième courbe dans une instance CompoundCurve :
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();
L'exemple retourne.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
C.Utilisation de STCurveN() sur un CompoundCurve qui contient trois CircularStrings
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 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();
L'exemple retourne.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
STCurveN() retourne les mêmes résultats indépendamment du format de texte WKT utilisé.
D.Test de validité avant d'appeler STCurve()
L'exemple suivant explique comment s'assurer que n est valide avant d'appeler la méthode STCurveN() :
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