Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает наименьшее расстояние от точки в экземпляре geography до точки в другом экземпляре geography.
Примечание
STDistance() возвращает самое короткое значение LineString между двумя типами geography.Это приблизительное значение, соответствующее геодезическому расстоянию.Отклонение значения STDistance() на простых моделях Земли от точного геодезического расстояния составляет не более 0,25 %.Это позволяет избежать путаницы, когда речь заходит о незначительной разнице между длиной и расстоянием в геодезических типах.
Синтаксис
.STDistance ( other_geography )
Аргументы
- other_geography
Другой экземпляр geography, от которого измеряется расстояние до экземпляра, на котором вызван метод STDistance(). Если other_geography является пустым множеством, метод STDistance() возвращает значение NULL.
Тип возвращаемых данных
Возвращаемый тип SQL Server: float
Возвращаемый тип CLR: SqlDouble
Замечания
Метод STDistance() всегда возвращает значение NULL, если идентификаторы пространственной ссылки (SRID) экземпляров geography не совпадают.
Примечание
Методы, вызываемые для типа данных geography и вычисляющие площадь или расстояние, могут возвращать различные результаты в зависимости от идентификатора SRID экземпляра.Дополнительные сведения об идентификаторах SRID см. в разделе идентификаторы пространственных ссылок (SRID)/
Примеры
В следующем примере вычисляется расстояние между двумя экземплярами 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);