Поделиться через


STDistance (географический тип данных)

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

Возвращает наименьшее расстояние от точки в экземпляре geography до точки в другом экземпляре geography.

Note

STDistance() возвращает самое короткое значение LineString между двумя типами geography. Это приблизительное значение, соответствующее геодезическому расстоянию. Отклонение значения STDistance() на простых моделях Земли от точного геодезического расстояния составляет не более 0,25 %. Это позволяет избежать путаницы, когда речь заходит о незначительной разнице между длиной и расстоянием в геодезических типах.

Syntax

  
.STDistance ( other_geography )  

Arguments

other_geography
Другой экземпляр geography, от которого измеряется расстояние до экземпляра, где вызван метод STDistance(). Если other_geography является пустым набором, STDistance() возвращает значение NULL.

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

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

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

Remarks

Результат выражается в единице измерения, определенной идентификатором пространственной ссылки (SRID) пространственных данных. STDistance() всегда возвращает значение NULL, если у экземпляров geography не совпадают идентификаторы пространственных ссылок (SRID).

Note

Методы, вызываемые для типа данных geography и вычисляющие площадь или расстояние, могут возвращать различные результаты в зависимости от идентификатора SRID экземпляра. Дополнительные сведения об идентификаторах SRID см. в разделе Идентификаторы пространственных ссылок (SRID).

Examples

В следующем примере вычисляется расстояние между двумя экземплярами geography.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SET @h = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);  
SELECT @g.STDistance(@h);  

См. также

Методы OGC в экземплярах Geography