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 設置字符串類型屬性默認長度。