ST_Union — ラスタタイルの集合を1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
raster ST_Union(
setof raster rast)
;
raster ST_Union(
raster set rast, integer band_num)
;
raster ST_Union(
raster set rast, text p_expression)
;
raster ST_Union(
raster set rast, integer band_num, text p_expression)
;
ラスタタイルを1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
この関数には、この他に、PostGIS 2.0.0ではデフォルトでインストールされないものもあります。これらは、PostGISのそーづコードのraster/scripts/plpgsql/st_union.sqlファイルにあります。 |
2.0.0のST_Union関数は、現在のところ、主にPL/pgSQLで実装しています。 CとPL/pgSQLのレイヤ間での複製に必要なメモリコピーのため、この関数は、必要以上に、非常に非常に遅くなります。 今後の2.0リリースでは、この関数はCで実装します。変更された際には、重大な速度改善が見られます。一般的な経験則として、ラスタサイズを最小にして、ST_Unionを動かします。ひとつの方法として、最初に切り取って、切り取ったラスタでST_Unionを実行します。切り取り前に結合すると、4倍ぐらい実行時間が長くなる場合があります。高解像度の画像では、より長くなります。 |
初出: 2.0.0
-- ファイルシステムタイルの1番バンドから新しい単一バンドを生成します SELECT filename, ST_Union(rast) As file_rast FROM sometable WHERE filename IN('dem01', 'dem02') GROUP BY filename;