把一個CircularString對象轉換成一個規則的LineString對象,或者把一個CurvedPolygon對象轉換成一個規則的Polygon對象。

語法

geometry  ST_CurveToLine(geometry  curveGeom , float  tolerance , integer  toleranceType , integer  flags);

參數

參數名稱 描述
curveGeom 目標Geometry對象。
tolerance 容差,默認值為0。
toleranceType 確定對tolerance參數的解釋:
  • 0:默認值,tolerance是每個象限的最大段數。
  • 1:tolerance是線與曲線在源單位下的最大偏差。
  • 2:tolerance是生成半徑之間的以弧度為單位的最大角度。
flags 標志位:
  • 0:默認值。
  • 1:對稱輸出(與方向無關)。
  • 2:保持角,在產生對稱輸出時避免減小角度(段長)。對稱輸出標志關閉時不起作用。

描述

  • 每一個Curve對象或者片段會被分隔轉換成近似線段的處理, 默認分隔處理方法是每四分之一圓分成32弧段。
  • 該函數常用于那些不支持CircularString幾何類型的平臺上。

示例

默認轉換參數與指定參數效果對比:
select ST_CurveToLine(g),ST_CurveToLine(g,pi()/4,2) from (select 'CIRCULARSTRING(0 0,0.5 0.5,1 0)'::geometry as g) as test;
12