ShortestLineTo (tipo de datos geometry)
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de datos de Azure SQL de Microsoft Fabric
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 )
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();