PostGIS 3.5 栅格速查表

此版本新增 1 此版本增强 2   聚合 agg    需要 GEOS (3.9,3.10,3.11,3.12) 或更高版本 g3.9   2.5/3D 支持 3d   SQL-MMmm   支持地理 G
栅格支持数据类型
geomval    一种包含两个字段的空间数据类型:geom(保存几何对象)和 val(保存栅格波段的双精度像素值)。
addbandarg    一种复合类型,用作 ST_AddBand 函数的输入,用于定义新波段的属性和初始值。
rastbandarg    一种复合类型,用于需要表示栅格和该栅格的波段索引时。
raster    栅格空间数据类型。
reclassarg    一种复合类型,用作 ST_Reclass 函数的输入,用于定义重分类的行为。
summarystats    一种复合类型,由 ST_SummaryStats 和 ST_SummaryStatsAgg 函数返回。
unionarg    一种复合类型,用作 ST_Union 函数的输入,用于定义要处理的波段和 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 ()    返回 PostGIS 通过 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)    根据输入的 3-d 点集,使用 X 和 Y 值将点定位在网格上,并使用点的 Z 值作为表面高程,来插值生成网格表面。
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    返回一个给定尺寸(宽度和高度)、左上角 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    如果波段仅填充无数据值,则返回 true。
  1. rast, band, forceChecking=true
  2. rast, forceChecking=true
ST_BandPath (rast, bandnum=1)    返回存储在文件系统中的波段的系统文件路径。如果未指定 bandnum,则假定为 1。
ST_BandFileSize (rast, bandnum=1)    返回存储在文件系统中的波段的文件大小。如果未指定 bandnum,则假定为 1。
ST_BandFileTimestamp (rast, bandnum=1)    返回存储在文件系统中的波段的文件时间戳。如果未指定 bandnum,则假定为 1。
ST_BandPixelType (rast, bandnum=1)    返回给定波段的像素类型。如果未指定 bandnum,则假定为 1。
ST_MinPossibleValue (pixeltype)    返回此像素类型可以存储的最小值。
ST_HasNoBand (rast, bandnum=1)    如果没有具有给定波段编号的波段,则返回 true。如果未指定波段编号,则假定波段编号为 1。

栅格像素访问器和设置器
ST_PixelAsPolygon (rast, columnx, rowy)    返回限定特定行和列像素的 polygon 几何图形。
ST_PixelAsPolygons (rast, band=1, exclude_nodata_value=TRUE)    返回限定栅格波段每个像素的 polygon 几何图形,以及每个像素的值、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    返回给定列、行像素中或特定几何点处给定波段的值。波段编号从 1 开始,如果未指定,则假定为 1。如果 exclude_nodata_value 设置为 false,则所有像素(包括无数据像素)都被视为相交并返回值。如果未传入 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    返回由列和行或以与栅格相同的空间参考坐标系表示的几何点指定的给定波段的像素的最近非 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    返回一个 2-D 双精度数组,其中包含围绕给定波段的像素的非 NODATA 值,该像素由 columnX 和 rowY 或以与栅格相同的空间参考坐标系表示的几何点指定。
  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    返回修改后的栅格,该栅格是通过设置给定列、行像素或与特定几何图形相交的像素中给定波段的值而产生的。波段编号从 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    获取指定波段的值作为二维数组。
  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 表中定义的特定整数 srid。
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、Cubic、CubicSpline、Lanczos、Max 或 Min 重采样算法计算。默认为 NearestNeighbor。
  1. rast, scalexy, algorithm=NearestNeighbor, maxerr=0.125
  2. rast, scalex, scaley, algorithm=NearestNeighbor, maxerr=0.125
ST_Reskew    通过仅调整其倾斜(或旋转参数)来重采样栅格。新的像素值使用 NearestNeighbor (英语或美式拼写)、Bilinear、Cubic、CubicSpline 或 Lanczos 重采样算法计算。默认为 NearestNeighbor。
  1. rast, skewxy, algorithm=NearestNeighbor, maxerr=0.125
  2. rast, skewx, skewy, algorithm=NearestNeighbor, maxerr=0.125
