geometry-expression と指定したジオメトリ値の間の最短距離を返します。
geometry-expression.ST_Distance(geo2[, unit-name])
名前 | 型 | 説明 |
---|---|---|
geo2 |
ST_Geometry |
geometry-expression から距離が測定されるもう一方のジオメトリ値。 |
unit-name |
VARCHAR(128) |
距離を計算する単位。デフォルトでは、空間参照系の単位が使用されます。単位名は、UNIT_TYPE が 'LINEAR' の ST_UNITS_OF_MEASURE ビュー内のローの UNIT_NAME カラムと一致させてください。 |
DOUBLE 指定した線形測定単位で geometry-expression と geo2 の間の最短距離を返します。geometry-expression または geo2 のいずれかが空の場合は、NULL が返されます。
ST_Distance メソッドは、2 つのジオメトリ間の最短距離を計算します。平面の空間参照系の場合、距離は、平面内の直交座標系における距離として、関連付けられている空間参照系の線形測定単位で計算されます。曲面の空間参照系の場合、距離は、空間参照系定義で楕円パラメーターを使用して、地表面の曲率を考慮して計算されます。
曲面の空間参照系では、ST_Distance メソッドは geometry-expression と geo2 にポイントだけが含まれている場合にのみサポートされます。
ST_Distance では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部フォーマットが使用されます。内部フォーマットと元のフォーマットの詳細については、STORAGE FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照してください。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.23
次の例では、各シェイプとポイント (2,3) からのそれぞれの距離について、1 ローずつの結果セット (順序付けされたもの) を返します。
SELECT ShapeID, ROUND( Shape.ST_Distance( NEW ST_Point( 2, 3 ) ), 2 ) AS dist FROM SpatialShapes WHERE ShapeID < 17 ORDER BY dist |
この例では、次の結果セットを返します。
ShapeID | dist |
---|---|
2 |
0.0 |
3 |
0.0 |
5 |
1.0 |
6 |
1.21 |
16 |
1.41 |
1 |
5.1 |
次の例では、カナダのハリファックス (NS) とワーテルロー (ON) を表すポイントを作成し、2 つのポイント間の距離をマイル単位で調べ、結果として 846
を返します。この例は、sa_install_feature システムプロシージャーによって 'st_geometry_predefined_uom' 機能がインストールされていることを前提としています。sa_install_feature システムプロシージャーを参照してください。
SELECT ROUND( NEW ST_Point( -63.573566, 44.646244, 4326 ) .ST_Distance( NEW ST_Point( -80.522372, 43.465187, 4326 ) , 'Statute mile' ), 0 ) |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |