Compartilhar via


STCurveN (tipo de dados geography)

Aplica-se a: SQL ServerBanco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Retorna a curva especificada de um instância de geography que é uma LineString, uma CircularString ou uma CompoundCurve.

Sintaxe

  
.STCurveN( n )  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

n
É uma expressão int entre 1 e o número de curvas na instância de geography.

Tipos de retorno

Tipo de retorno do SQL Server: geography

Tipo de retorno do CLR: SqlGeography

Exceções

Se n < 1, uma ArgumentOutOfRangeException será gerada.

Comentários

NULL será retornado quando o seguinte critério ocorrer.

Exemplos

a. Usando STCurveN() em uma CircularString

O exemplo a seguir retorna a segunda curva em uma instância de 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();

Os resultados do exemplo.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

B. Usando STCurveN() em uma instância de CompoundCurve

O exemplo a seguir retorna a segunda curva em uma instância de 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();

Os resultados do exemplo.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

C. Usando STCurveN() em um CompoundCurve que contém três CircularStrings

O exemplo a seguir usa uma instância de CompoundCurve que combina três instâncias de CircularString separadas na mesma sequência de curva, como no exemplo anterior:

 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();

Os resultados do exemplo.

CIRCULARSTRING (-122.348 47.658, -122.358 47.658, -122.358 47.653)

STCurveN() retorna os mesmos resultados independentemente do formato de texto Conhecido (WKT) usado.

D. Testando a validade antes de chamar STCurve()

O seguinte exemplo mostra como ter certeza de que n é válido antes de chamar o método 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

Consulte Também

Métodos do OGC em instâncias de geography