STCurveN (tipo di dati geography)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric
Restituisce la curva specificata da un'istanza geography e corrispondente a LineString, CircularString o CompoundCurve.
Sintassi
.STCurveN( n )
Argomenti
n
Espressione int compresa tra 1 e il numero di curve nell'istanza geography.
Tipi restituiti
Tipo SQL Server restituito: geography
Tipo CLR restituito: SqlGeography
Eccezioni
Se n < 1 viene generata un'eccezione ArgumentOutOfRangeException.
Osservazioni:
NULL viene restituito quando si verificano i criteri seguenti.
L'istanza geography viene dichiarata, ma non ne viene creata un'istanza
L'istanza geography è vuota
n supera il numero di curve presenti nell'istanza geography (vedere STNumCurves (tipo di dati geography)
La dimensione dell'istanza geography non è uguale (vedere STDimension (tipo di dati geography)
Esempi
R. Utilizzo di STCurveN() in CircularString
Nell'esempio seguente viene restituita la seconda curva in un'istanza 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();
Nell'esempio viene restituito.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
B. Utilizzo di STCurveN() in CompoundCurve
Nell'esempio seguente viene restituita la seconda curva in un'istanza 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();
Nell'esempio viene restituito.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
C. Utilizzo di STCurveN() in un'istanza CompoundCurve che contiene tre istanze CircularString
Nell'esempio seguente viene usata un'istanza CompoundCurve che combina tre istanze CircularString separate nella stessa sequenza di curve dell'esempio precedente:
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();
Nell'esempio viene restituito.
CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)
STCurveN()
restituisce gli stessi risultati indipendentemente dal formato Well-Known Text (WKT) utilizzato.
D. Verifica della validità prima della chiamata a STCurve()
Nell'esempio seguente viene illustrato come assicurarsi che n sia valido prima di chiamare il metodo 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