Compartilhar via


ShortestLineTo (tipo de dados geometry)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de Dados SQL no Microsoft Fabric

Retorna uma instância de LineString com dois pontos que representam a distância mais curta entre as duas instâncias de geometria. O comprimento da instância de LineString retornado é a distância entre as duas instâncias de geometria.

Sintaxe

  
.ShortestLineTo ( geometry_other )  

Argumentos

geometry_other
A segunda instância de geometry para a qual a instância de geometry de chamada está tentando determinar a distância mais curta.

Tipos de retorno

Tipo de retorno do SQL Server: geometry

Tipo de retorno do CLR: SqlGeometry

Comentários

O método retorna uma instância de LineString com pontos de extremidade nas bordas das duas instâncias de geometria sem intersecção que estão sendo comparadas. O comprimento de LineString retornado é igual à distância mais curta entre as duas instâncias de geometria. Uma instância de LineString vazia é retornada quando as duas instâncias de geometria se interseccionam.

Exemplos

a. Chamando ShortestLineTo() em instâncias sem interseção

Este exemplo localiza a distância mais curta entre uma instância de CircularString e uma instância de LineString e retorna a instância de LineString que conecta os dois pontos:

 DECLARE @g1 geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';  
 DECLARE @g2 geometry = 'LINESTRING(-4 7, 7 10, 3 7)';  
 SELECT @g1.ShortestLineTo(@g2).ToString();

B. Chamando ShortestLineTo() em instâncias com interseção

Este exemplo retorna uma instância de LineString vazia porque a instância de LineString cruza a instância de CircularString:

 DECLARE @g1 geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';  
 DECLARE @g2 geometry = 'LINESTRING(0 5, 7 10, 3 7)';  
 SELECT @g1.ShortestLineTo(@g2).ToString();

Consulte Também

ShortestLineTo (tipo de dados geography)