全部產品
Search
文件中心

AnalyticDB:GanosBase函數列表

更新時間:Oct 26, 2024

AnalyticDB PostgreSQL版GanosBase時空引擎(以下簡稱GanosBase)提供一系列的資料類型、函數和預存程序,用於在AnalyticDB PostgreSQL版資料庫中對空間或時空資料進行高效的儲存、索引、查詢和分析計算。

關於GanosBase時空引擎的更多介紹,請參見簡介

Raster SQL參考

功能

函數

說明

Raster建立

ST_CreateRast

建立一個基於阿里雲Object Storage Service服務(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

設定字串類型屬性預設長度。