PostGIS 3.6 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で使えます。
ST_Contour (rast, bandnumber=1, level_interval=100.0, level_base=0.0, fixed_levels=ARRAY[], polygonize=false)    与えられたラスタバンドから等高線ベクタを生成します。GDAL等高線生成アルゴリズムを使います。
ST_InterpolateRaster (input_points, algorithm_options, template, template_band_num=1)    X値とY値を使用してグリッド上のポイントを配置し、ポイントのZ値をサーフェス標高として配置し、3次元ポイントの入力セットに基づいてグリッドサーフェスを補間します。
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_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=true
  2. rast, forceChecking=true
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    指定したバンドにおける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    ラスタまたはラスタカバレッジの指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、1番と仮定します。
  1. rast, exclude_nodata_value
  2. rast, nband, exclude_nodata_value
ST_SummaryStatsAgg    集約関数です。ラスタ集合の指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、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_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 )    起伏指標を計算したラスタを返します。

ラスタ処理: ラスタからジオメトリ
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です。

ラスタ演算子
&&    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

ラスタに関する技法