Condividi tramite


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.

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

Vedi anche

Metodi OGC sulle istanze di geografia