Compartir por


ShortestLineTo (tipo de datos geometry)

Se aplica a: SQL ServerAzure SQL Database Azure SQL Instancia administrada

Devuelve una instancia de LineString con dos puntos que representan la distancia más corta entre las dos instancias de geometry. La longitud de la instancia de LineString devuelta es la distancia entre las dos instancias de geometry.

Sintaxis

  
.ShortestLineTo ( geometry_other )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

otra_geometría
La segunda instancia de geometry a la que la instancia de geometry que realiza la llamada está intentando determinar la distancia más corta.

Tipos de valor devuelto

Tipo de valor devuelto de SQL Server: geometry

Tipo de valor devuelto de CLR: SqlGeometry

Observaciones

El método devuelve una instancia de LineString con los extremos en los bordes de las dos instancias de geometry que no se cruzan y que se comparan. La longitud de la instancia de LineString devuelta es igual a la distancia más corta entre las dos instancias de geometry. Se devuelve una instancia vacía de LineString cuando las dos instancias de geometry se cruzan.

Ejemplos

A. Llamar a ShortestLineTo() en las instancias que no se cruzan

En este ejemplo se busca la distancia más corta entre una instancia de CircularString y una instancia de LineString, y se devuelven las instancias de LineString que conectan los dos extremos:

 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. Llamar a ShortestLineTo() en las instancias que se cruzan

En este ejemplo se devuelve una instancia de LineString vacía porque la instancia de LineString se cruza con la instancia 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 también

ShortestLineTo (tipo de datos Geography)