AnalyticDB PostgreSQL版Ganos时空引擎(以下简称Ganos)提供一系列的数据类型、函数和存储过程,用于在AnalyticDB PostgreSQL版数据库中对空间或时空数据进行高效的存储、索引、查询和分析计算。
关于Ganos时空引擎的更多介绍,请参见简介。
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 | 设置字符串类型属性默认长度。 |