全部產品
Search
文件中心

ApsaraDB RDS:ST_BuildPyramid

更新時間:Feb 28, 2024

為一個空間幾何資料表建立向量金字塔,加速資料顯示。

文法

boolean ST_BuildPyramid(cstring table, cstring geom, cstring fid, cstring config)

參數

參數名稱描述
table空間幾何表名。
geom幾何欄位名。
fid要素識別欄位名。
config建立金字塔的參數,JSON格式的字串。

config參數說明如下。

參數名稱類型預設值說明
namestring與table名稱相同金字塔的名稱。
parallelint0並行構建任務數,需要設定max_prepared_transactions參數,0表示並行最大化。
tileSizeint1024瓦片大小,取值需大於0且小於4096。
tileExtendint8瓦片的外擴大小,取值需大於0。
userExtentarray[double]null自訂地理輪廓,設定 [], 分別為:minx、miny、maxx、maxy。
splitSizeint10000決定索引節點分裂的最大要素數量。數值越大,金字塔越稀疏。
maxLevelint16金字塔的最大層級,取值為0~20。
sourceSRSint-1來源資料的座標系。如果不設定,則讀取中繼資料的 SRID。
destSRSint3857輸出瓦片座標系參考編碼(EPSG),僅支援3857和4326兩個值。
updateExtentSRSint4326更新金字塔函數的修改範圍使用的EPSG格式,詳情見ST_UpdatePyramid函數的說明。
updateBoxScaleint10影響更新金字塔操作的精度,詳情見ST_UpdatePyramid函數的說明。
buildRulesarray[object]null構建規則,每個object中包含levelvalue兩個值。
levelarray[int]null規則適用的層級數組。
valueobjectnull構建規則值。
filterstring""過濾運算式,PostgreSQL的查詢文法。
attrFieldsarray[string]nullmvt中的屬性欄位名稱。
mergearray[string]null對資料進行分組合并的過濾條件。

config樣本:

{
   "name" : "hello",           
   "parallel": 4,         
   "tileSize": 512,           
   "tileExtend": 8,
   "userExtent": [-180,-90,180,90],
   "splitSize": 5000,
   "maxLevel": 16,  
   "destSRS": 3857,
   "buildRules": [             
     {
       "level": [0,1,2],  
       "value": {
         "filter": "code!=0",
         "attrFields": ["name","color"],    
         "merge":["code=1"]
       }
     }
   ]
}

樣本

--為空白間幾何表roads建立向量金字塔。
select ST_BuildPyramid('roads', 'geom', 'id', '');
st_buildpyramid
----------
t