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; 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 st_samealignment ------------------ t f f f