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