PostGIS 3.7 Raster Cheatsheet

このリリースの新機能 1このリリースで強化 2   集約関数 agg    GEOS (3.9,3.10,3.11,3.12) 以上が必要 g3.9   2.5次元/3次元対応 3d   SQL-MMmm   ジオグラフィ対応 G
ラスターサポートデータ型
geomval    geom (ジオメトリーオブジェクトを保持) と val (ラスターバンドからのピクセル値を倍精度浮動小数点数で保持) の 2フィールドからなるデータ型。
addbandarg    ST_AddBand の入力に使われる複合型で、新しいバンドの属性と初期値からなります。
rastbandarg    ラスターとそのバンドインデックスを表現する必要がある時に使われる複合型。
raster    ラスター空間データ型。
reclassarg    ST_Reclass 関数への入力として使われる再分類の振舞いを定義する複合型です。
summarystats    ST_SummaryStats 関数と ST_SummaryStatsAgg 関数の出力として使う複合型です。
unionarg    ST_Union 関数の入力に使う複合型です。処理するバンドと結合処理の挙動を定義します。

ラスター管理
AddRasterConstraints    ロードされたラスターテーブルの特定のカラムにラスター制約を追加します。制約には空間参照系、スケール、ブロックサイズ、アラインメント、バンド数、バンド型、ラスタカラムが規則正しいブロックかどうかを示すフラグがあります。テーブルは制約が推論されるためのデータがロードされなければなりません。制約の設定が完了するとtrue を返し、問題があると通知を返します。
  1. rasttable, rastcolumn, srid=true, scale_x=true, scale_y=true, blocksize_x=true, blocksize_y=true, same_alignment=true, regular_blocking=false, num_bands=true, pixel_types=true, nodata_values=true, out_db=true, extent=true
  2. rasttable, rastcolumn, VARIADIC constraints
  3. rastschema, rasttable, rastcolumn, VARIADIC constraints
  4. rastschema, rasttable, rastcolumn, srid=true, scale_x=true, scale_y=true, blocksize_x=true, blocksize_y=true, same_alignment=true, regular_blocking=false, num_bands=true, pixel_types=true, nodata_values=true, out_db=true, extent=true
DropRasterConstraints    ラスターテーブルカラムを参照する PostGIS ラスター制約を削除します。データの再読み込みやラスターカラムデータの更新の際に使えます。
  1. rasttable, rastcolumn, srid, scale_x, scale_y, blocksize_x, blocksize_y, same_alignment, regular_blocking, num_bands=true, pixel_types=true, nodata_values=true, out_db=true, extent=true
  2. rastschema, rasttable, rastcolumn, srid=true, scale_x=true, scale_y=true, blocksize_x=true, blocksize_y=true, same_alignment=true, regular_blocking=false, num_bands=true, pixel_types=true, nodata_values=true, out_db=true, extent=true
  3. rastschema, rasttable, rastcolumn, constraints
AddOverviewConstraints    ラスターカラムに対して、他のオーバビューであることをタグ付けします。
  1. ovschema, ovtable, ovcolumn, refschema, reftable, refcolumn, ovfactor
  2. ovtable, ovcolumn, reftable, refcolumn, ovfactor
DropOverviewConstraints    ラスターカラムに対して他のオーバビューであることをタグ付けしているのを解除します。
  1. ovschema, ovtable, ovcolumn
  2. ovtable, ovcolumn
PostGIS_GDAL_Version ()    PostGIS で使っている GDAL ライブラリの版を報告します。
PostGIS_Raster_Lib_Build_Date ()    完全なラスターライブラリをビルドした日付を報告します。
PostGIS_Raster_Lib_Version ()    完全なラスターの版とビルドコンフィギュレーション情報を報告します。
ST_GDALDrivers ()    使用している GDAL ライブラリが対応するラスター書式の一覧を返します。この一覧でcan_write=True となっているものだけが ST_AsGDALRaster で使えます。
UpdateRasterSRID    ユーザが指定したカラムとテーブルにあるラスターの全てについて SRID を変更します。
  1. schema_name, table_name, column_name, new_srid
  2. table_name, column_name, new_srid
ST_CreateOverview (tab, col, factor, algo='NearestNeighbor')    与えられたラスターカバレッジから解像度を落としたものを生成します。

ラスターコンストラクタ
ST_AddBand    与えられたタイプで、与えられた初期値にした新しいバンドを、与えられたインデックス位置に追加したラスターを返します。インデックス位置を指定していない場合には、バンドは末尾に追加されます。
  1. rast, addbandargset
  2. rast, index, pixeltype, initialvalue=0, nodataval=NULL
  3. rast, pixeltype, initialvalue=0, nodataval=NULL
  4. torast, fromrast, fromband=1, torastindex=at_end
  5. torast, fromrasts, fromband=1, torastindex=at_end
  6. rast, index, outdbfile, outdbindex, nodataval=NULL
  7. rast, outdbfile, outdbindex, index=at_end, nodataval=NULL
