ST_SameAlignment — ラスターが同じスキュー、スケール、空間参照系、オフセットを持つ (ピクセルが分割されることなく同じグリッドに置かれている) 場合に TRUE を返し、そうでない場合は問題を詳述する通知とともに FALSE を返します。
boolean ST_SameAlignment( raster rastA , raster rastB );
boolean ST_SameAlignment( double precision ulx1 , double precision uly1 , double precision scalex1 , double precision scaley1 , double precision skewx1 , double precision skewy1 , double precision ulx2 , double precision uly2 , double precision scalex2 , double precision scaley2 , double precision skewx2 , double precision skewy2 );
boolean ST_SameAlignment( raster set rastfield );
非集計版 (一つ目と二つ目の形式): 二つのラスター (直接与えたラスターでも左上隅、スケール、スキュー、SRID を使って作ったものでも) が同じスキュー、スケール、空間参照系、を持ち、少なくとも 4隅の一つがもう一方のラスターのグリッド隅に落ちる場合にTRUE を返します。そうでない場合には、問題に言及した警告を出します。
集約関数版 (三つ目の形式): ラスター集合から、全てのラスターが同じアラインメントを持つ場合に TRUE を返します。ST_SameAlignment() 関数は PostgreSQL の用語で言うところの「集約」関数です。SUM() や AVG() といった複数のデータ行での操作を意味します。
Availability: 2.0.0
Enhanced: 2.1.0 集約関数版の追加
SELECT ST_SameAlignment(ST_MakeEmptyRaster(1, 1, 0, 0, 1, 1, 0, 0),
ST_MakeEmptyRaster(1, 1, 0, 0, 1, 1, 0, 0)
) as sm;
t
SELECT ST_SameAlignment(A.rast, b.rast) FROM dummy_rast AS A CROSS JOIN dummy_rast AS B;
NOTICE: The two rasters provided have different SRIDs NOTICE: The two rasters provided have different SRIDs t f f f