STCurveN (type de données geometry)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstancePoint de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
Retourne la courbe spécifiée à partir d’une instance geometry qui est LineString, CircularString, CompoundCurve ou MultiLineString.
Syntaxe
.STCurveN ( curve_index )
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez Versions antérieures de la documentation.
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour