ShortestLineTo (тип данных geography)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Возвращает экземпляр LineString с двумя точками, представляющий кратчайшее расстояние между двумя экземплярами geography. Длина возвращаемого экземпляра LineString равна расстоянию между двумя экземплярами geography.

Синтаксис

  
.ShortestLineTo ( geography_other )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

geography_other
Указывает второй экземпляр geography, кратчайшее расстояние до которого пытается определить вызывающий экземпляр geography.

Типы возвращаемых данных

Тип возвращаемого значения SQL Server: geography

Тип возвращаемых данных CLR: SqlGeography

Замечания

Этот метод возвращает экземпляр LineString с двумя конечными точками, лежащими на границах двух сравниваемых непересекающихся экземпляров geography. Длина возвращаемого экземпляра LineString равна кратчайшему расстоянию между двумя экземплярами geography. Пустой экземпляр LineString возвращается, когда два экземпляра geography пересекаются друг с другом.

Примеры

А. Вызов функции ShortestLineTo() для непересекающихся экземпляров

В этом примере ищется кратчайшее расстояние между экземпляром CircularString и экземпляром LineString и возвращается экземпляр LineString, соединяющий эти две точки:

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. Вызов функции ShortestLineTo() для пересекающихся экземпляров

Этот пример возвращает пустой экземпляр LineString, поскольку экземпляр LineString пересекает экземпляр 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();

См. также

Расширенные методы в экземплярах Geography
ShortestLineTo (тип данных geometry)