次の方法で共有


STDistance (geography データ型)

任意の geography インスタンスの地点と別の geography インスタンスの地点との最短距離を返します。

注意

STDistance() は、2 つの geography 型の間の最短の LineString を返します。これは測地距離にほぼ一致します。一般的な地球モデルの STDistance() の正確な測地距離からの偏差は 0.25% 以下です。これにより、geodesic 型の長さと距離の間の微妙な違いに関する混乱が回避されます。

構文

.STDistance ( other_geography )

引数

  • other_geography
    STDistance() を呼び出したインスタンスまでの距離が測定される、別の geography インスタンスです。other_geography が空集合の場合、STDistance() は NULL を返します。

戻り値の型

SQL Server の戻り値の型 : float

CLR の戻り値の型 : SqlDouble

説明

2 つの geography インスタンスの SRID (spatial reference ID) が一致しない場合、STDistance() は常に NULL を返します。

注意

面積や距離を計算する、geography データ型のメソッドの結果は、メソッドで使用されるインスタンスの SRID に応じて異なります。SRID の詳細については、「SRID (Spatial Reference Identifier)」を参照してください。

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

関連項目

その他の技術情報