ST_AsSVG — 傳回幾何圖形的 SVG 路徑資料。
text ST_AsSVG(
geometry geom, integer rel=0, integer maxdecimaldigits=15)
;
text ST_AsSVG(
geography geog, integer rel=0, integer maxdecimaldigits=15)
;
以純量向量圖形 (SVG) 路徑資料的形式傳回幾何圖形。使用 1 作為第二個引數,使路徑資料以相對移動的方式實現;預設值 (或 0) 則使用絕對移動。第三個引數可用於減少輸出中使用的最大小數位數(預設為 15)。當 'rel' 引數為 0 時,點幾何圖形將呈現為 cx/cy;當 'rel' 為 1 時,則呈現為 x/y。多點幾何圖形以逗號 (",") 分隔,GeometryCollection 幾何圖形以分號 (";") 分隔。
若要使用 PostGIS SVG 圖形,請查看 pg_svg 函式庫,其中提供了用於處理 ST_AsSVG 輸出的 plpgsql 函式。
增強功能:3.4.0 版開始支援所有曲線類型
變更:2.0.0 版開始使用預設引數並支援具名引數
![]() |
|
可用性:1.2.2。可用性:1.4.0。在 PostGIS 1.4.0 中變更為在絕對路徑中包含 L 命令,以符合 http://www.w3.org/TR/SVG/paths.html#PathDataBNF |
此方法支援圓形字串和曲線。
SELECT ST_AsSVG('POLYGON((0 0,0 1,1 1,1 0,0 0))'::geometry); st_assvg -------- M 0 0 L 0 -1 1 -1 1 0 Z
圓形字串
SELECT ST_AsSVG( ST_GeomFromText('CIRCULARSTRING(-2 0,0 2,2 0,0 2,2 4)') ); st_assvg -------- M -2 0 A 2 2 0 0 1 2 0 A 2 2 0 0 1 2 -4
多重曲線
SELECT ST_AsSVG('MULTICURVE((5 5,3 5,3 3,0 3), CIRCULARSTRING(0 0,2 1,2 2))'::geometry, 0, 0); st_assvg ------------------------------------------------ M 5 -5 L 3 -5 3 -3 0 -3 M 0 0 A 2 2 0 0 0 2 -2
多重曲面
SELECT ST_AsSVG('MULTISURFACE( CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0), (-1 0,0 0.5,1 0,0 1,-1 0)), ((7 8,10 10,6 14,4 11,7 8)))'::geometry, 0, 2); st_assvg --------------------------------------------------------- M -2 0 A 1 1 0 0 0 0 0 A 1 1 0 0 0 2 0 A 2 2 0 0 0 -2 0 Z M -1 0 L 0 -0.5 1 0 0 -1 -1 0 Z M 7 -8 L 10 -10 6 -14 4 -11 Z