全部產品
Search
文件中心

PolarDB:ST_CurveToLine

更新時間:Jul 06, 2024

把一個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