STDistance (geography データ型)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
任意の geography インスタンスの地点と別の geography インスタンスの地点との最短距離を返します。
注意
STDistance()
は、2 つの geography 型の間の最短の LineString を返します。 これは測地距離にほぼ一致します。 一般的な地球モデルの STDistance()
の正確な測地距離からの偏差は 0.25% 以下です。 これにより、geodesic 型の長さと距離の間の微妙な違いに関する混乱が回避されます。
構文
.STDistance ( other_geography )
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
other_geography
STDistance() を呼び出したインスタンスまでの距離が測定される、別の geography インスタンスです。 other_geography が空のセットの場合、STDistance() は null を返します。
戻り値の型
SQL Server 戻り値の型: float
CLR の戻り値の型: SqlDouble
注釈
この結果は、空間データの SRID (Spatial Reference Identifier) によって定義された測定単位で表されます。 geography インスタンスの SRID (spatial reference ID) が一致しない場合、STDistance() は常に null を返します。
Note
面積や距離を計算する、geography データ型のメソッドの結果は、メソッドで使用されるインスタンスの SRID に応じて異なります。 SRID の詳細については、「SRID (Spatial Reference Identifier)」を参照してください。
例
2 つの 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);