ST_AsRaster    PostGIS ジオメトリーを PostGIS ラスターに変換します。
  1. geom, ref, pixeltype, value=1, nodataval=0, touched=false
  2. geom, ref, pixeltype=ARRAY['8BUI'], value=ARRAY[1], nodataval=ARRAY[0], touched=false
  3. geom, scalex, scaley, gridx, gridy, pixeltype, value=1, nodataval=0, skewx=0, skewy=0, touched=false
  4. geom, scalex, scaley, gridx=NULL, gridy=NULL, pixeltype=ARRAY['8BUI'], value=ARRAY[1], nodataval=ARRAY[0], skewx=0, skewy=0, touched=false
  5. geom, scalex, scaley, pixeltype, value=1, nodataval=0, upperleftx=NULL, upperlefty=NULL, skewx=0, skewy=0, touched=false
  6. geom, scalex, scaley, pixeltype, value=ARRAY[1], nodataval=ARRAY[0], upperleftx=NULL, upperlefty=NULL, skewx=0, skewy=0, touched=false
  7. geom, width, height, gridx, gridy, pixeltype, value=1, nodataval=0, skewx=0, skewy=0, touched=false
  8. geom, width, height, gridx=NULL, gridy=NULL, pixeltype=ARRAY['8BUI'], value=ARRAY[1], nodataval=ARRAY[0], skewx=0, skewy=0, touched=false
  9. geom, width, height, pixeltype, value=1, nodataval=0, upperleftx=NULL, upperlefty=NULL, skewx=0, skewy=0, touched=false
  10. geom, width, height, pixeltype, value=ARRAY[1], nodataval=ARRAY[0], upperleftx=NULL, upperlefty=NULL, skewx=0, skewy=0, touched=false
ST_AsRasterAgg (geom, val, ref, pixeltype, nodataval, uniontype, touched)    集約関数です。PostGIS ジオメトリーを新しいラスターに変換します。
ST_Band    既存のラスターの、一つ以上のバンドを新しいラスターとして返します。既存のラスターから新しいラスターを構築する際に使えます。
  1. rast, nbands = ARRAY[1]
  2. rast, nband
  3. rast, nbands, delimiter=,
ST_MakeEmptyCoverage (tilewidth, tileheight, width, height, upperleftx, upperlefty, scalex, scaley, skewx, skewy, srid=unknown)    空のラスタータイルのグリッドでジオリファレンスを施されている領域を生成します。
ST_MakeEmptyRaster    与えられたピクセル範囲 (width & height)、左上の X,Y、ピクセルサイズ、回転 (scalex, scaley, skewx, skewy) と空間参照系 (srid) が指定された空ラスター (バンドを持たないラスター) を返します。ラスターが渡されると、新しいラスターは渡されたラスターと同じサイズ、アラインメント、SRID になります。SRID が指定されていない場合には、空間参照系は不明 (0) とされます。
  1. rast
  2. width, height, upperleftx, upperlefty, scalex, scaley, skewx, skewy, srid=unknown
  3. width, height, upperleftx, upperlefty, pixelsize
ST_Tile    求められた出力ラスターのピクセル数に基づいて入力ラスターを分割した結果のラスター集合を返します。
  1. rast, nband, width, height, padwithnodata=FALSE, nodataval=NULL
  2. rast, nband, width, height, padwithnodata=FALSE, nodataval=NULL
  3. rast, width, height, padwithnodata=FALSE, nodataval=NULL
ST_Retile (tab, col, ext, sfx, sfy, tw, th, algo='NearestNeighbor')    任意のタイル化されたラスターカバレッジから構成されたタイルの集合を返します。
ST_FromGDALRaster (gdaldata, srid=NULL)    対応する GDAL ラスターファイルからラスターを返します。

ラスターアクセサ
ST_GeoReference (rast, format=GDAL)    GDAL 書式または一般的にワールドファイルでみられる ESRI 書式の地理参照メタデータを返します。デフォルトは GDAL です。
ST_Height (rast)    ラスターの高さをピクセル単位で返します。
ST_IsEmpty (rast)    ラスターが空 (幅が 0で高さが 0) の場合には TRUE を返します。他の場合には、FALSE を返します。
ST_MemSize (rast)    ラスターが取る領域の合計をバイト単位で返します。
ST_MetaData (rast)    ピクセル数、回転 (スキュー)、左上隅位置等のラスターオブジェクトに関する基本的なメタデータを返します。
ST_NumBands (rast)    ラスターオブジェクトのバンド数を返します。
ST_PixelHeight (rast)    空間参照系の地理的な単位でのピクセルの高さを返します。
ST_PixelWidth (rast)    空間参照系の地理的な単位でのピクセルの幅を返します。
ST_ScaleX (rast)    空間参照系の地理的な単位でのピクセル幅の X 成分を返します。
ST_ScaleY (rast)    空間参照系の地理的な単位でのピクセル幅の Y 成分を返します。
ST_RasterToWorldCoord (rast, xcolumn, yrow)    ラスターの指定した列と行における左上隅の地理座標 X 値と Y 値 (経度と緯度) を返します。列と行の番号は 1始まりです。
ST_RasterToWorldCoordX    ラスターの指定した列と行における左上隅の地理座標の X 値を返します。列と行の番号は1始まりです。
  1. rast, xcolumn
  2. rast, xcolumn, yrow
ST_RasterToWorldCoordY    ラスターの指定した列と行における左上隅の地理座標の Y 値を返します。列と行の番号は1始まりです。
  1. rast, yrow
  2. rast, xcolumn, yrow
ST_Rotation (rast)    ラスターの回転をラジアンで返します。
ST_SkewX (rast)    空間参照の X スキュー (回転パラメータ) を返します。
ST_SkewY (rast)    空間参照の Y スキュー (回転パラメータ) を返します。
ST_SRID (rast)    ラスターの spatial_ref_sys テーブルで定義されている空間参照系識別番号を返します。
ST_Summary (rast)    ラスターの中身の概要が文字列で返されます。
ST_UpperLeftX (rast)    適用されている空間参照系でのラスターの左上隅の X 座標値を返します。
ST_UpperLeftY (rast)    適用されている空間参照系でのラスターの左上隅の Y 座標値を返します。
ST_Width (rast)    ラスターの幅をピクセル単位で返します。
ST_WorldToRasterCoord    ラスターの空間参照系による地理座標の X 値と Y 値 (経度と緯度) またはポイントジオメトリに対応するピクセルの左上隅を返します。
  1. rast, pt
  2. rast, longitude, latitude
