指定したグリッドにすべてのポイントがスナップされたジオメトリのコピーを返します。
geometry-expression.ST_SnapToGrid(origin,cell-size-x,cell-size-y,cell-size-z,cell-size-m)
名前 | 型 | 説明 |
---|---|---|
origin |
ST_Point |
グリッドの原点。 |
cell-size-x |
DOUBLE |
X 次元のグリッドのセルサイズ。 |
cell-size-y |
DOUBLE |
Y 次元のグリッドのセルサイズ。 |
cell-size-z |
DOUBLE |
Z 次元のグリッドのセルサイズ。 |
cell-size-m |
DOUBLE |
M 次元のグリッドのセルサイズ。 |
ST_Geometry グリッドにすべてのポイントがスナップされたジオメトリを返します。
結果の空間参照系識別子は、geometry-expression の空間参照系と同じです。
ST_SnapToGrid メソッドを使用して、原点とセルサイズで定義したグリッドにジオメトリ内のすべてのポイントをスナップすることによって、データの精度を下げることができます。
次元ごとに異なるセルサイズを指定できます。1 次元のポイントをスナップしない場合は、セルサイズ 0 を使用できます。
精度を下げると、結果のジオメトリに別のプロパティが含まれる可能性があります。たとえば、単純な線ストリングがそれ自体と交差したり、無効なジオメトリが生成されたりする可能性があります。
各空間参照系で、すべてのジオメトリが自動的にスナップされるグリッドが定義されます。この事前に定義されたグリッドよりも高い精度を格納することはできません。
ST_SnapToGrid では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部フォーマットが使用されます。内部フォーマットと元のフォーマットの詳細については、STORAGE FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照してください。
SQL/MM (ISO/IEC 13249-3: 2006) ベンダー拡張
次の例では、結果として LineString (1.010101 20.20202, 1.015625 20.203125, 1.01 20.2)
を返します。
SELECT NEW ST_LineString( NEW ST_Point( 1.010101, 20.202020 ), TREAT( NEW ST_Point( 1.010101, 20.202020 ).ST_SnapToGrid( NEW ST_Point( 0.0, 0.0 ), POWER( 2, -6 ), POWER( 2, -7 ), 0.0, 0.0 ) AS ST_Point ), TREAT( NEW ST_Point( 1.010101, 20.202020 ).ST_SnapToGrid( NEW ST_Point( 1.01, 20.2 ), POWER( 2, -6 ), POWER( 2, -7 ), 0.0, 0.0 ) AS ST_Point ) ) |
線ストリングの最初のポイントは、SRID 0 に定義されたグリッドにスナップされたポイント ST_Point( 1.010101, 20.202020 ) です。
線ストリングの 2 番目のポイントは、ポイント ( 0.0 0.0 ) の原点で定義されたグリッドにスナップされた同一ポイントです。ここで、セルサイズ x は POWER( 2, -6 )、セルサイズ y は POWER( 2, -7 ) です。
線ストリングの 3 番目のポイントは、ポイント ( 1.01 20.2 ) の原点で定義されたグリッドにスナップされた同一ポイントです。ここで、セルサイズ x は POWER( 2, -6 )、セルサイズ y は POWER( 2, -7 ) です。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |