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 由像元坐标及像元所在金字塔层级,根据仿射变换公式计算世界坐标。
S​T_World2RastCoord 由世界坐标及像元所在金字塔层级,根据逆仿射变换公式计算像元坐标。
像素值操作 S​T_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 指定时间段的轨迹中找到与给定几何对象最邻近点信息。
S​T_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中找到最邻近点信息。
S​T_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 设置字符串类型属性默认长度。