ST_WorldToRasterCoordX    ラスターの空間参照系に基づくポイントジオメトリー (pt) または X,Y 座標値 (xw,yw) に対応するラスターの列を返します。
  1. rast, pt
  2. rast, xw
  3. rast, xw, yw
ST_WorldToRasterCoordY    ラスターの空間参照系に基づくポイントジオメトリー (pt) または X,Y 座標値 (xw,yw) に対応するラスターの行を返します。
  1. rast, pt
  2. rast, xw
  3. rast, xw, yw

ラスターバンドアクセサ
ST_BandMetaData    指定したラスターバンドの基本的なメタデータを返します。バンド番号を指定しない場合には、1番と仮定します。
  1. rast, band=1
  2. rast, band
ST_BandNoDataValue (rast, bandnum=1)    指定されたバンドについてデータが無いことを表現する値を返します。バンド番号を指定しない場合には、1番と仮定します。
ST_BandIsNoData    指定したバンドが NODATA 値だけで満たされている場合には、TRUE を返します。
  1. rast, band, forceChecking=false
  2. rast, forceChecking=false
ST_BandPath (rast, bandnum=1)    ファイルシステムに格納されているバンドのシステムファイルパスを返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_BandFileSize (rast, bandnum=1)    ファイルシステムに格納されているバンドのファイルサイズを返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_BandFileTimestamp (rast, bandnum=1)    ファイルシステムに格納されているバンドのファイルタイムスタンプ返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_BandPixelType (rast, bandnum=1)    指定したバンドのピクセルタイプを返します。バンド番号が指定されていない場合には、1番と仮定します。
ST_MinPossibleValue (pixeltype)    このピクセルタイプが格納できる最小値を返します。
ST_HasNoBand (rast, bandnum=1)    指定したバンド番号のバンドが無い場合には、TRUE を返します。バンド番号を指定していない場合には、1番と仮定します。

ラスターピクセルアクセサとセッター
ST_PixelAsPolygon (rast, columnx, rowy)    指定した行と列のピクセルの境界となるジオメトリーを返します。
ST_PixelAsPolygons (rast, band=1, exclude_nodata_value=TRUE)    全てのピクセルについて境界となるジオメトリーを、ピクセルごとのピクセル値とラスタ座標系の X と Y とを付けて返します。
ST_PixelAsPoint (rast, columnx, rowy)    ピクセルの左上隅のポイントジオメトリーを返します。
ST_PixelAsPoints (rast, band=1, exclude_nodata_value=TRUE)    全てのピクセルについてポイントジオメトリーを、ピクセルごとのピクセル値とラスター座標系の X と Y とを付けて返します。ポイントジオメトリーの座標はピクセルの左上隅です。
ST_PixelAsCentroid (rast, x, y)    ピクセルで表現される面の重心 (ポイントジオメトリー) を返します。
ST_PixelAsCentroids (rast, band=1, exclude_nodata_value=TRUE)    全てのピクセルについて重心 (ポイントジオメト) リを、ピクセルごとのピクセル値とラスター座標系の X と Y とを付けて返します。ポイントジオメトリーの座標はピクセルで表現される面の重心です。
ST_Value  2    指定したバンドにおける columnx, rowy で指定したピクセルまたは指定したジオメトリーポイントに対応するピクセルの値を返します。 バンド番号は 1始まりで、指定しない場合には、1番と仮定します。exclude_nodata_valueが FALSE に設定された場合には、NODATA ピクセルを含む全てのピクセルがインタセクトするかが考慮され、値を返します。exclude_nodata_valueを渡さない場合には、ラスターのメタデータから読みます。
  1. rast, pt, exclude_nodata_value=true
  2. rast, band, pt, exclude_nodata_value=true, resample='nearest'
  3. rast, x, y, exclude_nodata_value=true
  4. rast, band, x, y, exclude_nodata_value=true
ST_NearestValue    与えられたバンドの、columnx と rowy で指定されるか、またはラスターと同じ空間参照系で表現されたポイントで指定されたピクセルに最も近いNODATAでない値を返します。
  1. rast, bandnum, pt, exclude_nodata_value=true
  2. rast, pt, exclude_nodata_value=true
  3. rast, bandnum, columnx, rowy, exclude_nodata_value=true
  4. rast, columnx, rowy, exclude_nodata_value=true
ST_SetZ (rast, geom, resample=nearest, band=1)    入力ジオメトリーと同じ X/y 座標値と、指定されたリサンプリングアルゴリズムを使ってラスターから複写された Z 値とを持つジオメトリーを返します。
ST_SetM (rast, geom, resample=nearest, band=1)    入力ジオメトリーと同じ X/Y 値を持ち、かつ、指定されたリサンプリングアルゴリズムを使ってラスターから複写された M 値を持つジオメトリーを返します。
ST_Neighborhood    与えられたバンドの columnX, columnY か、ラスターと同じ空間参照系のジオメトリーポイントで指定されたピクセルの周囲にある、NODATAでない 2次元倍精度浮動小数点数配列を返します。
  1. rast, bandnum, columnX, rowY, distanceX, distanceY, exclude_nodata_value=true
  2. rast, columnX, rowY, distanceX, distanceY, exclude_nodata_value=true
  3. rast, bandnum, pt, distanceX, distanceY, exclude_nodata_value=true
  4. rast, pt, distanceX, distanceY, exclude_nodata_value=true
