全部产品
Search
文档中心

云原生数据仓库AnalyticDB:GanosBase函数列表

更新时间:Oct 25, 2024

AnalyticDB PostgreSQL版GanosBase时空引擎(以下简称GanosBase)提供一系列的数据类型、函数和存储过程,用于在AnalyticDB PostgreSQL版数据库中对空间或时空数据进行高效的存储、索引、查询和分析计算。

关于GanosBase时空引擎的更多介绍,请参见简介

Raster SQL参考

功能

函数

说明

Raster创建

ST_CreateRast

创建一个基于阿里云对象存储服务(OSS)的raster对象。

导入导出

ST_ImportFrom

将一个OSS文件导入到数据库。

ST_ExportTo

将一个raster对象导出为OSS文件。

金字塔操作

ST_BuildPyramid

创建影像金字塔。

ST_DeletePyramid

删除影像金字塔。

ST_BestPyramidLevel

根据视口的世界坐标范围,长和宽来计算最佳的金字塔层级。

坐标系统转换

ST_Rast2WorldCoord

由像元坐标及像元所在金字塔层级,根据仿射变换公式计算世界坐标。

ST_World2RastCoord

由世界坐标及像元所在金字塔层级,根据逆仿射变换公式计算像元坐标。

像素值操作

ST_ClipDimension

计算Clip结果的像素坐标。

ST_Clip

对raster对象进行裁剪操作。

ST_ClipToRast

用指定的Geometry对象去裁剪Raster对象,并将裁剪结果作为一个新的Raster对象返回。

ST_AddZ

根据栅格的波段值来对geometry的z值进行设置。

ST_MosaicFrom

将指定的raster对象进行镶嵌操作,合并成为一个新的raster对象。

DEM操作

ST_Slope

计算坡度,返回弧度为单位的像元坡度数组。

属性查询与更新

ST_Name

获得raster对象的名称。如果没有定义名称,则返回空值。

ST_SetName

设置raster对象的名称。

ST_MetaData

获得raster对象的元数据,返回JSON格式。

ST_Width

获得raster对象的宽度。如果需要获得分块的宽度,参见ST_ChunkWidth。

ST_Height

获得raster对象的高度。

ST_NumBands

获得raster对象的波段数。

ST_Value

输出指定波段和行列号的像元值。

ST_RasterID

获得raster对象的UUID(通用唯一识别码)。

ST_CellDepth

获得raster对象的像素深度。深度值可以为以下值之一:0,1,2,4,8,16,32,64。其中,0为像素深度未知。

ST_CellType

获得raster对象的像素类型。类型值可以为以下值之一:"8BSI", "8BUI", "16BSI", "16BUI", "32BSI", "32BUI", "32BF", "64BF"。

ST_InterleavingType

获得raster对象的交错类型。交错类型可以是以下其中的一种:"BSQ","BIL","BIP"。

ST_TopPyramidLevel

获得raster对象的金字塔最高层级。

ST_Extent

获得raster对象的坐标范围,返回PostgreSQL的BOX对象,格式为'((maxX,maxY),(minX,minY))'

ST_ConvexHull

根据栅格的地理参考信息获得栅格对象的凸包。

ST_Envelope

根据栅格的地理参考信息获得栅格对象的外包矩形。

ST_Srid

获得raster对象的空间参考标识符。空间参考标识符(SRID)的标识以及定义保存在系统表spatial_ref_sys。

ST_SetSrid

设置raster对象的空间参考标识符。空间参考标识符(SRID)的标识以及定义保存在系统表 spatial_ref_sys。

ST_ScaleX

获得raster对象在空间参考系下X方向的像素宽度。

ST_ScaleY

获得raster对象在空间参考系下Y方向的像素宽度。

ST_SetScale

设置raster对象在空间参考系下X、Y方向的像素宽度。

ST_SkewX

获得raster对象在X方向的旋转。

ST_SkewY

获得raster对象在Y方向的旋转。

ST_SetSkew

设置raster对象X、Y方向的旋转。

ST_UpperLeftX

获得raster对象在空间参考系下左上角点X值。

ST_UpperLeftY

获得raster对象在空间参考系下左上角点Y值。

ST_SetUpperLeft

设置raster对象在空间参考系下左上角点X、Y值。

ST_PixelWidth

获得raster对象在空间参考系下像素的宽度。

ST_PixelHeight

获得raster对象在空间参考系下像素的高度。

ST_Georeference

获得raster对象的地理参考信息。text格式的仿射参数为:"A,B,C,D,E,F"。

