ShortestLineTo (tipo de datos Geography)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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

Sintaxis

  
.ShortestLineTo ( geography_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_geografía
Especifica la segunda instancia de geography a la que la instancia de geography que realiza la llamada está intentando determinar la distancia más corta.

Tipos de valor devuelto

Tipo de valor devuelto de SQL Server: geography

Tipo de valor devuelto de CLR: SqlGeography

Observaciones

El método devuelve una instancia de LineString con los extremos en los bordes de las dos instancias de geography 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 geography. Se devuelve una instancia vacía de LineString cuando las dos instancias de geography 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 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';  
DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.200928 47.454094)';  
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 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';  
 DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.348 47.649, -122.681 47.655)';  
 SELECT @g1.ShortestLineTo(@g2).ToString();

Consulte también

Métodos extendidos en instancias de geography
ShortestLineTo (tipo de datos geometry)