Partager via


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.

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

Voir aussi

Autres ressources

Méthodes OGC sur les instances geography