]> granicus.if.org Git - postgis/commitdiff
Add test for multi-arch curve
authorSandro Santilli <strk@kbt.io>
Mon, 19 Jun 2017 16:07:08 +0000 (16:07 +0000)
committerSandro Santilli <strk@kbt.io>
Mon, 19 Jun 2017 16:07:08 +0000 (16:07 +0000)
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

regress/curvetoline.sql
regress/curvetoline_expected

index 110269a93a581d8ffbbd18ea50380470bf72428f..8cf575b0a43f73fe81bd6266a00ae744d21f0747 100644 (file)
@@ -48,5 +48,17 @@ SELECT 'semicircle3.sym.ret', ST_AsText(ST_SnapToGrid(ST_CurveToLine(
        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));
 
 
index 99612720a3ef15093036be9c94c9269098306afe..fb93668c5a5c3597c7de202268ab38b9d3016432 100644 (file)
@@ -4,3 +4,5 @@ semicircle2.sym|LINESTRING(0 0,50 -86,150 -86,200 0)
 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)