ST_IsGeoreferenced

获取raster对象是否已被地理参考。boolean格式的返回结果为:“t”或“f”。

ST_UnGeoreference

去掉raster对象的地理参考信息。

ST_SetGeoreference

设置raster对象的地理参考信息。

ST_NoData

设置raster对象的地理参考信息。

ST_SetNoData

设置raster对象的指定波段的NoData(无效值标识)的值。

ST_ColorTable

获取raster对象的某一个波段的颜色表信息,返回颜色表的JSON格式。

ST_SetColorTable

设置raster对象的指定波段的颜色表信息,采用颜色表的JSON格式。

ST_Statistics

设置raster对象的指定波段的颜色表信息,采用颜色表的JSON格式。

ST_SetStatistics

设置raster对象的指定波段的统计值信息。

ST_SummaryStats

计算一个raster对象的指定波段集的统计值信息。

ST_ColorInterp

获取raster对象的某一个波段的颜色解释类型。

ST_SetColorInterp

设置raster对象的指定波段的颜色解释类型。

ST_Histogram

获取raster对象的指定波段的统计直方图信息,以文本格式返回。如果不存在直方图,函数返回空值。

ST_SetHistogram

设置raster对象的指定波段的直方图信息,参数采用JSON文本格式进行定义。

ST_BuildHistogram

计算一个raster对象的指定波段集的直方图信息。

ST_StatsQuantile

计算raster对象的中位数。

ST_Quantile

查询raster对象分位数的像素值。

ST_MD5Sum

返回一个raster对象的MD5字符串。

ST_SetMD5Sum

设置raster对象的MD5字符串。

ST_XMin

获得raster对象在X方向的最小值。

ST_YMin

获得raster对象在Y方向的最小值。

ST_XMax

获得raster对象在X方向的最大值。

ST_YMax

获得raster对象在Y方向的最大值。

ST_ChunkHeight

获得raster对象分块的高度。

ST_ChunkWidth

获得raster对象分块的宽度。

ST_ChunkBands

获得raster对象分块波段维数量。

ST_MetaItems

获得栅格对象自定义元数据项的名称列表。

ST_SetMetaData

设置栅格对象或波段的元数据项。

ST_BeginDateTime

获得栅格对象的开始时间。

ST_EndDateTime

获得栅格对象的结束时间。

ST_SetBeginDateTime

设置栅格对象的开始时间。

ST_SetEndDateTime

设置栅格对象的结束时间。

ST_DateTime

获得栅格对象或波段的时间。

ST_SetDateTime

设置栅格对象的起始和终止时间或波段时间。

操作符

操作符(=)

判断两个raster的ID是否相同。

操作符(>)

判断两个raster的ID的比较关系。

操作符(<)

判断两个raster的ID的比较关系。

操作符(>=)

判断两个raster的ID的比较关系。

操作符(<=)

判断两个raster的ID的比较关系。

空间关系判断

ST_Intersects

判断raster和raster或raster和geometry的空间关系。

ST_Contains

判断raster和raster或raster和geometry的空间关系。

ST_ContainsProperly

判断raster和raster或raster和geometry的空间关系。

ST_Covers

判断raster和raster或raster和geometry的空间关系。

ST_CoveredBy

判断raster和raster或raster和geometry的空间关系。

ST_Disjoint

判断raster和raster或raster和geometry的空间关系。

ST_overlaps

判断raster和raster或raster和geometry的空间关系。

ST_Touches

判断raster和raster或raster和geometry的空间关系。

ST_Within

判断raster和raster或raster和geometry的空间关系。

辅助函数

ST_CheckGPU

验证是否有GPU环境。

ST_AKId

获取raster对象OSS的AccessKey ID,可用于配合批量修改raster对象的OSS登录密钥。

ST_SetAccessKey

设置raster对象OSS的登录信息。

ST_SetAKId

设置raster对象OSS的AccessKey ID。

ST_SetAKSecret

设置raster对象OSS的AccessKey Secret。

变量

ganos.raster.calculate_md5

指定是否在导入raster对象时计算MD5值并记录到元数据中。

ganos.raster.md5sum_chunk_size

指定计算MD5时每次读入的缓存的大小,单位是MB。

ganos.raster.mosaic_must_same_nodata

指定镶嵌时数据源的NoData值是否必须相同。镶嵌时并不会对NoData值进行转换,如果该变量的取值为false时可能会导致镶嵌后的像素语义不一致。

SpatialRef SQL参考

函数

说明

ST_SrEqual

判断两个空间参考是否相同。

ST_SrReg

