指定した 3-D アフィン変換を適用した後の新しいジオメトリを返します。
geometry-expression.ST_Affine(a00,a01,a02,a10,a11,a12,a20,a21,a22,xoff,yoff,zoff)
名前 | 型 | 説明 |
---|---|---|
a00 |
DOUBLE |
ロー 0、カラム 0 のアフィンマトリックス要素 |
a01 |
DOUBLE |
ロー 0、カラム 1 のアフィンマトリックス要素 |
a02 |
DOUBLE |
ロー 0、カラム 2 のアフィンマトリックス要素 |
a10 |
DOUBLE |
ロー 1、カラム 0 のアフィンマトリックス要素 |
a11 |
DOUBLE |
ロー 1、カラム 1 のアフィンマトリックス要素 |
a12 |
DOUBLE |
ロー 1、カラム 2 のアフィンマトリックス要素 |
a20 |
DOUBLE |
ロー 2、カラム 0 のアフィンマトリックス要素 |
a21 |
DOUBLE |
ロー 2、カラム 1 のアフィンマトリックス要素 |
a22 |
DOUBLE |
ロー 2、カラム 2 のアフィンマトリックス要素 |
xoff |
DOUBLE |
平行移動の x オフセット |
yoff |
DOUBLE |
平行移動の y オフセット |
zoff |
DOUBLE |
平行移動の z オフセット |
ST_Geometry 指定した変換を適用した後の新しいジオメトリを返します。
結果の空間参照系識別子は、geometry-expression の空間参照系と同じです。
アフィン変換では、回転、平行移動、スケーリングが 1 回のメソッド呼び出しでまとめて実行されます。アフィン変換は、マトリックス乗算を使用して定義されます。
ポイント (x,y,z) の場合、結果 (x',y',z') は次のように計算されます。
/ x' \ / a00 a01 a02 xoff \ / x \ | y' | = | a10 a11 a12 yoff | * | y | | z' | | a20 a21 a22 zoff | | z | \ w' / \ 0 0 0 1 / \ 1 / |
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
SQL/MM (ISO/IEC 13249-3: 2006) ベンダー拡張
次の例では、結果として LineString (5 6, 5 3, 9 3)
を返します。X 値は 5 平行移動し、Y 値は -1 平行移動します。
SELECT Shape.ST_Affine( 1,0,0, 0,1,0, 0,0,1, 5,-1,0 ) FROM SpatialShapes WHERE ShapeID = 5 |
次の例では、結果として LineString (.698833 6.965029, .399334 3.980017, 4.379351 3.580683)
を返します。Shape は、Z 軸周りに 0.1 ラジアン (約 5.7 度) 回転します。
SELECT Shape.ST_Affine( cos(0.1),sin(0.1),0, -sin(0.1),cos(0.1),0, 0,0,1, 0,0,0 ) FROM SpatialShapes WHERE ShapeID = 5 |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |