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

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

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

Синтаксис

  
.ShortestLineTo ( geometry_other )  

Примечание.

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

Аргументы

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

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

Тип возвращаемых данных SQL Server: geometry

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

Замечания

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

Примеры

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

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

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

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

См. также

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