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