Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do
AzureInstância
Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric
Retorna a curva especificada de um instância de geography que é uma LineString, uma CircularString ou uma CompoundCurve.
Syntax
.STCurveN( n )
Arguments
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
Exceptions
Se n < 1, uma ArgumentOutOfRangeException será gerada.
Remarks
NULL será retornado quando o seguinte critério ocorrer.
A instância de geography for declarada, mas não for criada uma instância dela
A instância de geography estiver vazia
n exceder o número de curvas na instância de geography (confira STNumCurves (tipo de dados geography)
A dimensão da instância de geography não for igual a (confira STDimension (tipo de dados geography)
Examples
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