Partager via


STCurveN (type de données geography)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

Retourne la courbe spécifiée à partir d’une instance geography qui est LineString, CircularString ou CompoundCurve.

Syntaxe

  
.STCurveN( n )  

Arguments

n
Expression int comprise entre 1 et le nombre de courbes de l’instance geography.

Types de retour

Type de retour SQL Server : geography

Type de retour CLR : SqlGeography

Exceptions

Si n < 1, ArgumentOutOfRangeException est levé.

Remarques

NULL est retourné en présence des critères suivants.

Exemples

R. Utilisation de STCurveN() sur un CircularString

L’exemple suivant retourne la deuxième courbe d’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 d’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 montre comment vérifier 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

Voir aussi

Méthodes OGC sur des instances Geography