ST_SetValue    与えられたバンドの columnX, columnY か、ラスターと同じ空間参照系のジオメトリーポイントで指定されたピクセルの値または指定したジオメトリーとインタセクトするピクセル群の値を設定することから得られる、変更されたラスターを返します。バンド番号は 1始まりで、指定しない場合には、1番と仮定します。
  1. rast, bandnum, geom, newvalue
  2. rast, geom, newvalue
  3. rast, bandnum, columnx, rowy, newvalue
  4. rast, columnx, rowy, newvalue
ST_SetValues    与えられたバンドに複数の値を設定して、変更されたラスターを返します。
  1. rast, nband, columnx, rowy, newvalueset, noset=NULL, keepnodata=FALSE
  2. rast, nband, columnx, rowy, newvalueset, nosetvalue, keepnodata=FALSE
  3. rast, nband, columnx, rowy, width, height, newvalue, keepnodata=FALSE
  4. rast, columnx, rowy, width, height, newvalue, keepnodata=FALSE
  5. rast, nband, geomvalset, keepnodata=FALSE
ST_DumpValues    指定したバンドの値を 2次元で得ます。
  1. rast, nband=NULL, exclude_nodata_value=true
  2. rast, nband, exclude_nodata_value=true
ST_PixelOfValue    検索値と同じ値を持つピクセルの columnx, rowy ピクセル座標を得ます。
  1. rast, nband, search, exclude_nodata_value=true
  2. rast, search, exclude_nodata_value=true
  3. rast, nband, search, exclude_nodata_value=true
  4. rast, search, exclude_nodata_value=true

ラスターエディタ
ST_SetGeoReference    地理参照 6パラメーターを一度に設定します。数値は空白で区切ります。GDAL またはESRI 書式の入力を受け付けます。デフォルトは GDAL です。
  1. rast, georefcoords, format=GDAL
  2. rast, upperleftx, upperlefty, scalex, scaley, skewx, skewy
ST_SetRotation (rast, rotation)    ラスターの回転をラジアン単位で設定します。
ST_SetScale    ピクセルサイズの X 値と Y 値を空間参照系の単位で設定します。数値は単位/ピクセルの幅または高さです。
  1. rast, xy
  2. rast, x, y
ST_SetSkew    地理参照のスキュー (回転パラメーター) の X 値と Y 値を設定します。一つだけ渡した場合には、X 値と Y 値は同じ値に設定されます。
  1. rast, skewxy
  2. rast, skewx, skewy
ST_SetSRID (rast, srid)    スタの SRID を spatial_ref_sys に定義されている特定の整数値に設定します。
ST_SetUpperLeft (rast, x, y)    ラスターの左上隅の投影座標系の X 値と Y 値を設定します。
ST_Resample    指定したリサンプリングアルゴリズム、新しいピクセル範囲、グリッドの隅、定義するか他のラスターから借りてきた地理参照属性を使ってリサンプリングを行います。
  1. rast, width, height, gridx=NULL, gridy=NULL, skewx=0, skewy=0, algorithm=NearestNeighbor, maxerr=0.125
  2. rast, scalex=0, scaley=0, gridx=NULL, gridy=NULL, skewx=0, skewy=0, algorithm=NearestNeighbor, maxerr=0.125
  3. rast, ref, algorithm=NearestNeighbor, maxerr=0.125, usescale=true
  4. rast, ref, usescale, algorithm=NearestNeighbor, maxerr=0.125
