次の方法で共有


ShortestLineTo (geography データ型)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

2 つの geography インスタンスの間の最短距離を表す 2 つの点を持つ LineString インスタンスを返します。 返される LineString インスタンスの長さは、2 つの geography インスタンスの間の距離です。

構文

  
.ShortestLineTo ( geography_other )  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

geography_other
呼び出し元の geography インスタンスとの最短距離を調べる 2 つ目の geography インスタンスを指定します。

戻り値の型

SQL Server 戻り値の型: geography

CLR の戻り値の型: SqlGeography

解説

このメソッドでは、比較対象の 2 つの交差しない geography インスタンスの境界上にあるエンドポイントを持つ LineString インスタンスが返されます。 返される LineString インスタンスの長さは、2 つの geography インスタンスの間の最短距離です。 2 つの geography インスタンスが相互に交差している場合、空の LineString インスタンスが返されます。

A. 交差しないインスタンスに対して ShortestLineTo() を呼び出す

この例では、CircularString インスタンスと LineString インスタンスの間の最短距離を調べ、その 2 つの点を結ぶ LineString インスタンスを返します。

DECLARE @g1 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';  
DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.200928 47.454094)';  
SELECT @g1.ShortestLineTo(@g2).ToString();

B. 交差するインスタンスに対して ShortestLineTo() を呼び出す

次の例では、LineString インスタンスが LineString インスタンスと交差しているため、空の CircularString インスタンスが返されます。

 DECLARE @g1 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';  
 DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.348 47.649, -122.681 47.655)';  
 SELECT @g1.ShortestLineTo(@g2).ToString();

参照

Geography インスタンスの拡張メソッド
ShortestLineTo (geometry データ型)