注册一个新的空间参考。

ST_SrFromEsriWkt

将一个Esri Wkt规范的字符串转为OGC规范的字符串。

Trajectory SQL参考

功能

函数

说明

构造函数

ST_makeTrajectory

构造一个trajectory对象。

ST_append

向轨迹中追加轨迹点或子轨迹。

编辑与处理函数

ST_Compress

将trajectory对象按一定规则进行压缩。

ST_CompressSED

将trajectory对象按一定规则进行压缩。

ST_attrDeduplicate

指定轨迹属性字段名称,抽除该属性字段中值重复的轨迹点,轨迹首尾点必须保留,返回抽除后的轨迹。

ST_sort

轨迹按时间序列从小到大重新排序,并返回新的轨迹对象。

ST_deviation

计算处理后的轨迹与原始轨迹之间的偏差。

属性元数据

ST_attrDefinition

获得轨迹属性定义。

ST_attrSize

获得轨迹的属性数量。

ST_attrName

获得轨迹的属性名称。

ST_attrType

获得轨迹属性类型。

ST_attrLength

获得轨迹属性定义长度。

ST_attrNullable

获得轨迹属性是否允许为空。

事件函数

ST_addEvent

给轨迹增加一个事件。

ST_eventTimes

获得轨迹的所有事件时间。

ST_eventTime

获得轨迹指定索引事件时间。

ST_eventTypes

获得轨迹的所有事件类型。

ST_eventType

获得轨迹指定索引事件的类型。

属性函数

ST_startTime

获得轨迹的起始时间。

ST_endTime

获得轨迹的结束时间。

ST_trajectorySpatial

获得轨迹的几何对象。

ST_trajectoryTemporal

获得轨迹的时间线。

ST_trajAttrs

获得轨迹的属性信息。

ST_attrIntMax

获得轨迹属性字段类型为integer的属性最大值。

ST_attrIntMin

获得轨迹属性字段类型为integer的属性最小值。

ST_attrIntAverage

获得轨迹属性字段类型为integer的属性平均值。

ST_attrFloatMax

获得轨迹属性字段类型为float的属性最大值。

ST_attrFloatMin

获得轨迹属性字段类型为float的属性最小值。

ST_attrFloatAverage

获得轨迹属性字段类型为float的属性平均值。

ST_leafType

获得轨迹的叶面类型。

ST_leafCount

获得轨迹的叶子数量(轨迹点个数)。

ST_duration

获得该轨迹的持续时间。

ST_timeAtPoint

获取移动轨迹通过某位置的时间点集合。

ST_pointAtTime

获取指定时间位置的几何对象。

ST_velocityAtTime

获取指定时间位置的速度属性。

ST_accelerationAtTime

获取指定时间位置的加速度属性。

ST_timeToDistance

输出时间到欧氏距离的函数,以折线输出,横坐标为时间,纵坐标为距离。

ST_timeAtDistance

从起始点移动指定距离后所在的时间点。

ST_cumulativeDistanceAtTime

从起点出发到指定时间点累计的位移长度。

ST_timeAtCumulativeDistance

从起点出发位移到指定长度时所处的时间点。

ST_subTrajectory

根据时间段截取子段。

ST_subTrajectorySpatial

指定时间段的轨迹几何。

ST_samplingInterval

获取采样间隔。

ST_trajAttrsAsText

获得作为文本类型的轨迹属性数组。

ST_trajAttrsAsInteger

获得作为文本类型的轨迹属性数组。

ST_trajAttrsAsDouble

获得作为文本类型的轨迹属性数组。

ST_trajAttrsAsBool

获得作为文本类型的轨迹属性数组。

ST_trajAttrsAsTimestamp

获得作为时间戳类型的轨迹属性数组。

ST_attrIntFilter

指定轨迹属性字段,根据固定值,过滤出符合条件的轨迹点,返回过滤后的属性字段值(数组)。

ST_attrFloatFilter

指定轨迹属性字段,根据固定值,过滤出符合条件的轨迹点,返回过滤后的属性字段值(数组)。

ST_attrTimestampFilter

指定轨迹属性字段,根据固定值,过滤出符合条件的轨迹点,返回过滤后的属性字段值(数组)。

ST_attrNullFilter

指定轨迹属性字段,过滤出值为空的轨迹点,返回由这些轨迹点构成的新轨迹。

ST_attrNotNullFilter

指定轨迹属性字段,过滤出值不为空的轨迹点,返回由这些轨迹点构成的新轨迹。

ST_trajAttrsMeanMax

