ST_TileEnvelope — 使用 Web Mercator (SRID:3857) 投影,並根據 XYZ 切片系統建立矩形多邊形。
geometry ST_TileEnvelope(
integer tileZoom, integer tileX, integer tileY, geometry bounds=SRID=3857;LINESTRING(-20037508.342789 -20037508.342789,20037508.342789 20037508.342789), float margin=0.0)
;
根據 XYZ 切片系統中切片的範圍建立矩形多邊形。切片由縮放級別 Z 和該級別網格中切片的 XY 索引指定。 可用於定義 ST_AsMVTGeom 將幾何圖形轉換為 MVT 切片座標空間所需的切片邊界。
預設情況下,切片範圍使用 Web Mercator 座標系統 (SRID:3857),使用 Web Mercator 系統的標準範圍 (-20037508.342789, 20037508.342789)。這是 MVT 切片最常用的座標系統。可選的 bounds
參數可用於產生任何座標系統中的切片。它是一個幾何圖形,具有「縮放級別零」正方形的 SRID 和範圍,XYZ 切片系統就刻畫在這個正方形內。
可選的 margin
參數可用於將切片擴展指定的百分比。例如,margin=0.125
將切片擴展 12.5%,這相當於當切片範圍大小為 4096 時的 buffer=512,如 ST_AsMVTGeom 中所使用。這對於建立切片緩衝區非常有用,以便包含位於切片可視區域之外,但其存在會影響切片渲染的資料。例如,一個城市名稱(一個點)可能靠近切片的邊緣,因此其標籤應在兩個切片上渲染,即使該點僅位於一個切片的可視區域內。在查詢中使用擴展的切片將在兩個切片中包含城市點。使用負值來縮小切片。禁止使用小於 -0.5 的值,因為這會完全消除切片。使用 ST_AsMVTGeom
時不要指定邊距。請參閱 ST_AsMVT 的範例。
增強功能:3.1.0 新增 margin 參數。
可用性:3.0.0
SELECT ST_AsText( ST_TileEnvelope(2, 1, 1) ); st_astext ------------------------------ POLYGON((-10018754.1713945 0,-10018754.1713945 10018754.1713945,0 10018754.1713945,0 0,-10018754.1713945 0)) SELECT ST_AsText( ST_TileEnvelope(3, 1, 1, ST_MakeEnvelope(-180, -90, 180, 90, 4326) ) ); st_astext ------------------------------------------------------ POLYGON((-135 45,-135 67.5,-90 67.5,-90 45,-135 45))