ST_Rescale    スケール (ピクセルサイズ) だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (英語または米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos') を用います。デフォルトは最近傍補間です。
  1. rast, scalexy, algorithm=NearestNeighbor, maxerr=0.125
  2. rast, scalex, scaley, algorithm=NearestNeighbor, maxerr=0.125
ST_Reskew    キュー (回転パラメーター) だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos') を用います。デフォルトは最近傍補間です。
  1. rast, skewxy, algorithm=NearestNeighbor, maxerr=0.125
  2. rast, skewx, skewy, algorithm=NearestNeighbor, maxerr=0.125
ST_SnapToGrid    グリッドにスナップすることでラスターをリサンプリングします。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間('Lanczos') を用います。デフォルトは最近傍補間です。
  1. rast, gridx, gridy, algorithm=NearestNeighbor, maxerr=0.125, scalex=DEFAULT 0, scaley=DEFAULT 0
  2. rast, gridx, gridy, scalex, scaley, algorithm=NearestNeighbor, maxerr=0.125
  3. rast, gridx, gridy, scalexy, algorithm=NearestNeighbor, maxerr=0.125
ST_Resize    ラスターを新しい幅、高さにサイズ再設定を行います。
  1. rast, width, height, algorithm=NearestNeighbor, maxerr=0.125
  2. rast, percentwidth, percentheight, algorithm=NearestNeighbor, maxerr=0.125
  3. rast, width, height, algorithm=NearestNeighbor, maxerr=0.125
ST_Transform    ラスターを既知の空間参照系から他の既知の空間参照系に、指定したリサンプリングアルゴリズムで投影変換します。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos') を用います。デフォルトは最近傍補間です。
  1. rast, srid, algorithm=NearestNeighbor, maxerr=0.125, scalex, scaley
  2. rast, srid, scalex, scaley, algorithm=NearestNeighbor, maxerr=0.125
  3. rast, alignto, algorithm=NearestNeighbor, maxerr=0.125

ラスターバンドエディタ
ST_SetBandNoDataValue    指定したバンドに NODATA を表現する値を設定します。バンドを指定しない場合には、1番と仮定します。NODATA 値を持たないようにするには、nodatavalue に NULL を指定します。
  1. rast, nodatavalue
  2. rast, band, nodatavalue, forcechecking=false
ST_SetBandIsNoData (rast, band=1)    バンドの isnodata フラグを TRUE にします。
ST_SetBandPath (rast, band, outdbpath, outdbindex, force=false)    データベース外バンドの外部パスとバンド番号を更新します。
ST_SetBandIndex (rast, band, outdbindex, force=false)    データベース外バンドの外部バンド番号の更新

ラスターバンド統計情報と解析
ST_Count    ラスターまたはラスターカバレッジの指定したバンドのピクセル数を返します。バンドを指定しない場合には、1番と仮定します。exclude_nodata_value を TRUE に設定している場合には、NODATA 値と等しくないピクセルのみを数えます。
  1. rast, nband=1, exclude_nodata_value=true
  2. rast, exclude_nodata_value
ST_CountAgg    集約関数です。ラスター集合の与えられたバンドのピクセル数を返します。バンドが指定されていない場合には、1番と仮定します。exclude_nodata_value を TRUE に設定している場合には、NODATA 値と等しくないピクセルのみを数えます。
  1. rast, nband, exclude_nodata_value, sample_percent
  2. rast, nband, exclude_nodata_value
  3. rast, exclude_nodata_value
ST_Histogram    ラスターまたはラスターカバレッジのビン範囲で分割したデータ分布をまとめるヒストグラムの集合を返します。ビン数を指定しない場合には自動計算されます。
  1. rast, nband=1, exclude_nodata_value=true, bins=autocomputed, width=NULL, right=false
  2. rast, nband, bins, width=NULL, right=false
  3. rast, nband, exclude_nodata_value, bins, right
  4. rast, nband, bins, right
ST_Quantile    ラスターまたはラスターテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスターの 25%,50%,75%にあるかを調べることができます。
  1. rast, nband=1, exclude_nodata_value=true, quantiles=NULL
  2. rast, quantiles
  3. rast, nband, quantiles
  4. rast, quantile
  5. rast, exclude_nodata_value, quantile=NULL
  6. rast, nband, quantile
  7. rast, nband, exclude_nodata_value, quantile
  8. rast, nband, quantile
ST_SummaryStats    与えられたラスターのバンドまたはラスターカバレッジの count, sum, mean, stddev, min, max からなる統計情報のサマリーです。バンドを指定しない場合には、1番と仮定します。
  1. rast, exclude_nodata_value
  2. rast, nband, exclude_nodata_value
ST_SummaryStatsAgg    集約関数。与えられたラスターのバンドの集合の count, sum, mean, stddev, min, max からなる統計情報のサマリーです。バンドを指定しない場合には、1番と仮定します。
  1. rast, nband, exclude_nodata_value, sample_percent
  2. rast, exclude_nodata_value, sample_percent
  3. rast, nband, exclude_nodata_value
ST_ValueCount    ラスター (またはラスターカバレッジ) の指定されたバンドで、指定した値を持つピクセルを対象として、ピクセルバンド値とピクセル数からなるレコードの集合を返します。バンドを指定しない場合には、1番と仮定します。デフォルトでは NODATA 値のピクセルは数えられず、ピクセルの他の値は出力され、ピクセルバンド値は最も近い整数に丸められます。
  1. rast, nband=1, exclude_nodata_value=true, searchvalues=NULL, roundto=0,
  2. rast, nband, searchvalues, roundto=0,
  3. rast, searchvalues, roundto=0,
  4. rast, searchvalue, roundto=0
  5. rast, nband, exclude_nodata_value, searchvalue, roundto=0
  6. rast, nband, searchvalue, roundto=0
  7. rastertable, rastercolumn, nband=1, exclude_nodata_value=true, searchvalues=NULL, roundto=0,
  8. rastertable, rastercolumn, searchvalues, roundto=0,
  9. rastertable, rastercolumn, nband, searchvalues, roundto=0,
  10. rastertable, rastercolumn, nband, exclude_nodata_value, searchvalue, roundto=0
  11. rastertable, rastercolumn, searchvalue, roundto=0
  12. rastertable, rastercolumn, nband, searchvalue, roundto=0

ラスター入力
ST_RastFromWKB (wkb)    Well-Known Binary (WKB) ラスターからラスター値を返します。
ST_RastFromHexWKB (wkb)    Well-Known バイナリ (WKB) ラスターの 16進数表現からラスターを返します。

出力
ST_AsBinary/ST_AsWKB    ラスターの Well-Known Binary (WKB) 表現を返します。
  1. rast, outasin=FALSE
  2. rast, outasin=FALSE
ST_AsHexWKB (rast, outasin=FALSE)    Well-Known Binary (WKB) ラスターを 16進数表現で返します。
ST_AsGDALRaster (rast, format, options=NULL, srid=sameassource)    指定された GDAL ラスター書式でラスタータイルを返します。ラスター書式はコンパイルしたライブラリが対応するものです。ライブラリが対応する書式の一覧を得るにはST_GDALRasters() を使います。
ST_AsJPEG    ラスターの選択されたバンドを、単一の Joint Photographic Exports Group (JPEG) 画像としてバイト配列で返します。バンドを指定せず、1バンドか 3より多いバンドがある場合には、1番バンドを使用します。3バンドのみ指定した場合には、3バンドを使用し、RGB に対応付けます。
  1. rast, options=NULL
  2. rast, nband, quality
  3. rast, nband, options=NULL
  4. rast, nbands, options=NULL
  5. rast, nbands, quality
ST_AsPNG    ラスターの選択されたバンドを、単一の portable network graphics (PNG) 画像としてバイト配列で返します。バンドを指定せず、1バンドか 3バンドか 4バンドある場合には、全てのバンドを使用します。バンドを指定せず、2バンドか 4より多いバンドがある場合には、1番バンドを使用します。対象バンドは RGB または RGBA に対応付けられます。
  1. rast, options=NULL
  2. rast, nband, compression
  3. rast, nband, options=NULL
  4. rast, nbands, compression
  5. rast, nbands, options=NULL
ST_AsTIFF    ラスターの選択されたバンドを、単一の TIFF 画像 (バイト配列) として返します。バンドを指定しないか指定したバンドがラスター内に無い場合には、全てのバンドの使用を試みます。
  1. rast, options='', srid=sameassource
  2. rast, compression='', srid=sameassource
  3. rast, nbands, compression='', srid=sameassource
  4. rast, nbands, options, srid=sameassource

ラスター処理: 地図代数
ST_Clip    入力ジオメトリーで切り取ったラスターを返します。バンドが指定されていない場合には、全てのバンドが処理されます。cropが指定されていなかったり TRUE となっている場合には、出力ラスターは切り取られます。touchedが TRUE の場合には、接触するピクセルは取り込まれ、TRUE でない場合には、中心がジオメトリー内にあるピクセルだけが取り込まれます。
  1. rast, nband, geom, nodataval=NULL, crop=TRUE, touched=FALSE
  2. rast, nband, geom, nodataval, crop=TRUE, touched=FALSE
  3. rast, nband, geom, crop, touched=FALSE
  4. rast, geom, nodataval=NULL, crop=TRUE, touched=FALSE
  5. rast, geom, nodataval, crop=TRUE, touched=FALSE
  6. rast, geom, crop, touched=FALSE
ST_ColorMap    元のラスターと指定したバンドから 4個までの 8BUI バンド (grayscale, RGB, RGBA) からなる新しいラスターを生成します。
  1. rast, nband=1, colormap=grayscale, method=INTERPOLATE
  2. rast, colormap, method=INTERPOLATE
ST_Grayscale    元のラスターと指定したバンドを赤、緑、青バンドとして一つの 8BUI バンドを持つラスタを生成します。
  1. rast, redband=1, greenband=2, blueband=3, extenttype=INTERSECTION
  2. rastbandargset, extenttype=INTERSECTION
ST_Intersection    二つのラスターの共有部分またはベクタ化したラスターとジオメトリーとのインタセクトした部分を表現する、ラスターまたはジオメトリーとピクセル値の組の集合を返します。
  1. geom, rast, band_num=1
  2. rast, geom
  3. rast, band, geomin
  4. rast1, rast2, nodataval
  5. rast1, rast2, returnband, nodataval
  6. rast1, band1, rast2, band2, nodataval
  7. rast1, band1, rast2, band2, returnband, nodataval
ST_MapAlgebra (callback function version)    コールバック関数版 - 一つ以上の入力ラスター、バンドインデックスと一つのユーザ定義コールバック関数から、一つのバンドからなるラスターを返します。
  1. rastbandargset, callbackfunc, pixeltype=NULL, extenttype=INTERSECTION, customextent=NULL, distancex=0, distancey=0, VARIADIC userargs=NULL
  2. rast, nband, callbackfunc, pixeltype=NULL, extenttype=FIRST, customextent=NULL, distancex=0, distancey=0, VARIADIC userargs=NULL
  3. rast, nband, callbackfunc, pixeltype=NULL, extenttype=FIRST, customextent=NULL, distancex=0, distancey=0, VARIADIC userargs=NULL
  4. rast1, nband1, rast2, nband2, callbackfunc, pixeltype=NULL, extenttype=INTERSECTION, customextent=NULL, distancex=0, distancey=0, VARIADIC userargs=NULL
  5. rast, nband, callbackfunc, mask, weighted, pixeltype=NULL, extenttype=INTERSECTION, customextent=NULL, VARIADIC userargs=NULL
ST_MapAlgebra (expression version)    数式版 - 一つか二つの入力ラスター、バンド番号、一つ以上のユーザ定義SQL 式から一つのバンドを持つラスターを返します。
  1. rast, nband, pixeltype, expression, nodataval=NULL
  2. rast, pixeltype, expression, nodataval=NULL
  3. rast1, nband1, rast2, nband2, expression, pixeltype=NULL, extenttype=INTERSECTION, nodata1expr=NULL, nodata2expr=NULL, nodatanodataval=NULL
  4. rast1, rast2, expression, pixeltype=NULL, extenttype=INTERSECTION, nodata1expr=NULL, nodata2expr=NULL, nodatanodataval=NULL
ST_MapAlgebraExpr    1バンド版: 入力バンドに対する妥当な PostgreSQL 代数演算で形成された、指定したピクセルタイプとなる 1バンドラスターを生成します。バンドを指定しない場合には、1番を仮定します。
  1. rast, band, pixeltype, expression, nodataval=NULL
  2. rast, pixeltype, expression, nodataval=NULL
ST_MapAlgebraExpr    2バンド版: 二つの入力バンドに対する妥当な PostgreSQL 代数演算で形成された、指定したピクセルタイプとなる 1バンドラスターを生成します。バンドを指定しない場合には、どちらも 1番と仮定します。結果ラスターは、一つ目のラスターのアラインメント (スケール、スキュー、ピクセル角位置) にあわされます。範囲は"extenttype"引数で定義されます。取りうる"extenttype"の値は INTERSECTION, UNION, FIRST, SECOND です。
  1. rast1, rast2, expression, pixeltype=same_as_rast1_band, extenttype=INTERSECTION, nodata1expr=NULL, nodata2expr=NULL, nodatanodataval=NULL
  2. rast1, band1, rast2, band2, expression, pixeltype=same_as_rast1_band, extenttype=INTERSECTION, nodata1expr=NULL, nodata2expr=NULL, nodatanodataval=NULL
ST_MapAlgebraFct    1バンド版 - 入力バンドに対する妥当な PostgreSQL 関数で形成された、指定したピクセルタイプとなる 1バンドラスターを生成します。バンドを指定しない場合には、1番と仮定します。
  1. rast, onerasteruserfunc
  2. rast, onerasteruserfunc, VARIADIC args
  3. rast, pixeltype, onerasteruserfunc
  4. rast, pixeltype, onerasteruserfunc, VARIADIC args
  5. rast, band, onerasteruserfunc
  6. rast, band, onerasteruserfunc, VARIADIC args
  7. rast, band, pixeltype, onerasteruserfunc
  8. rast, band, pixeltype, onerasteruserfunc, VARIADIC args
ST_MapAlgebraFct    2バンド版 - 二つの入力バンドに対する妥当な PostgreSQL 関数で形成された、指定したピクセルタイプとなる 1バンドラスターを生成します。バンドを指定しない場合には、1番と仮定します。"extenttype"のデフォルトは INTERSECTION です。
  1. rast1, rast2, tworastuserfunc, pixeltype=same_as_rast1, extenttype=INTERSECTION, VARIADIC userargs
  2. rast1, band1, rast2, band2, tworastuserfunc, pixeltype=same_as_rast1, extenttype=INTERSECTION, VARIADIC userargs
ST_MapAlgebraFctNgb (rast, band, pixeltype, ngbwidth, ngbheight, onerastngbuserfunc, nodatamode, VARIADIC args)    1バンド版: ユーザ定義 PostgreSQL 関数を使用する最近傍地図代数関数です。入力ラスタバンドの近傍の値を与えた PL/pgSQL ユーザ定義関数の結果からなるラスターを返します。
ST_Reclass    元のラスターから再分類したバンドタイプからなるラスターを生成します。nband は変更するバンドです。nband が指定されていない場合には、1と仮定します。他の全てのバンドは変更せずに返します。可視画像の書式としてより単純な描画を行うために、16BUIバンドを 8BUI バンドに変換する、等のために使います。
  1. rast, nband, reclassexpr, pixeltype, nodataval=NULL
  2. rast, VARIADIC reclassargset
  3. rast, reclassexpr, pixeltype
ST_ReclassExact (rast, inputvalues, outputvalues, bandnumber=1, pixeltype=32BF, nodatavalue=NULL)    元ラスターから再分類したバンドからなる新しいラスターを生成します。元ラスターのバンド内の値から新たに生成されるラスターのバンド内の値への 1対 1のマッピングを使います。
ST_Union    ラスタータイルの集合を結合して 1以上のバンドからなる単一ラスターを返します。
  1. rast
  2. rast, unionargset
  3. rast, nband
  4. rast, uniontype
  5. rast, nband, uniontype

組み込み地図代数コールバック関数
ST_Distinct4ma    近隣のピクセル値のうち一意となるものを数えるラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs
ST_InvDistWeight4ma (value, pos, VARIADIC userargs)    近隣のピクセル値の内挿補間を行うラスター処理関数です。
ST_Max4ma    近隣のピクセル値の最大値を計算するラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs
ST_Mean4ma    近隣のピクセル値の平均値を計算するラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs
ST_Min4ma    近隣のピクセル値の最小値を計算するラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs
ST_MinDist4ma (value, pos, VARIADIC userargs)    対象ピクセルと値を持つ近隣ピクセルとの最短距離をピクセル単位で返すラスター処理関数です。
ST_Range4ma    近隣のピクセル値の範囲を計算するラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs
ST_StdDev4ma    近隣のピクセル値の標準偏差を計算するラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs
ST_Sum4ma    近隣のピクセル値の合計を計算するラスター処理関数です。
  1. matrix, nodatamode, VARIADIC args
  2. value, pos, VARIADIC userargs

ラスター処理: DEM (標高)
ST_Aspect    標高ラスターバンドの傾斜方向 (デフォルトの単位は度) を返します。地形解析に使えます。
  1. rast, band=1, pixeltype=32BF, units=DEGREES, interpolate_nodata=FALSE
  2. rast, band, customextent, pixeltype=32BF, units=DEGREES, interpolate_nodata=FALSE
ST_HillShade    与えられた方位、高度、明度、スケールの入力を使って標高ラスターバンドの仮想照明を返します。
  1. rast, band=1, pixeltype=32BF, azimuth=315, altitude=45, max_bright=255, scale=1.0, interpolate_nodata=FALSE
  2. rast, band, customextent, pixeltype=32BF, azimuth=315, altitude=45, max_bright=255, scale=1.0, interpolate_nodata=FALSE
ST_Roughness (rast, nband, customextent, pixeltype="32BF", interpolate_nodata=FALSE )    DEM の「粗度」を計算したラスターを返します。
ST_Slope    標高ラスターバンドの傾斜角 (デフォルトでは度単位) を返します。地形解析に使えます。
  1. rast, nband=1, pixeltype=32BF, units=DEGREES, scale=1.0, interpolate_nodata=FALSE
  2. rast, nband, customextent, pixeltype=32BF, units=DEGREES, scale=1.0, interpolate_nodata=FALSE
ST_TPI (rast, nband, customextent, pixeltype="32BF", interpolate_nodata=FALSE )    地形的位置指数を計算したラスターを返します。
ST_TRI (rast, nband, customextent, pixeltype="32BF", interpolate_nodata=FALSE )    起伏指標を計算したラスターを返します。
ST_InterpolateRaster (input_points, algorithm_options, template, template_band_num=1)    X 値と Y 値を使用してグリッド上のポイントを配置し、ポイントの Z 値をサーフェス標高として配置し、3次元ポイントの入力セットに基づいてグリッドサーフェスを補間します。
ST_Contour (rast, bandnumber=1, level_interval=100.0, level_base=0.0, fixed_levels=ARRAY[], polygonize=false)    与えられたラスターバンドから等高線ベクタを生成します。GDAL等高線生成アルゴリズムを使います。

ラスター処理: ラスターからジオメトリー
Box3D (rast)    ラスターを囲むボックスの box3d 表現を返します。
ST_ConvexHull (rast)    BandNoDataValue と等しいピクセル値を含むラスターの凸包ジオメトリーを返します。一般的な形状でスキューのないラスターでは、ST_Envelope と同じ結果になります。不規則な形状をしているか回転しているラスターでのみ使います。
ST_DumpAsPolygons (rast, band_num=1, exclude_nodata_value=TRUE)    指定されたラスターバンドから geomval (geom,val) 行の集合を返します。バンドを指定しない場合のデフォルトは 1です。
ST_Envelope (rast)    ラスターの範囲のポリゴン表現を返します。
ST_MinConvexHull (rast, nband=NULL)    NODATA 値を除いたラスターの凸包ジオメトリーを返します。
ST_Polygon (rast, band_num=1)    NODATA 値でないピクセル値を持つピクセルの結合で形成されるマルチポリゴンジオメトリを返します。バンドを指定しない場合のデフォルトは 1です。
ST_IntersectionFractions (rast, geom)    ラスター上の個々のセルのうち与えられたジオメトリーで覆われたものの断片を計算します。

ラスター演算子
&&    A のバウンディングボックスが B のバウンディングボックスとインタセクトする場合にTRUEを返します。
  1. A, B
  2. A, B
  3. B, A
&< (A, B)    A のバウンディングボックスが B のバウンディングボックスをオーバラップするか、B のバウンディングボックスの左にある場合にTRUEを返します。
&> (A, B)    A のバウンディングボックスが B のバウンディングボックスをオーバラップするか、B のバウンディングボックスの右にある場合に TRUE を返します。
= (A, B)    A のバウンディングボックスが B のバウンディングボックスと同じ場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
@    A のバウンディングボックスが B のバウンディングボックスに含まれる場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
  1. A, B
  2. A, B
  3. B, A
~= (A, B)    A のバウンディングボックスが B のバウンディングボックスと同じ場合に TRUEを返します。
~    A のバウンディングボックスが B のバウンディングボックスを含む場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
  1. A, B
  2. A, B
  3. B, A

ラスターとラスタバンドの空間関係関数
ST_Contains    rastA の外に rastB の点が無く、rastA の内部に rastB の内部の点が一つ以上ある場合にTRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_ContainsProperly    rastB が rastA の内部でインタセクトし、かつ rastA の境界とも外部ともインタセクトしない場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_Covers    rastB が rastA の外部に点を持たない場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_CoveredBy    rastA が rastB の外部に点を持たない場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_Disjoint    rastA が rastB とインタセクトしない場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_Intersects    rastA が rastB とインタセクトする場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
  3. rast, nband, geommin
  4. rast, geommin, nband=NULL
  5. geommin, rast, nband=NULL
ST_Overlaps    rastA と rastB がインタセクトして、かつ一方がもう一方に完全には包含されない場合には TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_Touches    rastA と rastB が少なくとも一つの共通の点を持ち、かつ二つのラスターの内部同士がインタセクトしない場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_SameAlignment    ラスターが同じスキュー、スケール、空間参照系、オフセットを持つ (ピクセルが分割されることなく同じグリッドに置かれている) 場合に TRUE を返し、そうでない場合は問題を詳述する通知とともに FALSE を返します。
  1. rastA, rastB
  2. ulx1, uly1, scalex1, scaley1, skewx1, skewy1, ulx2, uly2, scalex2, scaley2, skewx2, skewy2
  3. rastfield agg
ST_NotSameAlignmentReason (rastA, rastB)    ラスターが同じアラインメントを持つかどうか、また、持たない場合にはその理由を示す文字列を返します。
ST_Within    rastA が rastB の外部に点を持たず、rastA の内部の少なくとも一つの点が rastB の内部にある場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB
  2. rastA, rastB
ST_DWithin    rastA と rastB が指定した距離内にある場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB, distance_of_srid
  2. rastA, rastB, distance_of_srid
ST_DFullyWithin    rastA と rastB が指定した距離内に完全に収まる場合に TRUE を返します。
  1. rastA, nbandA, rastB, nbandB, distance_of_srid
  2. rastA, rastB, distance_of_srid

ラスターに関する技法