STDistance(geography 数据类型)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

返回一个 geography 实例中的点与另一个 geography 实例中的点之间的最短距离。

注意

STDistance() 返回两个 geography 类型之间的最短 LineString。 这与测地距离十分相似。 普通地球模型上 STDistance() 与精确测地距离之间的偏差不超过 .25%。 这将避免混淆测地类型中长度和距离之间的细微差别。

语法

  
.STDistance ( other_geography )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

自变量

other_geography
另一个 geography 实例,将度量该实例与调用 STDistance() 的实例之间的距离。 如果 other_geography 是一个空集,则 STDistance() 返回 null

返回类型

SQL Server 返回类型:float

CLR 返回类型:SqlDouble

注解

结果以空间数据的空间引用标识符 (SRID) 定义的度量单位表示。 如果 geography 实例的空间引用 ID (SRID) 不匹配,则 STDistance() 始终返回 null

注意

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);  

另请参阅

Geography 实例上的 OGC 方法