if (lwgeom_has_arc(lwgeom))
{
- LWDEBUG(3, "LWGEOM2GEOS: arced geometry found.");
-
- lwerror("Exception in LWGEOM2GEOS: curved geometry not supported.");
- return NULL;
+ LWGEOM *lwgeom_stroked = lwgeom_stroke(lwgeom, 32);
+ GEOSGeometry *g = LWGEOM2GEOS(lwgeom_stroked, autofix);
+ lwgeom_free(lwgeom_stroked);
+ return g;
}
switch (lwgeom->type)
geom = PG_GETARG_GSERIALIZED_P(0);
- if (gserialized_get_type(geom) != LINETYPE)
- {
- elog(ERROR,"isring() should only be called on a LINE");
- }
-
/* Empty things can't close */
if ( gserialized_is_empty(geom) )
PG_RETURN_BOOL(FALSE);
initGEOS(lwpgnotice, lwgeom_geos_error);
- g1 = (GEOSGeometry *)POSTGIS2GEOS(geom );
+ g1 = (GEOSGeometry *)POSTGIS2GEOS(geom);
if ( 0 == g1 ) /* exception thrown at construction */
{
HANDLE_GEOS_ERROR("First argument geometry could not be converted to GEOS");
PG_RETURN_NULL();
}
+
+ if ( GEOSGeomTypeId(g1) != GEOS_LINESTRING )
+ {
+ GEOSGeom_destroy(g1);
+ elog(ERROR, "ST_IsRing() should only be called on a linear feature");
+ }
+
result = GEOSisRing(g1);
GEOSGeom_destroy(g1);
lwgeom = GEOS2LWGEOM(geom, want3d);
if ( ! lwgeom )
{
- lwpgerror("GEOS2POSTGIS: GEOS2LWGEOM returned NULL");
+ lwpgerror("%s: GEOS2LWGEOM returned NULL", __func__);
return NULL;
}
- POSTGIS_DEBUGF(4, "GEOS2POSTGIS: GEOS2LWGEOM returned a %s", lwgeom_summary(lwgeom, 0));
+ POSTGIS_DEBUGF(4, "%s: GEOS2LWGEOM returned a %s", __func__, lwgeom_summary(lwgeom, 0));
if ( lwgeom_needs_bbox(lwgeom) == LW_TRUE )
{
GEOSGeom_destroy(geos_result);
if ( result == NULL )
{
- elog(ERROR, "GEOS2POSTGIS returned an error");
+ elog(ERROR, "%s returned an error", __func__);
PG_RETURN_NULL(); /*never get here */
}
0.26794919243112270647255365849413 1,
0.5857864376269049511981127579 1.4142135623730950488016887242097)'));
-SELECT 'isClosed01', ST_isClosed(ST_geomfromewkt('CIRCULARSTRING(
+SELECT 'isClosed01', ST_IsClosed(ST_geomfromewkt('CIRCULARSTRING(
0 -2,
-2 0,
0 2,
2 0,
0 -2)'));
-SELECT 'isSimple01', ST_isSimple(ST_geomfromewkt('CIRCULARSTRING(
+SELECT 'isSimple01', ST_IsSimple(ST_geomfromewkt('CIRCULARSTRING(
0 -2,
-2 0,
0 2,
2 0,
0 -2)'));
-SELECT 'isRing01', ST_isRing(ST_geomfromewkt('CIRCULARSTRING(
+SELECT 'isRing01', ST_IsRing(ST_geomfromewkt('CIRCULARSTRING(
0 -2,
-2 0,
0 2,
2 0,
0 -2)'));
-SELECT 'isClosed02', ST_isClosed(ST_geomfromewkt('CIRCULARSTRING(
+SELECT 'isClosed02', ST_IsClosed(ST_geomfromewkt('CIRCULARSTRING(
0 -2,
-2 0,
0 2,
-2 -2,
-2 0,
0 -2)'));
-SELECT 'isSimple02', ST_isSimple(ST_geomfromewkt('CIRCULARSTRING(
+SELECT 'isSimple02', ST_IsSimple(ST_geomfromewkt('CIRCULARSTRING(
0 -2,
-2 0,
0 2,
-2 -2,
-2 0,
0 -2)'));
-SELECT 'isRing02', ST_isRing(ST_geomfromewkt('CIRCULARSTRING(
+SELECT 'isRing02', ST_IsRing(ST_geomfromewkt('CIRCULARSTRING(
0 -2,
-2 0,
0 2,
SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.circularstring;
SELECT 'astext04', ST_astext(the_geom_4d) FROM public.circularstring;
-SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.circularstring;
-SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.circularstring;
-SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.circularstring;
-SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.circularstring;
+SELECT 'asewkt01', ST_AsEWKT(the_geom_2d) FROM public.circularstring;
+SELECT 'asewkt02', ST_AsEWKT(the_geom_3dm) FROM public.circularstring;
+SELECT 'asewkt03', ST_AsEWKT(the_geom_3dz) FROM public.circularstring;
+SELECT 'asewkt04', ST_AsEWKT(the_geom_4d) FROM public.circularstring;
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(asbinary(the_geom_2d), 'hex') FROM public.circularstring;
---SELECT 'asbinary02', encode(asbinary(the_geom_3dm), 'hex') FROM public.circularstring;
---SELECT 'asbinary03', encode(asbinary(the_geom_3dz), 'hex') FROM public.circularstring;
---SELECT 'asbinary04', encode(asbinary(the_geom_4d), 'hex') FROM public.circularstring;
---
---SELECT 'asewkb01', encode(asewkb(the_geom_2d), 'hex') FROM public.circularstring;
---SELECT 'asewkb02', encode(asewkb(the_geom_3dm), 'hex') FROM public.circularstring;
---SELECT 'asewkb03', encode(asewkb(the_geom_3dz), 'hex') FROM public.circularstring;
---SELECT 'asewkb04', encode(asewkb(the_geom_4d), 'hex') FROM public.circularstring;
+SELECT 'asbinary01', encode(ST_AsBinary(the_geom_2d, 'ndr'), 'hex') FROM public.circularstring;
+SELECT 'asbinary02', encode(ST_AsBinary(the_geom_3dm, 'xdr'), 'hex') FROM public.circularstring;
+SELECT 'asbinary03', encode(ST_AsBinary(the_geom_3dz, 'ndr'), 'hex') FROM public.circularstring;
+SELECT 'asbinary04', encode(ST_AsBinary(the_geom_4d, 'xdr'), 'hex') FROM public.circularstring;
-SELECT 'ST_CurveToLine-201', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine-202', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine-203', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine-204', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'asewkb01', encode(ST_AsEWKB(the_geom_2d, 'ndr'), 'hex') FROM public.circularstring;
+SELECT 'asewkb02', encode(ST_AsEWKB(the_geom_3dm, 'xdr'), 'hex') FROM public.circularstring;
+SELECT 'asewkb03', encode(ST_AsEWKB(the_geom_3dz, 'ndr'), 'hex') FROM public.circularstring;
+SELECT 'asewkb04', encode(ST_AsEWKB(the_geom_4d, 'xdr'), 'hex') FROM public.circularstring;
-SELECT 'ST_CurveToLine-401', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine-402', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine-403', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine-404', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-201', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-202', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-203', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-204', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine01', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine02', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine03', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT 'ST_CurveToLine04', ST_asewkt( ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-401', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-402', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-403', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine-404', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
---Removed due to discrepencies between hardware
---SELECT 'box2d01', box2d(the_geom_2d) FROM public.circularstring;
---SELECT 'box2d02', box2d(the_geom_3dm) FROM public.circularstring;
---SELECT 'box2d03', box2d(the_geom_3dz) FROM public.circularstring;
---SELECT 'box2d04', box2d(the_geom_4d) FROM public.circularstring;
+SELECT 'ST_CurveToLine01', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine02', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine03', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
+SELECT 'ST_CurveToLine04', ST_AsEWKT( ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
---SELECT 'box3d01', box3d(the_geom_2d) FROM public.circularstring;
---SELECT 'box3d02', box3d(the_geom_3dm) FROM public.circularstring;
---SELECT 'box3d03', box3d(the_geom_3dz) FROM public.circularstring;
---SELECT 'box3d04', box3d(the_geom_4d) FROM public.circularstring;
-- TODO: ST_SnapToGrid is required to remove platform dependent precision
-- issues. Until ST_SnapToGrid is updated to work against curves, these
-- tests cannot be run.
---SELECT 'ST_LineToCurve01', ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.circularstring;
---SELECT 'ST_LineToCurve02', ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.circularstring;
---SELECT 'ST_LineToCurve03', ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.circularstring;
---SELECT 'ST_LineToCurve04', ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.circularstring;
+--SELECT 'ST_LineToCurve01', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.circularstring;
+--SELECT 'ST_LineToCurve02', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.circularstring;
+--SELECT 'ST_LineToCurve03', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.circularstring;
+--SELECT 'ST_LineToCurve04', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.circularstring;
--- Repeat tests with new function names.
-SELECT 'astext01', ST_astext(the_geom_2d) FROM public.circularstring;
-SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.circularstring;
-SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.circularstring;
-SELECT 'astext04', ST_astext(the_geom_4d) FROM public.circularstring;
-
-SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.circularstring;
-SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.circularstring;
-SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.circularstring;
-SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.circularstring;
-
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.circularstring;
---SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.circularstring;
---SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.circularstring;
---SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.circularstring;
---
---SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.circularstring;
---SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.circularstring;
---SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.circularstring;
---SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.circularstring;
-
---Removed due to discrepencies between hardware
---SELECT 'box2d01', box2d(the_geom_2d) FROM public.circularstring;
---SELECT 'box2d02', box2d(the_geom_3dm) FROM public.circularstring;
---SELECT 'box2d03', box2d(the_geom_3dz) FROM public.circularstring;
---SELECT 'box2d04', box2d(the_geom_4d) FROM public.circularstring;
-
---SELECT 'box3d01', box3d(the_geom_2d) FROM public.circularstring;
---SELECT 'box3d02', box3d(the_geom_3dm) FROM public.circularstring;
---SELECT 'box3d03', box3d(the_geom_3dz) FROM public.circularstring;
---SELECT 'box3d04', box3d(the_geom_4d) FROM public.circularstring;
-
-SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.circularstring;
-SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.circularstring;
-SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.circularstring;
-SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.circularstring;
+SELECT 'isValid01', ST_IsValid(the_geom_2d) FROM public.circularstring;
+SELECT 'isValid02', ST_IsValid(the_geom_3dm) FROM public.circularstring;
+SELECT 'isValid03', ST_IsValid(the_geom_3dz) FROM public.circularstring;
+SELECT 'isValid04', ST_IsValid(the_geom_4d) FROM public.circularstring;
SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.circularstring;
SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.circularstring;
SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.circularstring;
SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.circularstring;
-SELECT 'accessors01', ST_IsEmpty(the_geom_2d), ST_isSimple(the_geom_2d), ST_isClosed(the_geom_2d), ST_isRing(the_geom_2d) FROM public.circularstring;
-SELECT 'accessors02', ST_IsEmpty(the_geom_3dm), ST_isSimple(the_geom_3dm), ST_isClosed(the_geom_3dm), ST_isRing(the_geom_3dm) FROM public.circularstring;
-SELECT 'accessors03', ST_IsEmpty(the_geom_3dz), ST_isSimple(the_geom_3dz), ST_isClosed(the_geom_3dz), ST_isRing(the_geom_3dz) FROM public.circularstring;
-SELECT 'accessors04', ST_IsEmpty(the_geom_4d), ST_isSimple(the_geom_4d), ST_isClosed(the_geom_4d), ST_isRing(the_geom_4d) FROM public.circularstring;
+SELECT 'accessors01', ST_IsEmpty(the_geom_2d), ST_IsSimple(the_geom_2d), ST_IsClosed(the_geom_2d), ST_IsRing(the_geom_2d) FROM public.circularstring;
+SELECT 'accessors02', ST_IsEmpty(the_geom_3dm), ST_IsSimple(the_geom_3dm), ST_IsClosed(the_geom_3dm), ST_IsRing(the_geom_3dm) FROM public.circularstring;
+SELECT 'accessors03', ST_IsEmpty(the_geom_3dz), ST_IsSimple(the_geom_3dz), ST_IsClosed(the_geom_3dz), ST_IsRing(the_geom_3dz) FROM public.circularstring;
+SELECT 'accessors04', ST_IsEmpty(the_geom_4d), ST_IsSimple(the_geom_4d), ST_IsClosed(the_geom_4d), ST_IsRing(the_geom_4d) FROM public.circularstring;
SELECT 'envelope01', ST_AsText(ST_SnapToGrid(ST_Envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
SELECT 'envelope02', ST_AsText(ST_SnapToGrid(ST_Envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
SELECT 'envelope03', ST_AsText(ST_SnapToGrid(ST_Envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
SELECT 'envelope04', ST_AsText(ST_SnapToGrid(ST_Envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.circularstring;
-SELECT DropGeometryColumn('public', 'circularstring', 'the_geom_4d');
-SELECT DropGeometryColumn('public', 'circularstring', 'the_geom_3dz');
-SELECT DropGeometryColumn('public', 'circularstring', 'the_geom_3dm');
-SELECT DropGeometryColumn('public', 'circularstring', 'the_geom_2d');
DROP TABLE public.circularstring;
-SELECT ST_AsText(st_snaptogrid(box2d('CIRCULARSTRING(220268.439465645 150415.359530563,220227.333322076 150505.561285879,220227.353105332 150406.434743975)'::geometry),0.0001));
-SELECT 'npoints_is_five',ST_NumPoints(ST_GeomFromEWKT('CIRCULARSTRING(0 0,2 0, 2 1, 2 3, 4 3)'));
+
+SELECT ST_AsText(ST_SnapToGrid(box2d('CIRCULARSTRING(220268.439465645 150415.359530563,220227.333322076 150505.561285879,220227.353105332 150406.434743975)'::geometry),0.0001));
+SELECT 'npoints_is_five', ST_NumPoints(ST_GeomFromEWKT('CIRCULARSTRING(0 0,2 0, 2 1, 2 3, 4 3)'));
-- See http://trac.osgeo.org/postgis/ticket/2410
-SELECT 'straight_curve',ST_AsText(ST_CurveToLine(ST_GeomFromEWKT('CIRCULARSTRING(0 0,1 0,2 0,3 0,4 0)')));
+SELECT 'straight_curve', ST_AsText(ST_CurveToLine(ST_GeomFromEWKT('CIRCULARSTRING(0 0,1 0,2 0,3 0,4 0)')));
ndims04|2
geometrytype04|CIRCULARSTRING
isClosed01|t
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: isring() should only be called on a LINE
+isSimple01|t
+isRing01|t
isClosed02|t
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: isring() should only be called on a LINE
+isSimple02|f
+isRing02|f
astext01|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)
astext01|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0)
astext02|CIRCULARSTRING M (0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2)
asewkt03|CIRCULARSTRING(-5 0 0,0 5 1,5 0 2,10 -5 3,15 0 4)
asewkt04|CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2)
asewkt04|CIRCULARSTRING(-5 0 0 4,0 5 1 3,5 0 2 2,10 -5 3 1,15 0 4 0)
+asbinary01|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f
+asbinary01|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000
+asbinary02|00000007d8000000030000000000000000000000000000000000000000000000003fd126145e9ecd563ff0000000000000c0000000000000003fe2bec3330188673ff6a09e667f3bcd4000000000000000
+asbinary02|00000007d800000005c014000000000000000000000000000040100000000000000000000000000000401400000000000040080000000000004014000000000000000000000000000040000000000000004024000000000000c0140000000000003ff0000000000000402e00000000000000000000000000000000000000000000
+asbinary03|01f00300000300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f
+asbinary03|01f00300000500000000000000000014c00000000000000000000000000000000000000000000000000000000000001440000000000000f03f000000000000144000000000000000000000000000000040000000000000244000000000000014c000000000000008400000000000002e4000000000000000000000000000001040
+asbinary04|0000000bc00000000300000000000000000000000000000000000000000000000000000000000000003fd126145e9ecd563ff00000000000004008000000000000c0000000000000003fe2bec3330188673ff6a09e667f3bcd3ff00000000000004000000000000000
+asbinary04|0000000bc000000005c014000000000000000000000000000000000000000000004010000000000000000000000000000040140000000000003ff0000000000000400800000000000040140000000000000000000000000000400000000000000040000000000000004024000000000000c01400000000000040080000000000003ff0000000000000402e000000000000000000000000000040100000000000000000000000000000
+asewkb01|0108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f
+asewkb01|01080000000500000000000000000014c000000000000000000000000000000000000000000000144000000000000014400000000000000000000000000000244000000000000014c00000000000002e400000000000000000
+asewkb02|0040000008000000030000000000000000000000000000000000000000000000003fd126145e9ecd563ff0000000000000c0000000000000003fe2bec3330188673ff6a09e667f3bcd4000000000000000
+asewkb02|004000000800000005c014000000000000000000000000000040100000000000000000000000000000401400000000000040080000000000004014000000000000000000000000000040000000000000004024000000000000c0140000000000003ff0000000000000402e00000000000000000000000000000000000000000000
+asewkb03|01080000800300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f
+asewkb03|01080000800500000000000000000014c00000000000000000000000000000000000000000000000000000000000001440000000000000f03f000000000000144000000000000000000000000000000040000000000000244000000000000014c000000000000008400000000000002e4000000000000000000000000000001040
+asewkb04|00c00000080000000300000000000000000000000000000000000000000000000000000000000000003fd126145e9ecd563ff00000000000004008000000000000c0000000000000003fe2bec3330188673ff6a09e667f3bcd3ff00000000000004000000000000000
+asewkb04|00c000000800000005c014000000000000000000000000000000000000000000004010000000000000000000000000000040140000000000003ff0000000000000400800000000000040140000000000000000000000000000400000000000000040000000000000004024000000000000c01400000000000040080000000000003ff0000000000000402e000000000000000000000000000040100000000000000000000000000000
ST_CurveToLine-201|LINESTRING(0 0,0.58578644 1.41421356)
ST_CurveToLine-201|LINESTRING(-5 0,-3.53553391 3.53553391,0 5,3.53553391 3.53553391,5 0,6.46446609 -3.53553391,10 -5,13.53553391 -3.53553391,15 0)
ST_CurveToLine-202|LINESTRINGM(0 0 0,0.58578644 1.41421356 2)
ST_CurveToLine03|LINESTRING(-5 0 0,-4.99397728 0.24533837 0.03125,-4.97592363 0.4900857 0.0625,-4.94588255 0.73365237 0.09375,-4.9039264 0.97545161 0.125,-4.85015627 1.2149009 0.15625,-4.78470168 1.45142339 0.1875,-4.70772033 1.68444927 0.21875,-4.61939766 1.91341716 0.25,-4.51994647 2.13777547 0.28125,-4.40960632 2.35698368 0.3125,-4.28864305 2.57051372 0.34375,-4.15734806 2.77785117 0.375,-4.01603766 2.97849652 0.40625,-3.86505227 3.17196642 0.4375,-3.70475563 3.35779477 0.46875,-3.53553391 3.53553391 0.5,-3.35779477 3.70475563 0.53125,-3.17196642 3.86505227 0.5625,-2.97849652 4.01603766 0.59375,-2.77785117 4.15734806 0.625,-2.57051372 4.28864305 0.65625,-2.35698368 4.40960632 0.6875,-2.13777547 4.51994647 0.71875,-1.91341716 4.61939766 0.75,-1.68444927 4.70772033 0.78125,-1.45142339 4.78470168 0.8125,-1.2149009 4.85015627 0.84375,-0.97545161 4.9039264 0.875,-0.73365237 4.94588255 0.90625,-0.4900857 4.97592363 0.9375,-0.24533837 4.99397728 0.96875,0 5 1,0.24533837 4.99397728 1.03125,0.4900857 4.97592363 1.0625,0.73365237 4.94588255 1.09375,0.97545161 4.9039264 1.125,1.2149009 4.85015627 1.15625,1.45142339 4.78470168 1.1875,1.68444927 4.70772033 1.21875,1.91341716 4.61939766 1.25,2.13777547 4.51994647 1.28125,2.35698368 4.40960632 1.3125,2.57051372 4.28864305 1.34375,2.77785117 4.15734806 1.375,2.97849652 4.01603766 1.40625,3.17196642 3.86505227 1.4375,3.35779477 3.70475563 1.46875,3.53553391 3.53553391 1.5,3.70475563 3.35779477 1.53125,3.86505227 3.17196642 1.5625,4.01603766 2.97849652 1.59375,4.15734806 2.77785117 1.625,4.28864305 2.57051372 1.65625,4.40960632 2.35698368 1.6875,4.51994647 2.13777547 1.71875,4.61939766 1.91341716 1.75,4.70772033 1.68444927 1.78125,4.78470168 1.45142339 1.8125,4.85015627 1.2149009 1.84375,4.9039264 0.97545161 1.875,4.94588255 0.73365237 1.90625,4.97592363 0.4900857 1.9375,4.99397728 0.24533837 1.96875,5 0 2,5.00602272 -0.24533837 2.03125,5.02407637 -0.4900857 2.0625,5.05411745 -0.73365237 2.09375,5.0960736 -0.97545161 2.125,5.14984373 -1.2149009 2.15625,5.21529832 -1.45142339 2.1875,5.29227967 -1.68444927 2.21875,5.38060234 -1.91341716 2.25,5.48005353 -2.13777547 2.28125,5.59039368 -2.35698368 2.3125,5.71135695 -2.57051372 2.34375,5.84265194 -2.77785117 2.375,5.98396234 -2.97849652 2.40625,6.13494773 -3.17196642 2.4375,6.29524437 -3.35779477 2.46875,6.46446609 -3.53553391 2.5,6.64220523 -3.70475563 2.53125,6.82803358 -3.86505227 2.5625,7.02150348 -4.01603766 2.59375,7.22214883 -4.15734806 2.625,7.42948628 -4.28864305 2.65625,7.64301632 -4.40960632 2.6875,7.86222453 -4.51994647 2.71875,8.08658284 -4.61939766 2.75,8.31555073 -4.70772033 2.78125,8.54857661 -4.78470168 2.8125,8.7850991 -4.85015627 2.84375,9.02454839 -4.9039264 2.875,9.26634763 -4.94588255 2.90625,9.5099143 -4.97592363 2.9375,9.75466163 -4.99397728 2.96875,10 -5 3,10.24533837 -4.99397728 3.03125,10.4900857 -4.97592363 3.0625,10.73365237 -4.94588255 3.09375,10.97545161 -4.9039264 3.125,11.2149009 -4.85015627 3.15625,11.45142339 -4.78470168 3.1875,11.68444927 -4.70772033 3.21875,11.91341716 -4.61939766 3.25,12.13777547 -4.51994647 3.28125,12.35698368 -4.40960632 3.3125,12.57051372 -4.28864305 3.34375,12.77785117 -4.15734806 3.375,12.97849652 -4.01603766 3.40625,13.17196642 -3.86505227 3.4375,13.35779477 -3.70475563 3.46875,13.53553391 -3.53553391 3.5,13.70475563 -3.35779477 3.53125,13.86505227 -3.17196642 3.5625,14.01603766 -2.97849652 3.59375,14.15734806 -2.77785117 3.625,14.28864305 -2.57051372 3.65625,14.40960632 -2.35698368 3.6875,14.51994647 -2.13777547 3.71875,14.61939766 -1.91341716 3.75,14.70772033 -1.68444927 3.78125,14.78470168 -1.45142339 3.8125,14.85015627 -1.2149009 3.84375,14.9039264 -0.97545161 3.875,14.94588255 -0.73365237 3.90625,14.97592363 -0.4900857 3.9375,14.99397728 -0.24533837 3.96875,15 0 4)
ST_CurveToLine04|LINESTRING(0 0 0 0,0.00240909 0.09813535 0.28125 -0.1875,0.00963055 0.19603428 0.5625 -0.375,0.02164698 0.29346095 0.84375 -0.5625,0.03842944 0.39018064 1.125 -0.75,0.05993749 0.48596036 1.40625 -0.9375,0.08611933 0.58056935 1.6875 -1.125,0.11691187 0.67377971 1.96875 -1.3125,0.15224093 0.76536686 2.25 -1.5,0.19202141 0.85511019 2.53125 -1.6875,0.23615747 0.94279347 2.8125 -1.875,0.28454278 1.02820549 2.875 -1.75,0.33706078 1.11114047 2.5 -1,0.39358494 1.19139861 2.125 -0.25,0.45397909 1.26878657 1.75 0.5,0.51809775 1.34311791 1.375 1.25,0.58578644 1.41421356 1 2)
ST_CurveToLine04|LINESTRING(-5 0 0 4,-4.99397728 0.24533837 0.03125 3.96875,-4.97592363 0.4900857 0.0625 3.9375,-4.94588255 0.73365237 0.09375 3.90625,-4.9039264 0.97545161 0.125 3.875,-4.85015627 1.2149009 0.15625 3.84375,-4.78470168 1.45142339 0.1875 3.8125,-4.70772033 1.68444927 0.21875 3.78125,-4.61939766 1.91341716 0.25 3.75,-4.51994647 2.13777547 0.28125 3.71875,-4.40960632 2.35698368 0.3125 3.6875,-4.28864305 2.57051372 0.34375 3.65625,-4.15734806 2.77785117 0.375 3.625,-4.01603766 2.97849652 0.40625 3.59375,-3.86505227 3.17196642 0.4375 3.5625,-3.70475563 3.35779477 0.46875 3.53125,-3.53553391 3.53553391 0.5 3.5,-3.35779477 3.70475563 0.53125 3.46875,-3.17196642 3.86505227 0.5625 3.4375,-2.97849652 4.01603766 0.59375 3.40625,-2.77785117 4.15734806 0.625 3.375,-2.57051372 4.28864305 0.65625 3.34375,-2.35698368 4.40960632 0.6875 3.3125,-2.13777547 4.51994647 0.71875 3.28125,-1.91341716 4.61939766 0.75 3.25,-1.68444927 4.70772033 0.78125 3.21875,-1.45142339 4.78470168 0.8125 3.1875,-1.2149009 4.85015627 0.84375 3.15625,-0.97545161 4.9039264 0.875 3.125,-0.73365237 4.94588255 0.90625 3.09375,-0.4900857 4.97592363 0.9375 3.0625,-0.24533837 4.99397728 0.96875 3.03125,0 5 1 3,0.24533837 4.99397728 1.03125 2.96875,0.4900857 4.97592363 1.0625 2.9375,0.73365237 4.94588255 1.09375 2.90625,0.97545161 4.9039264 1.125 2.875,1.2149009 4.85015627 1.15625 2.84375,1.45142339 4.78470168 1.1875 2.8125,1.68444927 4.70772033 1.21875 2.78125,1.91341716 4.61939766 1.25 2.75,2.13777547 4.51994647 1.28125 2.71875,2.35698368 4.40960632 1.3125 2.6875,2.57051372 4.28864305 1.34375 2.65625,2.77785117 4.15734806 1.375 2.625,2.97849652 4.01603766 1.40625 2.59375,3.17196642 3.86505227 1.4375 2.5625,3.35779477 3.70475563 1.46875 2.53125,3.53553391 3.53553391 1.5 2.5,3.70475563 3.35779477 1.53125 2.46875,3.86505227 3.17196642 1.5625 2.4375,4.01603766 2.97849652 1.59375 2.40625,4.15734806 2.77785117 1.625 2.375,4.28864305 2.57051372 1.65625 2.34375,4.40960632 2.35698368 1.6875 2.3125,4.51994647 2.13777547 1.71875 2.28125,4.61939766 1.91341716 1.75 2.25,4.70772033 1.68444927 1.78125 2.21875,4.78470168 1.45142339 1.8125 2.1875,4.85015627 1.2149009 1.84375 2.15625,4.9039264 0.97545161 1.875 2.125,4.94588255 0.73365237 1.90625 2.09375,4.97592363 0.4900857 1.9375 2.0625,4.99397728 0.24533837 1.96875 2.03125,5 0 2 2,5.00602272 -0.24533837 2.03125 1.96875,5.02407637 -0.4900857 2.0625 1.9375,5.05411745 -0.73365237 2.09375 1.90625,5.0960736 -0.97545161 2.125 1.875,5.14984373 -1.2149009 2.15625 1.84375,5.21529832 -1.45142339 2.1875 1.8125,5.29227967 -1.68444927 2.21875 1.78125,5.38060234 -1.91341716 2.25 1.75,5.48005353 -2.13777547 2.28125 1.71875,5.59039368 -2.35698368 2.3125 1.6875,5.71135695 -2.57051372 2.34375 1.65625,5.84265194 -2.77785117 2.375 1.625,5.98396234 -2.97849652 2.40625 1.59375,6.13494773 -3.17196642 2.4375 1.5625,6.29524437 -3.35779477 2.46875 1.53125,6.46446609 -3.53553391 2.5 1.5,6.64220523 -3.70475563 2.53125 1.46875,6.82803358 -3.86505227 2.5625 1.4375,7.02150348 -4.01603766 2.59375 1.40625,7.22214883 -4.15734806 2.625 1.375,7.42948628 -4.28864305 2.65625 1.34375,7.64301632 -4.40960632 2.6875 1.3125,7.86222453 -4.51994647 2.71875 1.28125,8.08658284 -4.61939766 2.75 1.25,8.31555073 -4.70772033 2.78125 1.21875,8.54857661 -4.78470168 2.8125 1.1875,8.7850991 -4.85015627 2.84375 1.15625,9.02454839 -4.9039264 2.875 1.125,9.26634763 -4.94588255 2.90625 1.09375,9.5099143 -4.97592363 2.9375 1.0625,9.75466163 -4.99397728 2.96875 1.03125,10 -5 3 1,10.24533837 -4.99397728 3.03125 0.96875,10.4900857 -4.97592363 3.0625 0.9375,10.73365237 -4.94588255 3.09375 0.90625,10.97545161 -4.9039264 3.125 0.875,11.2149009 -4.85015627 3.15625 0.84375,11.45142339 -4.78470168 3.1875 0.8125,11.68444927 -4.70772033 3.21875 0.78125,11.91341716 -4.61939766 3.25 0.75,12.13777547 -4.51994647 3.28125 0.71875,12.35698368 -4.40960632 3.3125 0.6875,12.57051372 -4.28864305 3.34375 0.65625,12.77785117 -4.15734806 3.375 0.625,12.97849652 -4.01603766 3.40625 0.59375,13.17196642 -3.86505227 3.4375 0.5625,13.35779477 -3.70475563 3.46875 0.53125,13.53553391 -3.53553391 3.5 0.5,13.70475563 -3.35779477 3.53125 0.46875,13.86505227 -3.17196642 3.5625 0.4375,14.01603766 -2.97849652 3.59375 0.40625,14.15734806 -2.77785117 3.625 0.375,14.28864305 -2.57051372 3.65625 0.34375,14.40960632 -2.35698368 3.6875 0.3125,14.51994647 -2.13777547 3.71875 0.28125,14.61939766 -1.91341716 3.75 0.25,14.70772033 -1.68444927 3.78125 0.21875,14.78470168 -1.45142339 3.8125 0.1875,14.85015627 -1.2149009 3.84375 0.15625,14.9039264 -0.97545161 3.875 0.125,14.94588255 -0.73365237 3.90625 0.09375,14.97592363 -0.4900857 3.9375 0.0625,14.99397728 -0.24533837 3.96875 0.03125,15 0 4 0)
-astext01|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)
-astext01|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0)
-astext02|CIRCULARSTRING M (0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2)
-astext02|CIRCULARSTRING M (-5 0 4,0 5 3,5 0 2,10 -5 1,15 0 0)
-astext03|CIRCULARSTRING Z (0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1)
-astext03|CIRCULARSTRING Z (-5 0 0,0 5 1,5 0 2,10 -5 3,15 0 4)
-astext04|CIRCULARSTRING ZM (0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2)
-astext04|CIRCULARSTRING ZM (-5 0 0 4,0 5 1 3,5 0 2 2,10 -5 3 1,15 0 4 0)
-asewkt01|CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731)
-asewkt01|CIRCULARSTRING(-5 0,0 5,5 0,10 -5,15 0)
-asewkt02|CIRCULARSTRINGM(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2)
-asewkt02|CIRCULARSTRINGM(-5 0 4,0 5 3,5 0 2,10 -5 1,15 0 0)
-asewkt03|CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1)
-asewkt03|CIRCULARSTRING(-5 0 0,0 5 1,5 0 2,10 -5 3,15 0 4)
-asewkt04|CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2)
-asewkt04|CIRCULARSTRING(-5 0 0 4,0 5 1 3,5 0 2 2,10 -5 3 1,15 0 4 0)
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+isValid01|t
+isValid01|t
+isValid02|t
+isValid02|t
+isValid03|t
+isValid03|t
+isValid04|t
+isValid04|t
dimension01|1
dimension01|1
dimension02|1
SRID03|0
SRID04|0
SRID04|0
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+accessors01|f|t|f|f
+accessors01|f|t|f|f
+accessors02|f|t|f|f
+accessors02|f|t|f|f
+accessors03|f|t|f|f
+accessors03|f|t|f|f
+accessors04|f|t|f|f
+accessors04|f|t|f|f
envelope01|POLYGON((0 0,0 1.41421356,0.58578644 1.41421356,0.58578644 0,0 0))
envelope01|POLYGON((-5 -5,-5 5,15 5,15 -5,-5 -5))
envelope02|POLYGON((0 0,0 1.41421356,0.58578644 1.41421356,0.58578644 0,0 0))
envelope03|POLYGON((-5 -5,-5 5,15 5,15 -5,-5 -5))
envelope04|POLYGON((0 0,0 1.41421356,0.58578644 1.41421356,0.58578644 0,0 0))
envelope04|POLYGON((-5 -5,-5 5,15 5,15 -5,-5 -5))
-public.circularstring.the_geom_4d effectively removed.
-public.circularstring.the_geom_3dz effectively removed.
-public.circularstring.the_geom_3dm effectively removed.
-public.circularstring.the_geom_2d effectively removed.
POLYGON((220187.3821 150406.4347,220187.3821 150506.7171,220288.8159 150506.7171,220288.8159 150406.4347,220187.3821 150406.4347))
npoints_is_five|5
straight_curve|LINESTRING(0 0,1 0,2 0,3 0,4 0)
SELECT 'asewkt03', ST_Asewkt(the_geom_3dz) FROM public.compoundcurve;
SELECT 'asewkt04', ST_Asewkt(the_geom_4d) FROM public.compoundcurve;
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(asbinary(the_geom_2d), 'hex') FROM public.compoundcurve;
---SELECT 'asbinary02', encode(asbinary(the_geom_3dm), 'hex') FROM public.compoundcurve;
---SELECT 'asbinary03', encode(asbinary(the_geom_3dz), 'hex') FROM public.compoundcurve;
---SELECT 'asbinary04', encode(asbinary(the_geom_4d), 'hex') FROM public.compoundcurve;
---
---SELECT 'asewkb01', encode(asewkb(the_geom_2d), 'hex') FROM public.compoundcurve;
---SELECT 'asewkb02', encode(asewkb(the_geom_3dm), 'hex') FROM public.compoundcurve;
---SELECT 'asewkb03', encode(asewkb(the_geom_3dz), 'hex') FROM public.compoundcurve;
---SELECT 'asewkb04', encode(asewkb(the_geom_4d), 'hex') FROM public.compoundcurve;
+SELECT 'asbinary01', encode(ST_AsBinary(the_geom_2d, 'ndr'), 'hex') FROM public.compoundcurve;
+SELECT 'asbinary02', encode(ST_AsBinary(the_geom_3dm, 'ndr'), 'hex') FROM public.compoundcurve;
+SELECT 'asbinary03', encode(ST_AsBinary(the_geom_3dz, 'ndr'), 'hex') FROM public.compoundcurve;
+SELECT 'asbinary04', encode(ST_AsBinary(the_geom_4d, 'ndr'), 'hex') FROM public.compoundcurve;
+
+SELECT 'asewkb01', encode(ST_AsEWKB(the_geom_2d, 'ndr'), 'hex') FROM public.compoundcurve;
+SELECT 'asewkb02', encode(ST_AsEWKB(the_geom_3dm, 'ndr'), 'hex') FROM public.compoundcurve;
+SELECT 'asewkb03', encode(ST_AsEWKB(the_geom_3dz, 'ndr'), 'hex') FROM public.compoundcurve;
+SELECT 'asewkb04', encode(ST_AsEWKB(the_geom_4d, 'ndr'), 'hex') FROM public.compoundcurve;
SELECT 'ST_CurveToLine-201', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
SELECT 'ST_CurveToLine-202', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
SELECT 'ST_CurveToLine03', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
SELECT 'ST_CurveToLine04', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
--- Removed due to discrepencies between hardware
---SELECT 'box2d01', box2d(the_geom_2d) FROM public.compoundcurve;
---SELECT 'box2d02', box2d(the_geom_3dm) FROM public.compoundcurve;
---SELECT 'box2d03', box2d(the_geom_3dz) FROM public.compoundcurve;
---SELECT 'box2d04', box2d(the_geom_4d) FROM public.compoundcurve;
-
---SELECT 'box3d01', box3d(the_geom_2d) FROM public.compoundcurve;
---SELECT 'box3d02', box3d(the_geom_3dm) FROM public.compoundcurve;
---SELECT 'box3d03', box3d(the_geom_3dz) FROM public.compoundcurve;
---SELECT 'box3d04', box3d(the_geom_4d) FROM public.compoundcurve;
-
--- SELECT 'isValid01', isValid(the_geom_2d) FROM public.compoundcurve;
--- SELECT 'isValid02', isValid(the_geom_3dm) FROM public.compoundcurve;
--- SELECT 'isValid03', isValid(the_geom_3dz) FROM public.compoundcurve;
--- SELECT 'isValid04', isValid(the_geom_4d) FROM public.compoundcurve;
-
--- SELECT 'dimension01', dimension(the_geom_2d) FROM public.compoundcurve;
--- SELECT 'dimension02', dimension(the_geom_3dm) FROM public.compoundcurve;
--- SELECT 'dimension03', dimension(the_geom_3dz) FROM public.compoundcurve;
--- SELECT 'dimension04', dimension(the_geom_4d) FROM public.compoundcurve;
-
--- SELECT 'SRID01', ST_SRID(the_geom_2d) FROM public.compoundcurve;
--- SELECT 'SRID02', ST_SRID(the_geom_3dm) FROM public.compoundcurve;
--- SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.compoundcurve;
--- SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.compoundcurve;
-
--- SELECT 'accessor01', isEmpty(the_geom_2d), isSimple(the_geom_2d), isClosed(the_geom_2d), isRing(the_geom_2d) FROM public.compoundcurve;
--- SELECT 'accessor02', isEmpty(the_geom_3dm), isSimple(the_geom_3dm), isClosed(the_geom_3dm), isRing(the_geom_3dm) FROM public.compoundcurve;
--- SELECT 'accessor03', isEmpty(the_geom_3dz), isSimple(the_geom_3dz), isClosed(the_geom_3dz), isRing(the_geom_3dz) FROM public.compoundcurve;
--- SELECT 'accessor04', isEmpty(the_geom_4d), isSimple(the_geom_4d), isClosed(the_geom_4d), isRing(the_geom_4d) FROM public.compoundcurve;
-
--- SELECT 'envelope01', ST_AsText(ST_SnapToGrid(envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
--- SELECT 'envelope02', ST_AsText(ST_SnapToGrid(envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
--- SELECT 'envelope03', ST_AsText(ST_SnapToGrid(envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
--- SELECT 'envelope04', ST_AsText(ST_SnapToGrid(envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
-
--- TODO: ST_SnapToGrid is required to remove platform dependent precision
--- issues. Until ST_SnapToGrid is updated to work against curves, these
--- tests cannot be run.
---SELECT 'ST_LineToCurve', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.compoundcurve;
---SELECT 'ST_LineToCurve', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.compoundcurve;
---SELECT 'ST_LineToCurve', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.compoundcurve;
---SELECT 'ST_LineToCurve', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.compoundcurve;
-
--- Repeat tests on new function names.
-SELECT 'astext01', ST_astext(the_geom_2d) FROM public.compoundcurve;
-SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.compoundcurve;
-SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.compoundcurve;
-SELECT 'astext04', ST_astext(the_geom_4d) FROM public.compoundcurve;
-
-SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.compoundcurve;
-SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.compoundcurve;
-SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.compoundcurve;
-SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.compoundcurve;
-
---SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.compoundcurve;
---SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.compoundcurve;
---SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.compoundcurve;
---SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.compoundcurve;
---
---SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.compoundcurve;
---SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.compoundcurve;
---SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.compoundcurve;
---SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.compoundcurve;
-
--- Removed due to discrepencies between hardware
---SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.compoundcurve;
---SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.compoundcurve;
---SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.compoundcurve;
---SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.compoundcurve;
-
---SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.compoundcurve;
---SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.compoundcurve;
---SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.compoundcurve;
---SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.compoundcurve;
-
-SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.compoundcurve;
-SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.compoundcurve;
-SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.compoundcurve;
-SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.compoundcurve;
+SELECT 'isValid01', ST_IsValid(the_geom_2d) FROM public.compoundcurve;
+SELECT 'isValid02', ST_IsValid(the_geom_3dm) FROM public.compoundcurve;
+SELECT 'isValid03', ST_IsValid(the_geom_3dz) FROM public.compoundcurve;
+SELECT 'isValid04', ST_IsValid(the_geom_4d) FROM public.compoundcurve;
SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.compoundcurve;
SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.compoundcurve;
SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.compoundcurve;
SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.compoundcurve;
-SELECT 'accessor01', ST_isEmpty(the_geom_2d), ST_isSimple(the_geom_2d), ST_isClosed(the_geom_2d), ST_isRing(the_geom_2d) FROM public.compoundcurve;
-SELECT 'accessor02', ST_isEmpty(the_geom_3dm), ST_isSimple(the_geom_3dm), ST_isClosed(the_geom_3dm), ST_isRing(the_geom_3dm) FROM public.compoundcurve;
-SELECT 'accessor03', ST_isEmpty(the_geom_3dz), ST_isSimple(the_geom_3dz), ST_isClosed(the_geom_3dz), ST_isRing(the_geom_3dz) FROM public.compoundcurve;
-SELECT 'accessor04', ST_isEmpty(the_geom_4d), ST_isSimple(the_geom_4d), ST_isClosed(the_geom_4d), ST_isRing(the_geom_4d) FROM public.compoundcurve;
+SELECT 'accessor01', ST_IsEmpty(the_geom_2d), ST_IsSimple(the_geom_2d), ST_IsClosed(the_geom_2d), ST_IsRing(the_geom_2d) FROM public.compoundcurve;
+SELECT 'accessor02', ST_IsEmpty(the_geom_3dm), ST_IsSimple(the_geom_3dm), ST_IsClosed(the_geom_3dm), ST_IsRing(the_geom_3dm) FROM public.compoundcurve;
+SELECT 'accessor03', ST_IsEmpty(the_geom_3dz), ST_IsSimple(the_geom_3dz), ST_IsClosed(the_geom_3dz), ST_IsRing(the_geom_3dz) FROM public.compoundcurve;
+SELECT 'accessor04', ST_IsEmpty(the_geom_4d), ST_IsSimple(the_geom_4d), ST_IsClosed(the_geom_4d), ST_IsRing(the_geom_4d) FROM public.compoundcurve;
SELECT 'envelope01', ST_asText(ST_snapToGrid(ST_envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
SELECT 'envelope02', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
SELECT 'envelope03', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
SELECT 'envelope04', ST_asText(ST_snapToGrid(ST_envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.compoundcurve;
-SELECT DropGeometryColumn('public', 'compoundcurve', 'the_geom_4d');
-SELECT DropGeometryColumn('public', 'compoundcurve', 'the_geom_3dz');
-SELECT DropGeometryColumn('public', 'compoundcurve', 'the_geom_3dm');
-SELECT DropGeometryColumn('public', 'compoundcurve', 'the_geom_2d');
DROP TABLE public.compoundcurve;
SELECT 'valid wkt compound curve 1', encode(ST_AsBinary(ST_GeomFromEWKT('COMPOUNDCURVE((153.72942375 -27.21757040, 152.29285719 -29.23940482, 154.74034096 -30.51635287),(154.74034096 -30.51635287, 152.39926953 -32.16574411, 155.11278414 -34.08116619, 151.86720784 -35.62414508))'),'ndr'),'hex');
asewkt02|COMPOUNDCURVEM(CIRCULARSTRINGM(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2),(0.585786437626905 1.4142135623731 2,2 0 0,0 0 0))
asewkt03|COMPOUNDCURVE(CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1),(0.585786437626905 1.4142135623731 1,2 0 0,0 0 0))
asewkt04|COMPOUNDCURVE(CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2),(0.585786437626905 1.4142135623731 1 2,2 0 0 0,0 0 0 0))
+asbinary01|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000
+asbinary02|01d90700000200000001d80700000300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f00000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000004001d20700000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000
+asbinary03|01f10300000200000001f00300000300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f01ea0300000300000067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000
+asbinary04|01c10b00000200000001c00b000003000000000000000000000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084000000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004001ba0b00000300000067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+asewkb01|0109000000020000000108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f01020000000300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000000000000000000000000000000000000000
+asewkb02|01090000400200000001080000400300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f00000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000004001020000400300000067880133c3bee23fcd3b7f669ea0f63f0000000000000040000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000
+asewkb03|01090000800200000001080000800300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f01020000800300000067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000
+asewkb04|01090000c00200000001080000c003000000000000000000000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084000000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004001020000c00300000067880133c3bee23fcd3b7f669ea0f63f000000000000f03f000000000000004000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
ST_CurveToLine-201|LINESTRING(0 0,0.58578644 1.41421356,2 0,0 0)
ST_CurveToLine-202|LINESTRINGM(0 0 0,0.58578644 1.41421356 2,2 0 0,0 0 0)
ST_CurveToLine-203|LINESTRING(0 0 0,0.58578644 1.41421356 1,2 0 0,0 0 0)
ST_CurveToLine02|LINESTRINGM(0 0 0,0.00240909 0.09813535 -0.1875,0.00963055 0.19603428 -0.375,0.02164698 0.29346095 -0.5625,0.03842944 0.39018064 -0.75,0.05993749 0.48596036 -0.9375,0.08611933 0.58056935 -1.125,0.11691187 0.67377971 -1.3125,0.15224093 0.76536686 -1.5,0.19202141 0.85511019 -1.6875,0.23615747 0.94279347 -1.875,0.28454278 1.02820549 -1.75,0.33706078 1.11114047 -1,0.39358494 1.19139861 -0.25,0.45397909 1.26878657 0.5,0.51809775 1.34311791 1.25,0.58578644 1.41421356 2,2 0 0,0 0 0)
ST_CurveToLine03|LINESTRING(0 0 0,0.00240909 0.09813535 0.28125,0.00963055 0.19603428 0.5625,0.02164698 0.29346095 0.84375,0.03842944 0.39018064 1.125,0.05993749 0.48596036 1.40625,0.08611933 0.58056935 1.6875,0.11691187 0.67377971 1.96875,0.15224093 0.76536686 2.25,0.19202141 0.85511019 2.53125,0.23615747 0.94279347 2.8125,0.28454278 1.02820549 2.875,0.33706078 1.11114047 2.5,0.39358494 1.19139861 2.125,0.45397909 1.26878657 1.75,0.51809775 1.34311791 1.375,0.58578644 1.41421356 1,2 0 0,0 0 0)
ST_CurveToLine04|LINESTRING(0 0 0 0,0.00240909 0.09813535 0.28125 -0.1875,0.00963055 0.19603428 0.5625 -0.375,0.02164698 0.29346095 0.84375 -0.5625,0.03842944 0.39018064 1.125 -0.75,0.05993749 0.48596036 1.40625 -0.9375,0.08611933 0.58056935 1.6875 -1.125,0.11691187 0.67377971 1.96875 -1.3125,0.15224093 0.76536686 2.25 -1.5,0.19202141 0.85511019 2.53125 -1.6875,0.23615747 0.94279347 2.8125 -1.875,0.28454278 1.02820549 2.875 -1.75,0.33706078 1.11114047 2.5 -1,0.39358494 1.19139861 2.125 -0.25,0.45397909 1.26878657 1.75 0.5,0.51809775 1.34311791 1.375 1.25,0.58578644 1.41421356 1 2,2 0 0 0,0 0 0 0)
-astext01|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0))
-astext02|COMPOUNDCURVE M (CIRCULARSTRING M (0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2),(0.585786437626905 1.4142135623731 2,2 0 0,0 0 0))
-astext03|COMPOUNDCURVE Z (CIRCULARSTRING Z (0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1),(0.585786437626905 1.4142135623731 1,2 0 0,0 0 0))
-astext04|COMPOUNDCURVE ZM (CIRCULARSTRING ZM (0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2),(0.585786437626905 1.4142135623731 1 2,2 0 0 0,0 0 0 0))
-asewkt01|COMPOUNDCURVE(CIRCULARSTRING(0 0,0.267949192431123 1,0.585786437626905 1.4142135623731),(0.585786437626905 1.4142135623731,2 0,0 0))
-asewkt02|COMPOUNDCURVEM(CIRCULARSTRINGM(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2),(0.585786437626905 1.4142135623731 2,2 0 0,0 0 0))
-asewkt03|COMPOUNDCURVE(CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1),(0.585786437626905 1.4142135623731 1,2 0 0,0 0 0))
-asewkt04|COMPOUNDCURVE(CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2),(0.585786437626905 1.4142135623731 1 2,2 0 0 0,0 0 0 0))
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+isValid01|t
+isValid02|t
+isValid03|t
+isValid04|t
dimension01|1
dimension02|1
dimension03|1
SRID02|0
SRID03|0
SRID04|0
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+accessor01|f|t|t|t
+accessor02|f|t|t|t
+accessor03|f|t|t|t
+accessor04|f|t|t|t
envelope01|POLYGON((0 0,0 1.41421356,2 1.41421356,2 0,0 0))
envelope02|POLYGON((0 0,0 1.41421356,2 1.41421356,2 0,0 0))
envelope03|POLYGON((0 0,0 1.41421356,2 1.41421356,2 0,0 0))
envelope04|POLYGON((0 0,0 1.41421356,2 1.41421356,2 0,0 0))
-public.compoundcurve.the_geom_4d effectively removed.
-public.compoundcurve.the_geom_3dz effectively removed.
-public.compoundcurve.the_geom_3dm effectively removed.
-public.compoundcurve.the_geom_2d effectively removed.
valid wkt compound curve 1|0109000000020000000102000000030000009fe5797057376340e09398b1b2373bc05aae0a165f0963409f6760a2493d3dc0db6286dfb057634082d8a1b32f843ec0010200000004000000db6286dfb057634082d8a1b32f843ec075b4e4d0c60c634031fa5d1a371540c0d7197ced9b636340a3cb59a7630a41c050f4a72ac0fb6240974769fce3cf41c0
valid wkt compound curve 2|0109000000010000000102000000060000009fe5797057376340e09398b1b2373bc05aae0a165f0963409f6760a2493d3dc0db6286dfb057634082d8a1b32f843ec075b4e4d0c60c634031fa5d1a371540c0d7197ced9b636340a3cb59a7630a41c050f4a72ac0fb6240974769fce3cf41c0
valid wkt compound curve 3|0109000000010000000102000000030000000ce586d73cf36240bbc46888f0523bc0102e91c951e76240df90a1bec0f841c0f970c100ffd7624074ade6ce86cd3bc0
0 1,
-1 0))');
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(asbinary(the_geom_2d), 'hex') FROM public.curvepolygon;
---SELECT 'asbinary02', encode(asbinary(the_geom_3dm), 'hex') FROM public.curvepolygon;
---SELECT 'asbinary03', encode(asbinary(the_geom_3dz), 'hex') FROM public.curvepolygon;
---SELECT 'asbinary04', encode(asbinary(the_geom_4d), 'hex') FROM public.curvepolygon;
---
---SELECT 'asewkb01', encode(asewkb(the_geom_2d), 'hex') FROM public.curvepolygon;
---SELECT 'asewkb02', encode(asewkb(the_geom_3dm), 'hex') FROM public.curvepolygon;
---SELECT 'asewkb03', encode(asewkb(the_geom_3dz), 'hex') FROM public.curvepolygon;
---SELECT 'asewkb04', encode(asewkb(the_geom_4d), 'hex') FROM public.curvepolygon;
+SELECT 'asbinary01', encode(ST_AsBinary(the_geom_2d, 'ndr'), 'hex') FROM public.curvepolygon;
+SELECT 'asbinary02', encode(ST_AsBinary(the_geom_3dm, 'xdr'), 'hex') FROM public.curvepolygon;
+SELECT 'asbinary03', encode(ST_AsBinary(the_geom_3dz, 'ndr'), 'hex') FROM public.curvepolygon;
+SELECT 'asbinary04', encode(ST_AsBinary(the_geom_4d, 'xdr'), 'hex') FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-201',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-202',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-203',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-204',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'asewkb01', encode(ST_AsEWKB(the_geom_2d, 'xdr'), 'hex') FROM public.curvepolygon;
+SELECT 'asewkb02', encode(ST_AsEWKB(the_geom_3dm, 'ndr'), 'hex') FROM public.curvepolygon;
+SELECT 'asewkb03', encode(ST_AsEWKB(the_geom_3dz, 'xdr'), 'hex') FROM public.curvepolygon;
+SELECT 'asewkb04', encode(ST_AsEWKB(the_geom_4d, 'ndr'), 'hex') FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-401',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-402',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-403',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine-404',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-201',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-202',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-203',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-204',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine01',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine02',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine03',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'ST_CurveToLine04',ST_asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-401',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-402',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-403',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine-404',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
--- Removed due to descrepencies between hardware
---SELECT 'box2d01', box2d(the_geom_2d) FROM public.curvepolygon;
---SELECT 'box2d02', box2d(the_geom_3dm) FROM public.curvepolygon;
---SELECT 'box2d03', box2d(the_geom_3dz) FROM public.curvepolygon;
---SELECT 'box2d04', box2d(the_geom_4d) FROM public.curvepolygon;
-
---SELECT 'box3d01', box3d(the_geom_2d) FROM public.curvepolygon;
---SELECT 'box3d02', box3d(the_geom_3dm) FROM public.curvepolygon;
---SELECT 'box3d03', box3d(the_geom_3dz) FROM public.curvepolygon;
---SELECT 'box3d04', box3d(the_geom_4d) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine01',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine02',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine03',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'ST_CurveToLine04',ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-- TODO: ST_SnapToGrid is required to remove platform dependent precision
-- issues. Until ST_SnapToGrid is updated to work against curves, these
-- tests cannot be run.
---SELECT 'ST_LineToCurve01',ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.curvepolygon;
---SELECT 'ST_LineToCurve02',ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.curvepolygon;
---SELECT 'ST_LineToCurve03',ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.curvepolygon;
---SELECT 'ST_LineToCurve04',ST_asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.curvepolygon;
+--SELECT 'ST_LineToCurve01',ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.curvepolygon;
+--SELECT 'ST_LineToCurve02',ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.curvepolygon;
+--SELECT 'ST_LineToCurve03',ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.curvepolygon;
+--SELECT 'ST_LineToCurve04',ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.curvepolygon;
-- Repeat tests with new function names.
-SELECT 'astext01', ST_astext(the_geom_2d) FROM public.curvepolygon;
-SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.curvepolygon;
-SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.curvepolygon;
-SELECT 'astext04', ST_astext(the_geom_4d) FROM public.curvepolygon;
-
-SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.curvepolygon;
-SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.curvepolygon;
-SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.curvepolygon;
-SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.curvepolygon;
-
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.curvepolygon;
---SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.curvepolygon;
---SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.curvepolygon;
---SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.curvepolygon;
---
---SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.curvepolygon;
---SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.curvepolygon;
---SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.curvepolygon;
---SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.curvepolygon;
-
--- Removed due to descrepencies between hardware
---SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.curvepolygon;
---SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.curvepolygon;
---SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.curvepolygon;
---SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.curvepolygon;
+SELECT 'astext01', ST_AsText(the_geom_2d) FROM public.curvepolygon;
+SELECT 'astext02', ST_AsText(the_geom_3dm) FROM public.curvepolygon;
+SELECT 'astext03', ST_AsText(the_geom_3dz) FROM public.curvepolygon;
+SELECT 'astext04', ST_AsText(the_geom_4d) FROM public.curvepolygon;
---SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.curvepolygon;
---SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.curvepolygon;
---SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.curvepolygon;
---SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.curvepolygon;
+SELECT 'asewkt01', ST_AsEWKT(the_geom_2d) FROM public.curvepolygon;
+SELECT 'asewkt02', ST_AsEWKT(the_geom_3dm) FROM public.curvepolygon;
+SELECT 'asewkt03', ST_AsEWKT(the_geom_3dz) FROM public.curvepolygon;
+SELECT 'asewkt04', ST_AsEWKT(the_geom_4d) FROM public.curvepolygon;
-SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.curvepolygon;
-SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.curvepolygon;
-SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.curvepolygon;
-SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.curvepolygon;
+SELECT 'isValid01', ST_IsValid(the_geom_2d) FROM public.curvepolygon;
+SELECT 'isValid02', ST_IsValid(the_geom_3dm) FROM public.curvepolygon;
+SELECT 'isValid03', ST_IsValid(the_geom_3dz) FROM public.curvepolygon;
+SELECT 'isValid04', ST_IsValid(the_geom_4d) FROM public.curvepolygon;
SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.curvepolygon;
SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.curvepolygon;
SELECT 'SRID03', ST_SRID(the_geom_3dz) FROM public.curvepolygon;
SELECT 'SRID04', ST_SRID(the_geom_4d) FROM public.curvepolygon;
-SELECT 'envelope01', ST_asText(ST_snapToGrid(ST_envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'envelope02', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'envelope03', ST_asText(ST_snapToGrid(ST_envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
-SELECT 'envelope04', ST_asText(ST_snapToGrid(ST_envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'envelope01', ST_AsText(ST_snapToGrid(ST_envelope(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'envelope02', ST_AsText(ST_snapToGrid(ST_envelope(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'envelope03', ST_AsText(ST_snapToGrid(ST_envelope(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
+SELECT 'envelope04', ST_AsText(ST_snapToGrid(ST_envelope(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.curvepolygon;
SELECT 'startPoint01', (ST_startPoint(the_geom_2d) is null) FROM public.curvepolygon;
SELECT 'startPoint02', (ST_startPoint(the_geom_3dm) is null) FROM public.curvepolygon;
SELECT 'endPoint03', (ST_endPoint(the_geom_3dz) is null) FROM public.curvepolygon;
SELECT 'endPoint04', (ST_endPoint(the_geom_4d) is null) FROM public.curvepolygon;
-SELECT 'exteriorRing01', ST_asEWKT(ST_exteriorRing(the_geom_2d)) FROM public.curvepolygon;
-SELECT 'exteriorRing02', ST_asEWKT(ST_exteriorRing(the_geom_3dm)) FROM public.curvepolygon;
-SELECT 'exteriorRing03', ST_asEWKT(ST_exteriorRing(the_geom_3dz)) FROM public.curvepolygon;
-SELECT 'exteriorRing04', ST_asEWKT(ST_exteriorRing(the_geom_4d)) FROM public.curvepolygon;
+SELECT 'exteriorRing01', ST_AsEWKT(ST_exteriorRing(the_geom_2d)) FROM public.curvepolygon;
+SELECT 'exteriorRing02', ST_AsEWKT(ST_exteriorRing(the_geom_3dm)) FROM public.curvepolygon;
+SELECT 'exteriorRing03', ST_AsEWKT(ST_exteriorRing(the_geom_3dz)) FROM public.curvepolygon;
+SELECT 'exteriorRing04', ST_AsEWKT(ST_exteriorRing(the_geom_4d)) FROM public.curvepolygon;
SELECT 'numInteriorRings01', ST_numInteriorRings(the_geom_2d) FROM public.curvepolygon;
SELECT 'numInteriorRings02', ST_numInteriorRings(the_geom_3dm) FROM public.curvepolygon;
SELECT 'numInteriorRings03', ST_numInteriorRings(the_geom_3dz) FROM public.curvepolygon;
SELECT 'numInteriorRings04', ST_numInteriorRings(the_geom_4d) FROM public.curvepolygon;
-SELECT 'interiorRingN-101', ST_asEWKT(ST_interiorRingN(the_geom_2d, 1)) FROM public.curvepolygon;
-SELECT 'interiorRingN-102', ST_asEWKT(ST_interiorRingN(the_geom_3dm, 1)) FROM public.curvepolygon;
-SELECT 'interiorRingN-103', ST_asEWKT(ST_interiorRingN(the_geom_3dz, 1)) FROM public.curvepolygon;
-SELECT 'interiorRingN-104', ST_asEWKT(ST_interiorRingN(the_geom_4d, 1)) FROM public.curvepolygon;
+SELECT 'interiorRingN-101', ST_AsEWKT(ST_InteriorRingN(the_geom_2d, 1)) FROM public.curvepolygon;
+SELECT 'interiorRingN-102', ST_AsEWKT(ST_InteriorRingN(the_geom_3dm, 1)) FROM public.curvepolygon;
+SELECT 'interiorRingN-103', ST_AsEWKT(ST_InteriorRingN(the_geom_3dz, 1)) FROM public.curvepolygon;
+SELECT 'interiorRingN-104', ST_AsEWKT(ST_InteriorRingN(the_geom_4d, 1)) FROM public.curvepolygon;
-SELECT 'interiorRingN-201', ST_asEWKT(ST_interiorRingN(the_geom_2d, 2)) FROM public.curvepolygon;
-SELECT 'interiorRingN-202', ST_asEWKT(ST_interiorRingN(the_geom_3dm, 2)) FROM public.curvepolygon;
-SELECT 'interiorRingN-203', ST_asEWKT(ST_interiorRingN(the_geom_3dz, 2)) FROM public.curvepolygon;
-SELECT 'interiorRingN-204', ST_asEWKT(ST_interiorRingN(the_geom_4d, 2)) FROM public.curvepolygon;
+SELECT 'interiorRingN-201', ST_AsEWKT(ST_InteriorRingN(the_geom_2d, 2)) FROM public.curvepolygon;
+SELECT 'interiorRingN-202', ST_AsEWKT(ST_InteriorRingN(the_geom_3dm, 2)) FROM public.curvepolygon;
+SELECT 'interiorRingN-203', ST_AsEWKT(ST_InteriorRingN(the_geom_3dz, 2)) FROM public.curvepolygon;
+SELECT 'interiorRingN-204', ST_AsEWKT(ST_InteriorRingN(the_geom_4d, 2)) FROM public.curvepolygon;
-SELECT DropGeometryColumn('public', 'curvepolygon', 'the_geom_2d');
-SELECT DropGeometryColumn('public', 'curvepolygon', 'the_geom_3dm');
-SELECT DropGeometryColumn('public', 'curvepolygon', 'the_geom_3dz');
-SELECT DropGeometryColumn('public', 'curvepolygon', 'the_geom_4d');
DROP TABLE public.curvepolygon;
SELECT 'valid wkt curve polygon 1', encode(ST_AsBinary(ST_GeomFromEWKT('CURVEPOLYGON((143.62025166838282 -30.037497356076827, 142.92857147299705 -32.75101196874403, 145.96132309891922 -34.985671061528784, 149.57565307617188 -33.41153335571289, 149.41972407584802 -29.824672680573517, 146.1209416055467 -30.19711586270431, 143.62025166838282 -30.037497356076827))'),'ndr'),'hex');
SELECT 'invalid wkt curve polygon 9', ST_GeomFromEWKT('CURVEPOLYGON((143.62025166838282 -30.037497356076827, 142.92857147299705 -32.75101196874403, 145.96132309891922 -34.985671061528784, 149.57565307617188 -33.41153335571289, 149.41972407584802 -29.824672680573517, 146.1209416055467 -30.19711586270431, 143.62025166838282 -30.037497356076827),COMPOUNDCURVE(CIRCULARSTRING(144.84399355252685 -31.26123924022086, 144.20551952601693 -32.27215644886158, 145.55230712890625 -33.49203872680664),CIRCULARSTRING(147.97080993652344 -32.03618621826172, 146.38697244992585 -31.47406391572417, 144.84399355252685 -31.26123924022086))');
SELECT 'invalid wkt curve polygon a', ST_GeomFromEWKT('CURVEPOLYGON((143.62025166838282 -30.037497356076827, 142.92857147299705 -32.75101196874403, 145.96132309891922 -34.985671061528784, 149.57565307617188 -33.41153335571289, 149.41972407584802 -29.824672680573517, 146.1209416055467 -30.19711586270431, 143.62025166838282 -30.037497356076827),COMPOUNDCURVE(CIRCULARSTRING(144.84399355252685 -31.26123924022086, 144.20551952601693 -32.27215644886158, 145.55230712890625 -33.49203872680664),(145.55230712890625 -33.49203872680664, 147.97080993652344 -32.03618621826172),CIRCULARSTRING(147.97080993652344 -32.03618621826172, 146.38697244992585 -31.47406391572417, 144.84399355252685 -30.76123924022086))');
SELECT 'invalid wkt curve polygon b', ST_GeomFromEWKT('CURVEPOLYGON((143.62025166838282 -30.037497356076827, 142.92857147299705 -32.75101196874403, 145.96132309891922 -34.985671061528784, 149.57565307617188 -33.41153335571289, 149.41972407584802 -29.824672680573517, 146.1209416055467 -30.19711586270431, 143.62025166838282 -30.037497356076827),COMPOUNDCURVE(CIRCULARSTRING(144.84399355252685 -31.26123924022086, 144.20551952601693 -32.27215644886158, 145.55230712890625 -33.49203872680664),(145.55230712890625 -33.49203872680664),CIRCULARSTRING(147.97080993652344 -32.03618621826172, 146.38697244992585 -31.47406391572417, 144.84399355252685 -31.26123924022086))');
-SELECT 'valid ewkb curve polygon 1', ST_asEWKT(ST_GeomFromEWKB(decode('010a00000001000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec0', 'hex')));
-SELECT 'valid ewkb curve polygon 2', ST_asEWKT(ST_GeomFromEWKB(decode('010a00000002000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00102000000060000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0', 'hex')));
-SELECT 'valid ewkb curve polygon 3', ST_asEWKT(ST_GeomFromEWKB(decode('010a00000001000000010800000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec0', 'hex')));
-SELECT 'valid ewkb curve polygon 4', ST_asEWKT(ST_GeomFromEWKB(decode('010a00000002000000010800000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00102000000060000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0', 'hex')));
-SELECT 'valid ewkb curve polygon 5', ST_asEWKT(ST_GeomFromEWKB(decode('010a00000002000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00109000000030000000108000000030000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c001020000000200000000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c0010800000003000000000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0', 'hex')));
+SELECT 'valid ewkb curve polygon 1', ST_AsEWKT(ST_GeomFromEWKB(decode('010a00000001000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec0', 'hex')));
+SELECT 'valid ewkb curve polygon 2', ST_AsEWKT(ST_GeomFromEWKB(decode('010a00000002000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00102000000060000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0', 'hex')));
+SELECT 'valid ewkb curve polygon 3', ST_AsEWKT(ST_GeomFromEWKB(decode('010a00000001000000010800000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec0', 'hex')));
+SELECT 'valid ewkb curve polygon 4', ST_AsEWKT(ST_GeomFromEWKB(decode('010a00000002000000010800000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00102000000060000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0', 'hex')));
+SELECT 'valid ewkb curve polygon 5', ST_AsEWKT(ST_GeomFromEWKB(decode('010a00000002000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00109000000030000000108000000030000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c001020000000200000000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c0010800000003000000000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0', 'hex')));
SELECT 'valid curve 6', encode(ST_AsBinary(ST_GeomFromText('CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 0,2 0, 2 1, 2 3, 4 3),(4 3, 4 5, 1 4, 0 0)), CIRCULARSTRING(1.7 1, 1.4 0.4, 1.7 1) )'),'ndr'),'hex');
SELECT 'valid curve 7', encode(ST_AsBinary(ST_GeomFromText('CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 0,2 0, 2 1, 2 3, 4 3),(4 3, 4 5, 1 4, 0 0)), (1.7 1, 1.4 0.4, 1.7 1) )'),'ndr'),'hex');
SELECT 'valid curve 8', encode(ST_AsBinary(ST_GeomFromText('CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 0,2 0, 2 1, 2 3, 4 3),(4 3, 0 0)), CIRCULARSTRING(1.7 1, 1.4 0.4, 1.7 1) )'),'ndr'),'hex');
ndims04|2
geometrytype04|CURVEPOLYGON
ndims05|4
+asbinary01|010a0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000
+asbinary02|00000007da0000000200000007d800000007c00000000000000000000000000000000000000000000000bff0000000000000bff000000000000040000000000000000000000000000000000000000000000040100000000000003ff0000000000000bff00000000000004018000000000000400000000000000000000000000000004020000000000000000000000000000040000000000000004010000000000000c0000000000000000000000000000000000000000000000000000007d200000005bff00000000000000000000000000000400000000000000000000000000000003fe000000000000040100000000000003ff00000000000000000000000000000401800000000000000000000000000003ff00000000000004010000000000000bff000000000000000000000000000004000000000000000
+asbinary03|01f20300000200000001f00300000700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f000000000000000000000000000000000000000000000040000000000000f03f000000000000f0bf000000000000084000000000000000400000000000000000000000000000104000000000000000000000000000000040000000000000004000000000000000c00000000000000000000000000000000001ea03000005000000000000000000f0bf0000000000000000000000000000f03f0000000000000000000000000000e03f0000000000000040000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f0000000000000840000000000000f0bf0000000000000000000000000000f03f
+asbinary04|0000000bc2000000020000000bc000000007c000000000000000000000000000000000000000000000000000000000000000bff0000000000000bff00000000000003ff0000000000000400000000000000000000000000000000000000000000000400000000000000040100000000000003ff0000000000000bff00000000000004008000000000000401800000000000040000000000000000000000000000000401000000000000040200000000000000000000000000000400000000000000040000000000000004010000000000000c0000000000000000000000000000000000000000000000000000000000000000000000bba00000005bff000000000000000000000000000003ff0000000000000400000000000000000000000000000003fe0000000000000400000000000000040100000000000003ff000000000000000000000000000004008000000000000401800000000000000000000000000003ff000000000000040080000000000004010000000000000bff000000000000000000000000000003ff00000000000004000000000000000
+asewkb01|000000000a00000002000000000800000007c0000000000000000000000000000000bff0000000000000bff0000000000000000000000000000000000000000000003ff0000000000000bff00000000000004000000000000000000000000000000000000000000000004000000000000000c0000000000000000000000000000000000000000200000005bff0000000000000000000000000000000000000000000003fe00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000bff00000000000000000000000000000
+asewkb02|010a0000400200000001080000400700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf0000000000000040000000000000000000000000000000000000000000001040000000000000f03f000000000000f0bf000000000000184000000000000000400000000000000000000000000000204000000000000000000000000000000040000000000000104000000000000000c000000000000000000000000000000000010200004005000000000000000000f0bf000000000000000000000000000000400000000000000000000000000000e03f0000000000001040000000000000f03f000000000000000000000000000018400000000000000000000000000000f03f0000000000001040000000000000f0bf00000000000000000000000000000040
+asewkb03|008000000a00000002008000000800000007c00000000000000000000000000000000000000000000000bff0000000000000bff00000000000003ff00000000000000000000000000000000000000000000040000000000000003ff0000000000000bff00000000000004008000000000000400000000000000000000000000000004010000000000000000000000000000040000000000000004000000000000000c00000000000000000000000000000000000000000000000008000000200000005bff000000000000000000000000000003ff000000000000000000000000000003fe000000000000040000000000000003ff00000000000000000000000000000400800000000000000000000000000003ff00000000000004008000000000000bff000000000000000000000000000003ff0000000000000
+asewkb04|010a0000c00200000001080000c00700000000000000000000c0000000000000000000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f00000000000000400000000000000000000000000000000000000000000000400000000000001040000000000000f03f000000000000f0bf000000000000084000000000000018400000000000000040000000000000000000000000000010400000000000002040000000000000000000000000000000400000000000000040000000000000104000000000000000c000000000000000000000000000000000000000000000000001020000c005000000000000000000f0bf0000000000000000000000000000f03f00000000000000400000000000000000000000000000e03f00000000000000400000000000001040000000000000f03f0000000000000000000000000000084000000000000018400000000000000000000000000000f03f00000000000008400000000000001040000000000000f0bf0000000000000000000000000000f03f0000000000000040
ST_CurveToLine-201|POLYGON((-2 0,-1.70710678 -0.70710678,-1 -1,-0.29289322 -0.70710678,0 0,0.29289322 -0.70710678,1 -1,1.70710678 -0.70710678,2 0,1.41421356 1.41421356,0 2,-1.41421356 1.41421356,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0))
ST_CurveToLine-202|POLYGONM((-2 0 0,-1.70710678 -0.70710678 1,-1 -1 2,-0.29289322 -0.70710678 3,0 0 4,0.29289322 -0.70710678 5,1 -1 6,1.70710678 -0.70710678 7,2 0 8,1.41421356 1.41421356 6,0 2 4,-1.41421356 1.41421356 2,-2 0 0),(-1 0 2,0 0.5 4,1 0 6,0 1 4,-1 0 2))
ST_CurveToLine-203|POLYGON((-2 0 0,-1.70710678 -0.70710678 0.5,-1 -1 1,-0.29289322 -0.70710678 1.5,0 0 2,0.29289322 -0.70710678 2.5,1 -1 3,1.70710678 -0.70710678 3.5,2 0 4,1.41421356 1.41421356 3,0 2 2,-1.41421356 1.41421356 1,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1))
asewkt02|CURVEPOLYGONM(CIRCULARSTRINGM(-2 0 0,-1 -1 2,0 0 4,1 -1 6,2 0 8,0 2 4,-2 0 0),(-1 0 2,0 0.5 4,1 0 6,0 1 4,-1 0 2))
asewkt03|CURVEPOLYGON(CIRCULARSTRING(-2 0 0,-1 -1 1,0 0 2,1 -1 3,2 0 4,0 2 2,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1))
asewkt04|CURVEPOLYGON(CIRCULARSTRING(-2 0 0 0,-1 -1 1 2,0 0 2 4,1 -1 3 6,2 0 4 8,0 2 2 4,-2 0 0 0),(-1 0 1 2,0 0.5 2 4,1 0 3 6,0 1 3 4,-1 0 1 2))
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+isValid01|t
+isValid02|t
+isValid03|t
+isValid04|t
dimension01|2
dimension02|2
dimension03|2
interiorRingN-202|
interiorRingN-203|
interiorRingN-204|
-public.curvepolygon.the_geom_2d effectively removed.
-public.curvepolygon.the_geom_3dm effectively removed.
-public.curvepolygon.the_geom_3dz effectively removed.
-public.curvepolygon.the_geom_4d effectively removed.
valid wkt curve polygon 1|010a00000001000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec0
valid wkt curve polygon 2|010a00000002000000010200000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec00102000000060000006844c4fe011b6240342e2993e0423fc0d45daf9d93066240c4a0c305d62240c000000080ac31624000000020fbbe40c0000000e0107f6240000000c0a10440c04e1c0c14624c6240bf3fb6405c793fc06844c4fe011b6240342e2993e0423fc0
valid wkt curve polygon 3|010a00000001000000010800000007000000ccdf061ad9f3614054093e6d99093ec0ab9085dbb6dd614081540229216040c0ebd7a828c33e62409bf026782a7e41c0000000c06bb2624000000020adb440c08e632f616ead6240c9f7b0bf1dd33dc09011eec0de4362407dd6672f76323ec0ccdf061ad9f3614054093e6d99093ec0
0.26794919243112270647255365849413 1,
0.5857864376269049511983112757903 1.4142135623730950488016887242097))');
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(asbinary(the_geom_2d), 'hex') FROM public.multicurve;
---SELECT 'asbinary02', encode(asbinary(the_geom_3dm), 'hex') FROM public.multicurve;
---SELECT 'asbinary03', encode(asbinary(the_geom_3dz), 'hex') FROM public.multicurve;
---SELECT 'asbinary04', encode(asbinary(the_geom_4d), 'hex') FROM public.multicurve;
---
---SELECT 'asewkb01', encode(asewkb(the_geom_2d), 'hex') FROM public.multicurve;
---SELECT 'asewkb02', encode(asewkb(the_geom_3dm), 'hex') FROM public.multicurve;
---SELECT 'asewkb03', encode(asewkb(the_geom_3dz), 'hex') FROM public.multicurve;
---SELECT 'asewkb04', encode(asewkb(the_geom_4d), 'hex') FROM public.multicurve;
-
-SELECT 'ST_CurveToLine-201', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine-202', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine-203', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine-204', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-
-SELECT 'ST_CurveToLine-401', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine-402', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine-403', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine-404', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-
-SELECT 'ST_CurveToLine01', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine02', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine03', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-SELECT 'ST_CurveToLine04', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
-
--- Removed due to descrepencies between hardware
---SELECT 'box2d01', box2d(the_geom_2d) FROM public.multicurve;
---SELECT 'box2d02', box2d(the_geom_3dm) FROM public.multicurve;
---SELECT 'box2d03', box2d(the_geom_3dz) FROM public.multicurve;
---SELECT 'box2d04', box2d(the_geom_4d) FROM public.multicurve;
-
---SELECT 'box3d01', box3d(the_geom_2d) FROM public.multicurve;
---SELECT 'box3d02', box3d(the_geom_3dm) FROM public.multicurve;
---SELECT 'box3d03', box3d(the_geom_3dz) FROM public.multicurve;
---SELECT 'box3d04', box3d(the_geom_4d) FROM public.multicurve;
+SELECT 'asbinary01', encode(ST_AsBinary(the_geom_2d, 'xdr'), 'hex') FROM public.multicurve;
+SELECT 'asbinary02', encode(ST_AsBinary(the_geom_3dm, 'ndr'), 'hex') FROM public.multicurve;
+SELECT 'asbinary03', encode(ST_AsBinary(the_geom_3dz, 'xdr'), 'hex') FROM public.multicurve;
+SELECT 'asbinary04', encode(ST_AsBinary(the_geom_4d, 'ndr'), 'hex') FROM public.multicurve;
+
+SELECT 'asewkb01', encode(ST_AsEWKB(the_geom_2d, 'ndr'), 'hex') FROM public.multicurve;
+SELECT 'asewkb02', encode(ST_AsEWKB(the_geom_3dm, 'xdr'), 'hex') FROM public.multicurve;
+SELECT 'asewkb03', encode(ST_AsEWKB(the_geom_3dz, 'ndr'), 'hex') FROM public.multicurve;
+SELECT 'asewkb04', encode(ST_AsEWKB(the_geom_4d, 'xdr'), 'hex') FROM public.multicurve;
+
+SELECT 'ST_CurveToLine-201', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine-202', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine-203', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine-204', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+
+SELECT 'ST_CurveToLine-401', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine-402', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine-403', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine-404', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+
+SELECT 'ST_CurveToLine01', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine02', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine03', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+SELECT 'ST_CurveToLine04', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multicurve;
+
-- TODO: ST_SnapToGrid is required to remove platform dependent precision
-- issues. Until ST_SnapToGrid is updated to work against curves, these
-- tests cannot be run.
---SELECT 'ST_LineToCurve01', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.multicurve;
---SELECT 'ST_LineToCurve02', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.multicurve;
---SELECT 'ST_LineToCurve03', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.multicurve;
---SELECT 'ST_LineToCurve04', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.multicurve;
+--SELECT 'ST_LineToCurve01', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.multicurve;
+--SELECT 'ST_LineToCurve02', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.multicurve;
+--SELECT 'ST_LineToCurve03', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.multicurve;
+--SELECT 'ST_LineToCurve04', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.multicurve;
-- Repeat all tests with the new function names.
-SELECT 'astext01', ST_astext(the_geom_2d) FROM public.multicurve;
-SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.multicurve;
-SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.multicurve;
-SELECT 'astext04', ST_astext(the_geom_4d) FROM public.multicurve;
-
-SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.multicurve;
-SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.multicurve;
-SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.multicurve;
-SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.multicurve;
-
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.multicurve;
---SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.multicurve;
---SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.multicurve;
---SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.multicurve;
---
---SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.multicurve;
---SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.multicurve;
---SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.multicurve;
---SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.multicurve;
-
--- Removed due to descrepencies between hardware
---SELECT 'box2d01', ST_box2d(the_geom_2d) FROM public.multicurve;
---SELECT 'box2d02', ST_box2d(the_geom_3dm) FROM public.multicurve;
---SELECT 'box2d03', ST_box2d(the_geom_3dz) FROM public.multicurve;
---SELECT 'box2d04', ST_box2d(the_geom_4d) FROM public.multicurve;
-
---SELECT 'box3d01', ST_box3d(the_geom_2d) FROM public.multicurve;
---SELECT 'box3d02', ST_box3d(the_geom_3dm) FROM public.multicurve;
---SELECT 'box3d03', ST_box3d(the_geom_3dz) FROM public.multicurve;
---SELECT 'box3d04', ST_box3d(the_geom_4d) FROM public.multicurve;
-
-SELECT 'isValid01', ST_isValid(the_geom_2d) FROM public.multicurve;
-SELECT 'isValid02', ST_isValid(the_geom_3dm) FROM public.multicurve;
-SELECT 'isValid03', ST_isValid(the_geom_3dz) FROM public.multicurve;
-SELECT 'isValid04', ST_isValid(the_geom_4d) FROM public.multicurve;
+SELECT 'astext01', ST_AsText(the_geom_2d) FROM public.multicurve;
+SELECT 'astext02', ST_AsText(the_geom_3dm) FROM public.multicurve;
+SELECT 'astext03', ST_AsText(the_geom_3dz) FROM public.multicurve;
+SELECT 'astext04', ST_AsText(the_geom_4d) FROM public.multicurve;
+
+SELECT 'asewkt01', ST_AsEWKT(the_geom_2d) FROM public.multicurve;
+SELECT 'asewkt02', ST_AsEWKT(the_geom_3dm) FROM public.multicurve;
+SELECT 'asewkt03', ST_AsEWKT(the_geom_3dz) FROM public.multicurve;
+SELECT 'asewkt04', ST_AsEWKT(the_geom_4d) FROM public.multicurve;
+
+SELECT 'isValid01', ST_IsValid(the_geom_2d) FROM public.multicurve;
+SELECT 'isValid02', ST_IsValid(the_geom_3dm) FROM public.multicurve;
+SELECT 'isValid03', ST_IsValid(the_geom_3dz) FROM public.multicurve;
+SELECT 'isValid04', ST_IsValid(the_geom_4d) FROM public.multicurve;
SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.multicurve;
SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.multicurve;
SELECT 'numGeometries03', ST_numGeometries(the_geom_3dz) FROM public.multicurve;
SELECT 'numGeometries04', ST_numGeometries(the_geom_4d) FROM public.multicurve;
-SELECT 'geometryN-201', ST_asEWKT(ST_geometryN(the_geom_2d, 2)) FROM public.multicurve;
-SELECT 'geometryN-202', ST_asEWKT(ST_geometryN(the_geom_3dm, 2)) FROM public.multicurve;
-SELECT 'geometryN-203', ST_asEWKT(ST_geometryN(the_geom_3dz, 2)) FROM public.multicurve;
-SELECT 'geometryN-204', ST_asEWKT(ST_geometryN(the_geom_4d, 2)) FROM public.multicurve;
+SELECT 'geometryN-201', ST_AsEWKT(ST_geometryN(the_geom_2d, 2)) FROM public.multicurve;
+SELECT 'geometryN-202', ST_AsEWKT(ST_geometryN(the_geom_3dm, 2)) FROM public.multicurve;
+SELECT 'geometryN-203', ST_AsEWKT(ST_geometryN(the_geom_3dz, 2)) FROM public.multicurve;
+SELECT 'geometryN-204', ST_AsEWKT(ST_geometryN(the_geom_4d, 2)) FROM public.multicurve;
-SELECT 'geometryN-301', (ST_asEWKT(ST_geometryN(the_geom_2d, 3)) is null) FROM public.multicurve;
-SELECT 'geometryN-302', (ST_asEWKT(ST_geometryN(the_geom_3dm, 3)) is null) FROM public.multicurve;
-SELECT 'geometryN-303', (ST_asEWKT(ST_geometryN(the_geom_3dz, 3)) is null) FROM public.multicurve;
-SELECT 'geometryN-304', (ST_asEWKT(ST_geometryN(the_geom_4d, 3)) is null) FROM public.multicurve;
+SELECT 'geometryN-301', (ST_AsEWKT(ST_geometryN(the_geom_2d, 3)) is null) FROM public.multicurve;
+SELECT 'geometryN-302', (ST_AsEWKT(ST_geometryN(the_geom_3dm, 3)) is null) FROM public.multicurve;
+SELECT 'geometryN-303', (ST_AsEWKT(ST_geometryN(the_geom_3dz, 3)) is null) FROM public.multicurve;
+SELECT 'geometryN-304', (ST_AsEWKT(ST_geometryN(the_geom_4d, 3)) is null) FROM public.multicurve;
SELECT DropGeometryColumn('public', 'multicurve', 'the_geom_2d');
SELECT DropGeometryColumn('public', 'multicurve', 'the_geom_3dm');
SELECT DropGeometryColumn('public', 'multicurve', 'the_geom_3dz');
SELECT DropGeometryColumn('public', 'multicurve', 'the_geom_4d');
+
DROP TABLE public.multicurve;
geometrytype03|MULTICURVEM
ndims04|2
geometrytype04|MULTICURVE
+asbinary01|000000000b0000000200000000020000000440140000000000004014000000000000400800000000000040140000000000004008000000000000400800000000000000000000000000004008000000000000000000000800000003000000000000000000000000000000003fd126145e9ecd563ff00000000000003fe2bec3330188673ff6a09e667f3bcd
+asbinary02|01db0700000200000001d20700000400000000000000000014400000000000001440000000000000084000000000000008400000000000001440000000000000004000000000000008400000000000000840000000000000f03f00000000000000000000000000000840000000000000f03f01d80700000300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f00000000000000c067880133c3bee23fcd3b7f669ea0f63f0000000000000040
+asbinary03|00000003f30000000200000003ea00000004401400000000000040140000000000003ff0000000000000400800000000000040140000000000004000000000000000400800000000000040080000000000004008000000000000000000000000000040080000000000003ff000000000000000000003f0000000030000000000000000000000000000000000000000000000003fd126145e9ecd563ff000000000000040080000000000003fe2bec3330188673ff6a09e667f3bcd3ff0000000000000
+asbinary04|01c30b00000200000001ba0b00000400000000000000000014400000000000001440000000000000f03f00000000000008400000000000000840000000000000144000000000000000400000000000000040000000000000084000000000000008400000000000000840000000000000f03f00000000000000000000000000000840000000000000f03f000000000000f03f01c00b000003000000000000000000000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084000000000000000c067880133c3bee23fcd3b7f669ea0f63f000000000000f03f0000000000000040
+asewkb01|010b00000002000000010200000004000000000000000000144000000000000014400000000000000840000000000000144000000000000008400000000000000840000000000000000000000000000008400108000000030000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f67880133c3bee23fcd3b7f669ea0f63f
+asewkb02|004000000b00000002004000000200000004401400000000000040140000000000004008000000000000400800000000000040140000000000004000000000000000400800000000000040080000000000003ff0000000000000000000000000000040080000000000003ff00000000000000040000008000000030000000000000000000000000000000000000000000000003fd126145e9ecd563ff0000000000000c0000000000000003fe2bec3330188673ff6a09e667f3bcd4000000000000000
+asewkb03|010b0000800200000001020000800400000000000000000014400000000000001440000000000000f03f00000000000008400000000000001440000000000000004000000000000008400000000000000840000000000000084000000000000000000000000000000840000000000000f03f01080000800300000000000000000000000000000000000000000000000000000056cd9e5e1426d13f000000000000f03f000000000000084067880133c3bee23fcd3b7f669ea0f63f000000000000f03f
+asewkb04|00c000000b0000000200c000000200000004401400000000000040140000000000003ff0000000000000400800000000000040080000000000004014000000000000400000000000000040000000000000004008000000000000400800000000000040080000000000003ff0000000000000000000000000000040080000000000003ff00000000000003ff000000000000000c00000080000000300000000000000000000000000000000000000000000000000000000000000003fd126145e9ecd563ff00000000000004008000000000000c0000000000000003fe2bec3330188673ff6a09e667f3bcd3ff00000000000004000000000000000
ST_CurveToLine-201|MULTILINESTRING((5 5,3 5,3 3,0 3),(0 0,0.58578644 1.41421356))
ST_CurveToLine-202|MULTILINESTRINGM((5 5 3,3 5 2,3 3 1,0 3 1),(0 0 0,0.58578644 1.41421356 2))
ST_CurveToLine-203|MULTILINESTRING((5 5 1,3 5 2,3 3 3,0 3 1),(0 0 0,0.58578644 1.41421356 1))
asewkt02|MULTICURVEM((5 5 3,3 5 2,3 3 1,0 3 1),CIRCULARSTRINGM(0 0 0,0.267949192431123 1 -2,0.585786437626905 1.4142135623731 2))
asewkt03|MULTICURVE((5 5 1,3 5 2,3 3 3,0 3 1),CIRCULARSTRING(0 0 0,0.267949192431123 1 3,0.585786437626905 1.4142135623731 1))
asewkt04|MULTICURVE((5 5 1 3,3 5 2 2,3 3 3 1,0 3 1 1),CIRCULARSTRING(0 0 0 0,0.267949192431123 1 3 -2,0.585786437626905 1.4142135623731 1 2))
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+isValid01|t
+isValid02|t
+isValid03|t
+isValid04|t
dimension01|1
dimension02|1
dimension03|1
4 11,
7 8)))')
WHERE id = 1;
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(asbinary(the_geom_2d), 'hex') FROM public.multisurface;
---SELECT 'asbinary02', encode(asbinary(the_geom_3dm), 'hex') FROM public.multisurface;
---SELECT 'asbinary03', encode(asbinary(the_geom_3dz), 'hex') FROM public.multisurface;
---SELECT 'asbinary04', encode(asbinary(the_geom_4d), 'hex') FROM public.multisurface;
---
---SELECT 'asewkb01', encode(asewkb(the_geom_2d), 'hex') FROM public.multisurface;
---SELECT 'asewkb02', encode(asewkb(the_geom_3dm), 'hex') FROM public.multisurface;
---SELECT 'asewkb03', encode(asewkb(the_geom_3dz), 'hex') FROM public.multisurface;
---SELECT 'asewkb04', encode(asewkb(the_geom_4d), 'hex') FROM public.multisurface;
+
+SELECT 'asbinary01', encode(ST_AsBinary(the_geom_2d, 'ndr'), 'hex') FROM public.multisurface;
+SELECT 'asbinary02', encode(ST_AsBinary(the_geom_3dm, 'ndr'), 'hex') FROM public.multisurface;
+SELECT 'asbinary03', encode(ST_AsBinary(the_geom_3dz, 'ndr'), 'hex') FROM public.multisurface;
+SELECT 'asbinary04', encode(ST_AsBinary(the_geom_4d, 'ndr'), 'hex') FROM public.multisurface;
-SELECT 'ST_CurveToLine-201', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine-202', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine-203', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine-204', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'asewkb01', encode(ST_AsEWKB(the_geom_2d, 'ndr'), 'hex') FROM public.multisurface;
+SELECT 'asewkb02', encode(ST_AsEWKB(the_geom_3dm, 'ndr'), 'hex') FROM public.multisurface;
+SELECT 'asewkb03', encode(ST_AsEWKB(the_geom_3dz, 'ndr'), 'hex') FROM public.multisurface;
+SELECT 'asewkb04', encode(ST_AsEWKB(the_geom_4d, 'ndr'), 'hex') FROM public.multisurface;
-SELECT 'ST_CurveToLine-401', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine-402', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine-403', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine-404', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-201', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-202', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-203', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-204', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 2), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine01', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine02', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine03', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-SELECT 'ST_CurveToLine04', ST_Asewkt(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-401', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-402', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-403', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine-404', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d, 4), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+
+SELECT 'ST_CurveToLine01', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_2d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine02', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dm), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine03', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_3dz), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
+SELECT 'ST_CurveToLine04', ST_AsEWKT(ST_SnapToGrid(ST_CurveToLine(the_geom_4d), 'POINT(0 0 0 0)'::geometry, 1e-8, 1e-8, 1e-8, 1e-8)) FROM public.multisurface;
-- TODO: ST_SnapToGrid is required to remove platform dependent precision
-- issues. Until ST_SnapToGrid is updated to work against curves, these
-- tests cannot be run.
---SELECT 'ST_LineToCurve01', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.multisurface;
---SELECT 'ST_LineToCurve02', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.multisurface;
---SELECT 'ST_LineToCurve03', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.multisurface;
---SELECT 'ST_LineToCurve04', ST_Asewkt(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.multisurface;
+--SELECT 'ST_LineToCurve01', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_2d))) FROM public.multisurface;
+--SELECT 'ST_LineToCurve02', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dm))) FROM public.multisurface;
+--SELECT 'ST_LineToCurve03', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_3dz))) FROM public.multisurface;
+--SELECT 'ST_LineToCurve04', ST_AsEWKT(ST_LineToCurve(ST_CurveToLine(the_geom_4d))) FROM public.multisurface;
-- Repeat tests with new function names.
-SELECT 'astext01', ST_astext(the_geom_2d) FROM public.multisurface;
-SELECT 'astext02', ST_astext(the_geom_3dm) FROM public.multisurface;
-SELECT 'astext03', ST_astext(the_geom_3dz) FROM public.multisurface;
-SELECT 'astext04', ST_astext(the_geom_4d) FROM public.multisurface;
-
-SELECT 'asewkt01', ST_asewkt(the_geom_2d) FROM public.multisurface;
-SELECT 'asewkt02', ST_asewkt(the_geom_3dm) FROM public.multisurface;
-SELECT 'asewkt03', ST_asewkt(the_geom_3dz) FROM public.multisurface;
-SELECT 'asewkt04', ST_asewkt(the_geom_4d) FROM public.multisurface;
+SELECT 'astext01', ST_AsText(the_geom_2d) FROM public.multisurface;
+SELECT 'astext02', ST_AsText(the_geom_3dm) FROM public.multisurface;
+SELECT 'astext03', ST_AsText(the_geom_3dz) FROM public.multisurface;
+SELECT 'astext04', ST_AsText(the_geom_4d) FROM public.multisurface;
--- These tests will fail on different architectures
--- We need a way to handle multiple byte orderings
---SELECT 'asbinary01', encode(ST_asbinary(the_geom_2d), 'hex') FROM public.multisurface;
---SELECT 'asbinary02', encode(ST_asbinary(the_geom_3dm), 'hex') FROM public.multisurface;
---SELECT 'asbinary03', encode(ST_asbinary(the_geom_3dz), 'hex') FROM public.multisurface;
---SELECT 'asbinary04', encode(ST_asbinary(the_geom_4d), 'hex') FROM public.multisurface;
---
---SELECT 'asewkb01', encode(ST_asewkb(the_geom_2d), 'hex') FROM public.multisurface;
---SELECT 'asewkb02', encode(ST_asewkb(the_geom_3dm), 'hex') FROM public.multisurface;
---SELECT 'asewkb03', encode(ST_asewkb(the_geom_3dz), 'hex') FROM public.multisurface;
---SELECT 'asewkb04', encode(ST_asewkb(the_geom_4d), 'hex') FROM public.multisurface;
+SELECT 'asewkt01', ST_AsEWKT(the_geom_2d) FROM public.multisurface;
+SELECT 'asewkt02', ST_AsEWKT(the_geom_3dm) FROM public.multisurface;
+SELECT 'asewkt03', ST_AsEWKT(the_geom_3dz) FROM public.multisurface;
+SELECT 'asewkt04', ST_AsEWKT(the_geom_4d) FROM public.multisurface;
SELECT 'box2d01', box2d(the_geom_2d) FROM public.multisurface;
SELECT 'box2d02', box2d(the_geom_3dm) FROM public.multisurface;
SELECT 'isValid03', ST_IsValid(the_geom_3dz) FROM public.multisurface;
SELECT 'isValid04', ST_IsValid(the_geom_4d) FROM public.multisurface;
-SELECT 'dimension01', ST_dimension(the_geom_2d) FROM public.multisurface;
-SELECT 'dimension02', ST_dimension(the_geom_3dm) FROM public.multisurface;
-SELECT 'dimension03', ST_dimension(the_geom_3dz) FROM public.multisurface;
-SELECT 'dimension04', ST_dimension(the_geom_4d) FROM public.multisurface;
+SELECT 'dimension01', ST_Dimension(the_geom_2d) FROM public.multisurface;
+SELECT 'dimension02', ST_Dimension(the_geom_3dm) FROM public.multisurface;
+SELECT 'dimension03', ST_Dimension(the_geom_3dz) FROM public.multisurface;
+SELECT 'dimension04', ST_Dimension(the_geom_4d) FROM public.multisurface;
-SELECT 'numGeometries01', ST_numGeometries(the_geom_2d) FROM public.multisurface;
-SELECT 'numGeometries02', ST_numGeometries(the_geom_3dm) FROM public.multisurface;
-SELECT 'numGeometries03', ST_numGeometries(the_geom_3dz) FROM public.multisurface;
-SELECT 'numGeometries04', ST_numGeometries(the_geom_4d) FROM public.multisurface;
+SELECT 'numGeometries01', ST_NumGeometries(the_geom_2d) FROM public.multisurface;
+SELECT 'numGeometries02', ST_NumGeometries(the_geom_3dm) FROM public.multisurface;
+SELECT 'numGeometries03', ST_NumGeometries(the_geom_3dz) FROM public.multisurface;
+SELECT 'numGeometries04', ST_NumGeometries(the_geom_4d) FROM public.multisurface;
-SELECT 'geometryN-201', ST_asEWKT(ST_geometryN(the_geom_2d, 2)) FROM public.multisurface;
-SELECT 'geometryN-202', ST_asEWKT(ST_geometryN(the_geom_3dm, 2)) FROM public.multisurface;
-SELECT 'geometryN-203', ST_asEWKT(ST_geometryN(the_geom_3dz, 2)) FROM public.multisurface;
-SELECT 'geometryN-204', ST_asEWKT(ST_geometryN(the_geom_4d, 2)) FROM public.multisurface;
+SELECT 'geometryN-201', ST_AsEWKT(ST_geometryN(the_geom_2d, 2)) FROM public.multisurface;
+SELECT 'geometryN-202', ST_AsEWKT(ST_geometryN(the_geom_3dm, 2)) FROM public.multisurface;
+SELECT 'geometryN-203', ST_AsEWKT(ST_geometryN(the_geom_3dz, 2)) FROM public.multisurface;
+SELECT 'geometryN-204', ST_AsEWKT(ST_geometryN(the_geom_4d, 2)) FROM public.multisurface;
-SELECT 'geometryN-301', (ST_geometryN(the_geom_2d, 3) is null) FROM public.multisurface;
-SELECT 'geometryN-302', (ST_geometryN(the_geom_3dm, 3) is null) FROM public.multisurface;
-SELECT 'geometryN-303', (ST_geometryN(the_geom_3dz, 3) is null) FROM public.multisurface;
-SELECT 'geometryN-304', (ST_geometryN(the_geom_4d, 3) is null) FROM public.multisurface;
+SELECT 'geometryN-301', (ST_GeometryN(the_geom_2d, 3) is null) FROM public.multisurface;
+SELECT 'geometryN-302', (ST_GeometryN(the_geom_3dm, 3) is null) FROM public.multisurface;
+SELECT 'geometryN-303', (ST_GeometryN(the_geom_3dz, 3) is null) FROM public.multisurface;
+SELECT 'geometryN-304', (ST_GeometryN(the_geom_4d, 3) is null) FROM public.multisurface;
-SELECT DropGeometryColumn('public', 'multisurface', 'the_geom_2d');
-SELECT DropGeometryColumn('public', 'multisurface', 'the_geom_3dm');
-SELECT DropGeometryColumn('public', 'multisurface', 'the_geom_3dz');
-SELECT DropGeometryColumn('public', 'multisurface', 'the_geom_4d');
DROP TABLE public.multisurface;
geometrytype03|MULTISURFACEM
ndims04|2
geometrytype04|MULTISURFACE
+asbinary01|010c00000002000000010a0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040
+asbinary02|01dc0700000200000001da0700000200000001d80700000700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf0000000000000040000000000000000000000000000000000000000000001040000000000000f03f000000000000f0bf000000000000184000000000000000400000000000000000000000000000204000000000000000000000000000000040000000000000104000000000000000c00000000000000000000000000000000001d207000005000000000000000000f0bf000000000000000000000000000000400000000000000000000000000000e03f0000000000001040000000000000f03f000000000000000000000000000018400000000000000000000000000000f03f0000000000001040000000000000f0bf0000000000000000000000000000004001d307000001000000050000000000000000001c400000000000002040000000000000204000000000000024400000000000002440000000000000144000000000000018400000000000002c40000000000000f03f0000000000001040000000000000264000000000000018400000000000001c4000000000000020400000000000002040
+asbinary03|01f40300000200000001f20300000200000001f00300000700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f000000000000000000000000000000000000000000000040000000000000f03f000000000000f0bf000000000000084000000000000000400000000000000000000000000000104000000000000000000000000000000040000000000000004000000000000000c00000000000000000000000000000000001ea03000005000000000000000000f0bf0000000000000000000000000000f03f0000000000000000000000000000e03f0000000000000040000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f0000000000000840000000000000f0bf0000000000000000000000000000f03f01eb03000001000000050000000000000000001c4000000000000020400000000000001c4000000000000024400000000000002440000000000000144000000000000018400000000000002c4000000000000008400000000000001040000000000000264000000000000010400000000000001c4000000000000020400000000000001c40
+asbinary04|01c40b00000200000001c20b00000200000001c00b00000700000000000000000000c0000000000000000000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f00000000000000400000000000000000000000000000000000000000000000400000000000001040000000000000f03f000000000000f0bf000000000000084000000000000018400000000000000040000000000000000000000000000010400000000000002040000000000000000000000000000000400000000000000040000000000000104000000000000000c000000000000000000000000000000000000000000000000001ba0b000005000000000000000000f0bf0000000000000000000000000000f03f00000000000000400000000000000000000000000000e03f00000000000000400000000000001040000000000000f03f0000000000000000000000000000084000000000000018400000000000000000000000000000f03f00000000000008400000000000001040000000000000f0bf0000000000000000000000000000f03f000000000000004001bb0b000001000000050000000000000000001c4000000000000020400000000000001c400000000000002040000000000000244000000000000024400000000000001440000000000000144000000000000018400000000000002c400000000000000840000000000000f03f00000000000010400000000000002640000000000000104000000000000018400000000000001c4000000000000020400000000000001c400000000000002040
+asewkb01|010c00000002000000010a0000000200000001080000000700000000000000000000c00000000000000000000000000000f0bf000000000000f0bf00000000000000000000000000000000000000000000f03f000000000000f0bf000000000000004000000000000000000000000000000000000000000000004000000000000000c00000000000000000010200000005000000000000000000f0bf00000000000000000000000000000000000000000000e03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f0bf0000000000000000010300000001000000050000000000000000001c4000000000000020400000000000002440000000000000244000000000000018400000000000002c40000000000000104000000000000026400000000000001c400000000000002040
+asewkb02|010c00004002000000010a0000400200000001080000400700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf0000000000000040000000000000000000000000000000000000000000001040000000000000f03f000000000000f0bf000000000000184000000000000000400000000000000000000000000000204000000000000000000000000000000040000000000000104000000000000000c000000000000000000000000000000000010200004005000000000000000000f0bf000000000000000000000000000000400000000000000000000000000000e03f0000000000001040000000000000f03f000000000000000000000000000018400000000000000000000000000000f03f0000000000001040000000000000f0bf00000000000000000000000000000040010300004001000000050000000000000000001c400000000000002040000000000000204000000000000024400000000000002440000000000000144000000000000018400000000000002c40000000000000f03f0000000000001040000000000000264000000000000018400000000000001c4000000000000020400000000000002040
+asewkb03|010c00008002000000010a0000800200000001080000800700000000000000000000c000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f000000000000000000000000000000000000000000000040000000000000f03f000000000000f0bf000000000000084000000000000000400000000000000000000000000000104000000000000000000000000000000040000000000000004000000000000000c000000000000000000000000000000000010200008005000000000000000000f0bf0000000000000000000000000000f03f0000000000000000000000000000e03f0000000000000040000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f0000000000000840000000000000f0bf0000000000000000000000000000f03f010300008001000000050000000000000000001c4000000000000020400000000000001c4000000000000024400000000000002440000000000000144000000000000018400000000000002c4000000000000008400000000000001040000000000000264000000000000010400000000000001c4000000000000020400000000000001c40
+asewkb04|010c0000c002000000010a0000c00200000001080000c00700000000000000000000c0000000000000000000000000000000000000000000000000000000000000f0bf000000000000f0bf000000000000f03f00000000000000400000000000000000000000000000000000000000000000400000000000001040000000000000f03f000000000000f0bf000000000000084000000000000018400000000000000040000000000000000000000000000010400000000000002040000000000000000000000000000000400000000000000040000000000000104000000000000000c000000000000000000000000000000000000000000000000001020000c005000000000000000000f0bf0000000000000000000000000000f03f00000000000000400000000000000000000000000000e03f00000000000000400000000000001040000000000000f03f0000000000000000000000000000084000000000000018400000000000000000000000000000f03f00000000000008400000000000001040000000000000f0bf0000000000000000000000000000f03f000000000000004001030000c001000000050000000000000000001c4000000000000020400000000000001c400000000000002040000000000000244000000000000024400000000000001440000000000000144000000000000018400000000000002c400000000000000840000000000000f03f00000000000010400000000000002640000000000000104000000000000018400000000000001c4000000000000020400000000000001c400000000000002040
ST_CurveToLine-201|MULTIPOLYGON(((-2 0,-1.70710678 -0.70710678,-1 -1,-0.29289322 -0.70710678,0 0,0.29289322 -0.70710678,1 -1,1.70710678 -0.70710678,2 0,1.41421356 1.41421356,0 2,-1.41421356 1.41421356,-2 0),(-1 0,0 0.5,1 0,0 1,-1 0)),((7 8,10 10,6 14,4 11,7 8)))
ST_CurveToLine-202|MULTIPOLYGONM(((-2 0 0,-1.70710678 -0.70710678 1,-1 -1 2,-0.29289322 -0.70710678 3,0 0 4,0.29289322 -0.70710678 5,1 -1 6,1.70710678 -0.70710678 7,2 0 8,1.41421356 1.41421356 6,0 2 4,-1.41421356 1.41421356 2,-2 0 0),(-1 0 2,0 0.5 4,1 0 6,0 1 4,-1 0 2)),((7 8 8,10 10 5,6 14 1,4 11 6,7 8 8)))
ST_CurveToLine-203|MULTIPOLYGON(((-2 0 0,-1.70710678 -0.70710678 0.5,-1 -1 1,-0.29289322 -0.70710678 1.5,0 0 2,0.29289322 -0.70710678 2.5,1 -1 3,1.70710678 -0.70710678 3.5,2 0 4,1.41421356 1.41421356 3,0 2 2,-1.41421356 1.41421356 1,-2 0 0),(-1 0 1,0 0.5 2,1 0 3,0 1 3,-1 0 1)),((7 8 7,10 10 5,6 14 3,4 11 4,7 8 7)))
box3d02|BOX3D(-2 -1 0,10 14 0)
box3d03|BOX3D(-2 -1 0,10 14 7)
box3d04|BOX3D(-2 -1 0,10 14 7)
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
-ERROR: Exception in LWGEOM2GEOS: curved geometry not supported.
+isValid01|t
+isValid02|t
+isValid03|t
+isValid04|t
dimension01|2
dimension02|2
dimension03|2
geometryN-302|t
geometryN-303|t
geometryN-304|t
-public.multisurface.the_geom_2d effectively removed.
-public.multisurface.the_geom_3dm effectively removed.
-public.multisurface.the_geom_3dz effectively removed.
-public.multisurface.the_geom_4d effectively removed.