It shows how MaxError configuration for ST_CurveToLine is useful
as it results in different number of segments per quadrant based
on radius of each arc...
git-svn-id: http://svn.osgeo.org/postgis/trunk@15431
b70326c6-7e19-0410-871a-
916f4a2858ee
2, -- Above is max angle between generating radii
3 -- Symmetric and RetainAngle flags
), 2));
+SELECT 'multiarch1', ST_AsText(ST_SnapToGrid(ST_CurveToLine(
+ 'CIRCULARSTRING(0 0,100 -100,200 0,400 200,600 0)'::geometry,
+ radians(45), -- Tolerance
+ 2, -- Above is max angle between generating radii
+ 3 -- Symmetric and RetainAngle flags
+), 2));
+SELECT 'multiarch1.maxerr20.sym', ST_AsText(ST_SnapToGrid(ST_CurveToLine(
+ 'CIRCULARSTRING(0 0,100 -100,200 0,400 200,600 0)'::geometry,
+ 20, -- Tolerance
+ 1, -- Above is max distance between curve and line
+ 1 -- Symmetric
+), 2));
semicircle3|LINESTRING(0 0,24 -64,82 -98,150 -86,194 -34,200 0)
semicircle3.sym|LINESTRING(0 0,20 -58,70 -96,130 -96,180 -58,200 0)
semicircle3.sym.ret|LINESTRING(0 0,14 -50,66 -94,134 -94,186 -50,200 0)
+multiarch1|LINESTRING(0 0,30 -70,100 -100,170 -70,200 0,258 142,400 200,542 142,600 0)
+multiarch1.maxerr20.sym|LINESTRING(0 0,50 -86,150 -86,200 0,258 142,400 200,542 142,600 0)