根据MEAN-MAX算法,计算出每个时间段内的均值的最大值。

外包框类型和处理函数

ST_MakeBox

获取指定类型在指定时间段内的外包框。

ST_MakeBox{Z|T|2D|2DT|3D|3DT}

直接写入值来构建Box。

ST_BoxndfToGeom

将外包框类型转化为Geometry类型。

ST_Has{xy|z|t}

确定指定的外包框是否包含某些维度。

ST_{X|Y|Z|T}Min

获取BoxNDF类型中指定维度的最小值。

ST_{X|Y|Z|T}Max

获取BoxNDF类型中指定维度的最大值。

ST_ExpandSpatial

将外包框的空间范围扩大至指定数值。

外包框处理算子

相交类算子

判断左侧对象和右侧对象的外包框是否在指定维度上相交。

包含算子

判断左侧对象的外包框是否在指定维度上包含右侧对象的外包框。

被包含算子

判断右侧对象的外包框是否在指定维度上包含左侧对象的外包框。

空间关系判断

ST_intersects

指定时间区间的轨迹段和几何图形空间是否相交。

ST_equals

指定时间区间的轨迹段和几何图形空间是否相同。

ST_distanceWithin

指定时间区间的轨迹段离给定几何对象在指定距离之内。

空间处理

ST_intersection

给定时间段的轨迹和给定的几何对象执行相交处理,返回相交处理后的轨迹对象。

ST_difference

给定时间段的轨迹和给定的几何对象执行相差处理,返回相交处理后的轨迹对象。

空间统计

ST_nearestApproachPoint

指定时间段的轨迹中找到与给定几何对象最邻近点信息。

ST_nearestApproachDistance

指定时间段的轨迹中找到与给定几何对象最近距离。

时空关系判断

ST_intersects

指定时间区间的轨迹段1和轨迹段2是否相交。

ST_equals

指定时间区间的轨迹段1和轨迹段2空间是否相等。

ST_distanceWithin

指定时间区间的轨迹段1离给定轨迹段2是否在指定距离之内。

ST_durationWithin

指定时间区间的轨迹段1和轨迹段2经过某点(空间相交点)的时间相差是否在指定时间区间内。

ST_{Z|T|2D|2DT|3D|3DT}Intersects

ST_ndIntersects函数,判断指定的两个对象在指定的坐标轴上是否相交。

ST_{2D|2DT|3D|3DT}Intersects_IndexLeft

ST_ndIntersects_IndexLeft函数,判断指定的两个对象在指定的坐标轴上是否相交,并指定使用第一个参数所在的列的索引。

ST_{2D|2DT|3D|3DT}DWithin

ST_ndDWithin函数,判断指定的两个对象在指定的坐标轴上是否距离小于等于某一给定值。

ST_{2D|2DT|3D|3DT}DWithin_IndexLeft

ST_ndDwithin_IndexLeft函数,判断指定的两个对象在指定的坐标轴上是否距离小于等于某一给定值,并指定使用第一个参数所在的列的索引。

ST_{T|2D|2DT|3D|3DT}Contains

ST_ndContains函数,判断第一个参数所对应的对象在指定的坐标轴上是否包含第二个参数所对应的对象。

ST_{T|2D|2DT|3D|3DT}Within

ST_ndWithin函数,判断第一个参数所对应的对象在指定的坐标轴上是否被包含于第二个参数所对应的对象。

时空处理

ST_intersection

定时间段的轨迹1和轨迹2执行对应时间点上的移动对象之间的空间Intersection处理。

时空统计

ST_nearestApproachPoint

指定时间段的轨迹1和轨迹2中找到最邻近点信息。

ST_nearestApproachDistance

指定时间段的轨迹1和轨迹2中找到最邻近距离。

距离测量

ST_length

获取一条轨迹的行程总长度,单位为米。

ST_euclideanDistance

计算两个轨迹对象之间的欧几里得距离。

ST_mdistance

计算轨迹对象中所有相同的时间点的欧几里得距离。

相似度分析

ST_lcsSimilarity

计算基于LCSS(Longest Common Sub Sequence)算法的两条轨迹的相似度

ST_lcsDistance

计算基于LCSS(Longest Common Sub Sequence)算法的两条轨迹的距离。

ST_lcsSubDistance

计算LCSS轨迹段与traj1在这段轨迹上的距离。

索引方式

GisT索引

对轨迹数据列创建GisT索引。

TrajGisT索引

TrajGisT索引是GisT索引的扩展。

变量

ganos.trajectory.attr_string_length

设置字符串类型属性默认长度。