ST_SnapToGrid    通过将其捕捉到网格来重采样栅格。新的像素值使用 NearestNeighbor (英语或美式拼写)、Bilinear、Cubic、CubicSpline 或 Lanczos 重采样算法计算。默认为 NearestNeighbor。
  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、Cubic、CubicSpline、Lanczos,默认为 NearestNeighbor。
  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    设置给定波段表示无数据的值。如果未指定波段,则假定为波段 1。要将波段标记为没有 nodata 值,请设置 nodata 值 = 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    返回 summarystats,其中包含栅格或栅格覆盖的给定栅格波段的计数、总和、平均值、标准差、最小值、最大值。如果未指定波段,则假定为波段 1。
  1. rast, exclude_nodata_value
  2. rast, nband, exclude_nodata_value
ST_SummaryStatsAgg    聚合。返回 summarystats,其中包含一组栅格中给定栅格波段的计数、总和、平均值、标准差、最小值、最大值。如果未指定波段,则假定为波段 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 Binary (WKB) 栅格的十六进制表示形式返回栅格值。

栅格输出
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) 的十六进制表示形式。
ST_AsGDALRaster (rast, format, options=NULL, srid=sameassource)    以指定的 GDAL 栅格格式返回栅格瓦片。栅格格式是您编译的库支持的格式之一。使用 ST_GDALDrivers() 获取您的库支持的格式列表。
ST_AsJPEG    将选定的栅格瓦片波段作为单个联合图像专家组 (JPEG) 图像(字节数组)返回。如果未指定波段,并且有 1 个或 3 个以上波段,则仅使用第一个波段。如果只有 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    将选定的栅格瓦片波段作为单个可移植网络图形 (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  2    返回按输入几何图形裁剪的栅格。如果未指定波段号,则处理所有波段。如果未指定或指定为 TRUE,则裁剪输出栅格。如果 touched 设置为 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    从源栅格和指定的波段创建最多四个 8BUI 波段(灰度、RGB、RGBA)的新栅格。如果未指定,则假定为波段 1。
  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 (回调函数版本)    回调函数版本 - 返回一个单波段栅格,该栅格由一个或多个输入栅格、波段索引和一个用户指定的回调函数生成。
  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 (表达式版本)    表达式版本 - 返回一个单波段栅格,该栅格由一个或两个输入栅格、波段索引和一个或多个用户指定的 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. rast, band, pixeltype, expression, nodataval=NULL
  2. rast, pixeltype, expression, nodataval=NULL
ST_MapAlgebraExpr    2 栅格波段版本:创建一个新的单波段栅格,该栅格通过对两个输入栅格波段应用有效的 PostgreSQL 代数运算并提供像素类型而形成。如果未指定波段编号,则假定每个栅格的波段 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. 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 波段版本 - 创建一个新的单波段栅格,该栅格通过对 2 个输入栅格波段应用有效的 PostgreSQL 函数并提供像素类型而形成。如果未指定波段,则假定为波段 1。如果未指定,范围类型默认为 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 函数进行 Map Algebra 最近邻。返回一个栅格,其值是 PLPGSQL 用户函数的结果,该函数涉及来自输入栅格波段的值的邻域。
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

内置 Map Algebra 回调函数
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)    返回栅格封闭框的 3d 框表示。
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)    返回一个多边形几何,由具有非空数据像素值的像素的并集形成。如果未指定波段编号,则波段编号默认为 1。

栅格运算符
&&    如果 A 的边界框与 B 的边界框相交,则返回 TRUE。
  1. A, B
  2. A, B
  3. B, A
&< (A, B)    如果 A 的边界框在 B 的左侧,则返回 TRUE。
&> (A, B)    如果 A 的边界框在 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    如果栅格 rastB 的任何点都不在栅格 rastA 的外部,并且 rastB 的内部至少有一个点在 rastA 的内部,则返回 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

栅格提示