[postgis-commits] svn - r3418 - branches/1.3/regress
postgis-commits at postgis.refractions.net
postgis-commits at postgis.refractions.net
Tue Dec 16 04:54:50 PST 2008
Author: robe
Date: 2008-12-16 04:54:48 -0800 (Tue, 16 Dec 2008)
New Revision: 3418
Added:
branches/1.3/regress/torturetest.sql
Log:
Documented functions spot check test script
Added: branches/1.3/regress/torturetest.sql
===================================================================
--- branches/1.3/regress/torturetest.sql 2008-12-16 12:40:33 UTC (rev 3417)
+++ branches/1.3/regress/torturetest.sql 2008-12-16 12:54:48 UTC (rev 3418)
@@ -0,0 +1,39470 @@
+-- $Id$
+/** Used to spot check all documented functions against all geometry types **/
+SELECT 'create,insert,drop Test: Start Testing Multi/POINT';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/POINT';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/LINESTRING';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/LINESTRING';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/POLYGON';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/POLYGON';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/POINTM';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/POINTM';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/LINESTRINGM';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/POLYGONM';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/POLYGONM';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/POINT';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/POINT';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/LINESTRING';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/LINESTRING';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/POLYGON';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/POLYGON';
+
+
+
+SELECT 'create,insert,drop Test: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+ CREATE TABLE pgis_garden (gid serial);
+ SELECT AddGeometryColumn('pgis_garden','the_geom',ST_SRID(the_geom),GeometryType(the_geom),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo limit 1;
+ SELECT AddGeometryColumn('pgis_garden','the_geom_multi',ST_SRID(the_geom),GeometryType(ST_Multi(the_geom)),ST_CoordDim(the_geom))
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo limit 1;
+ INSERT INTO pgis_garden(the_geom, the_geom_multi)
+ SELECT the_geom, ST_Multi(the_geom)
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+
+ SELECT UpdateGeometrySRID('pgis_garden', 'the_geom', 4269);
+
+ SELECT DropGeometryColumn ('pgis_garden','the_geom');
+ SELECT DropGeometryTable ('pgis_garden');
+COMMIT;
+SELECT 'create,insert,drop Test: Start Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'AddAuth PointSet(auth_token): Start Testing POINT';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'AddAuth LineSet(auth_token): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'AddAuth PolySet(auth_token): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'AddAuth PointMSet(auth_token): Start Testing POINTM';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'AddAuth LineMSet(auth_token): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'AddAuth PolygonMSet(auth_token): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'AddAuth PointSet3D(auth_token): Start Testing POINT';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'AddAuth LineSet3D(auth_token): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'AddAuth PolygonSet3D(auth_token): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'AddAuth GCSet3D(auth_token): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT AddAuth('monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'AddAuth(auth_token) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'CheckAuth PointSet(a_schema_name, a_table_name, a_key_column_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'CheckAuth LineSet(a_schema_name, a_table_name, a_key_column_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'CheckAuth PolySet(a_schema_name, a_table_name, a_key_column_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'CheckAuth PointMSet(a_schema_name, a_table_name, a_key_column_name): Start Testing POINTM';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'CheckAuth LineMSet(a_schema_name, a_table_name, a_key_column_name): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'CheckAuth PolygonMSet(a_schema_name, a_table_name, a_key_column_name): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'CheckAuth PointSet3D(a_schema_name, a_table_name, a_key_column_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'CheckAuth LineSet3D(a_schema_name, a_table_name, a_key_column_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'CheckAuth PolygonSet3D(a_schema_name, a_table_name, a_key_column_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'CheckAuth GCSet3D(a_schema_name, a_table_name, a_key_column_name): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_schema_name, a_table_name, a_key_column_name) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'CheckAuth PointSet(a_table_name, a_key_column_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'CheckAuth LineSet(a_table_name, a_key_column_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'CheckAuth PolySet(a_table_name, a_key_column_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'CheckAuth PointMSet(a_table_name, a_key_column_name): Start Testing POINTM';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'CheckAuth LineMSet(a_table_name, a_key_column_name): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'CheckAuth PolygonMSet(a_table_name, a_key_column_name): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'CheckAuth PointSet3D(a_table_name, a_key_column_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'CheckAuth LineSet3D(a_table_name, a_key_column_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'CheckAuth PolygonSet3D(a_table_name, a_key_column_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'CheckAuth GCSet3D(a_table_name, a_key_column_name): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT CheckAuth('monkey', 'monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'CheckAuth(a_table_name, a_key_column_name) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'DisableLongTransactions PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'DisableLongTransactions LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'DisableLongTransactions PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'DisableLongTransactions PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'DisableLongTransactions LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'DisableLongTransactions PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'DisableLongTransactions PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'DisableLongTransactions LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'DisableLongTransactions PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'DisableLongTransactions GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT DisableLongTransactions()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'DisableLongTransactions() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'EnableLongTransactions PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'EnableLongTransactions LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'EnableLongTransactions PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'EnableLongTransactions PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'EnableLongTransactions LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'EnableLongTransactions PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'EnableLongTransactions PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'EnableLongTransactions LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'EnableLongTransactions PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'EnableLongTransactions GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT EnableLongTransactions()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'EnableLongTransactions() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'GeometryType PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'GeometryType LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'GeometryType PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'GeometryType PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'GeometryType LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'GeometryType PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'GeometryType PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'GeometryType LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'GeometryType PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'GeometryType GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'GeometryType(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'LockRow PointSet(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POINT';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'LockRow LineSet(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'LockRow PolySet(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'LockRow PointMSet(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POINTM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'LockRow LineMSet(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'LockRow PolygonMSet(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'LockRow PointSet3D(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POINT';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'LockRow LineSet3D(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'LockRow PolygonSet3D(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'LockRow GCSet3D(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_schema_name, a_table_name, a_row_key, an_auth_token, expire_dt) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'LockRow PointSet(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POINT';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'LockRow LineSet(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'LockRow PolySet(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'LockRow PointMSet(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POINTM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'LockRow LineMSet(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'LockRow PolygonMSet(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'LockRow PointSet3D(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POINT';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'LockRow LineSet3D(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'LockRow PolygonSet3D(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'LockRow GCSet3D(a_table_name, a_row_key, an_auth_token, expire_dt): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey', )
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token, expire_dt) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'LockRow PointSet(a_table_name, a_row_key, an_auth_token): Start Testing POINT';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'LockRow LineSet(a_table_name, a_row_key, an_auth_token): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'LockRow PolySet(a_table_name, a_row_key, an_auth_token): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'LockRow PointMSet(a_table_name, a_row_key, an_auth_token): Start Testing POINTM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'LockRow LineMSet(a_table_name, a_row_key, an_auth_token): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'LockRow PolygonMSet(a_table_name, a_row_key, an_auth_token): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'LockRow PointSet3D(a_table_name, a_row_key, an_auth_token): Start Testing POINT';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'LockRow LineSet3D(a_table_name, a_row_key, an_auth_token): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'LockRow PolygonSet3D(a_table_name, a_row_key, an_auth_token): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'LockRow GCSet3D(a_table_name, a_row_key, an_auth_token): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT LockRow('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'LockRow(a_table_name, a_row_key, an_auth_token) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Full_Version PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Full_Version LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Full_Version PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Full_Version PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Full_Version LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Full_Version PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Full_Version PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Full_Version LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Full_Version PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Full_Version GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Full_Version()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Full_Version() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_GEOS_Version PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_GEOS_Version LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_GEOS_Version PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_GEOS_Version PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_GEOS_Version LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_GEOS_Version PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_GEOS_Version PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_GEOS_Version LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_GEOS_Version PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_GEOS_Version GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_GEOS_Version()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_GEOS_Version() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Lib_Build_Date GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Build_Date()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Build_Date() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Lib_Version PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Lib_Version LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Lib_Version PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Lib_Version PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Lib_Version LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Lib_Version PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Lib_Version PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Lib_Version LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Lib_Version PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Lib_Version GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Lib_Version()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Lib_Version() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_PROJ_Version PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_PROJ_Version LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_PROJ_Version PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_PROJ_Version PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_PROJ_Version LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_PROJ_Version PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_PROJ_Version PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_PROJ_Version LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_PROJ_Version PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_PROJ_Version GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_PROJ_Version()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_PROJ_Version() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Scripts_Build_Date GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Build_Date()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Build_Date() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Scripts_Installed GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Installed()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Installed() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Scripts_Released PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Scripts_Released LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Scripts_Released PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Scripts_Released PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Scripts_Released LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Scripts_Released PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Scripts_Released PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Scripts_Released LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Scripts_Released PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Scripts_Released GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Scripts_Released()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Scripts_Released() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Uses_Stats PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Uses_Stats LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Uses_Stats PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Uses_Stats PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Uses_Stats LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Uses_Stats PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Uses_Stats PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Uses_Stats LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Uses_Stats PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Uses_Stats GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Uses_Stats()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Uses_Stats() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'PostGIS_Version PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Version LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Version PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Version PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'PostGIS_Version LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'PostGIS_Version PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'PostGIS_Version PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'PostGIS_Version LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'PostGIS_Version PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'PostGIS_Version GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT PostGIS_Version()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'PostGIS_Version() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'Probe_Geometry_Columns PointSet(): Start Testing POINT';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'Probe_Geometry_Columns LineSet(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'Probe_Geometry_Columns PolySet(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'Probe_Geometry_Columns PointMSet(): Start Testing POINTM';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'Probe_Geometry_Columns LineMSet(): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'Probe_Geometry_Columns PolygonMSet(): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'Probe_Geometry_Columns PointSet3D(): Start Testing POINT';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'Probe_Geometry_Columns LineSet3D(): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'Probe_Geometry_Columns PolygonSet3D(): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'Probe_Geometry_Columns GCSet3D(): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT Probe_Geometry_Columns()
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'Probe_Geometry_Columns() GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Accum PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_Accum PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Accum LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Accum LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Accum PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_Accum PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Accum PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Accum PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Accum LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Accum LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Accum PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Accum PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Accum PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Accum PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Accum LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Accum LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Accum PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Accum PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Accum GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Accum(the_geom),
+ ST_Accum(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_Accum GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AddBBox PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AddBBox LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AddBBox PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AddBBox PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AddBBox LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AddBBox PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AddBBox PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AddBBox LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AddBBox PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AddBBox GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddBBox(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_AddPoint PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_AddPoint LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_AddPoint PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_AddPoint PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_AddPoint LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_AddPoint PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_AddPoint PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_AddPoint LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_AddPoint PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_AddPoint GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_AddPoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_AddPoint GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AddPoint PointSet(linestring, point, position): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AddPoint LineSet(linestring, point, position): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AddPoint PolySet(linestring, point, position): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AddPoint PointMSet(linestring, point, position): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AddPoint LineMSet(linestring, point, position): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AddPoint PolygonMSet(linestring, point, position): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AddPoint PointSet3D(linestring, point, position): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AddPoint LineSet3D(linestring, point, position): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AddPoint PolygonSet3D(linestring, point, position): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AddPoint GCSet3D(linestring, point, position): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_AddPoint(foo1.the_geom, foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AddPoint(linestring, point, position) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Affine PointSet(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Affine LineSet(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Affine PolySet(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Affine PointMSet(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Affine LineMSet(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Affine PolygonMSet(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Affine PointSet3D(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Affine LineSet3D(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Affine PolygonSet3D(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Affine GCSet3D(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Affine PointSet(geomA, a, b, d, e, xoff, yoff): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Affine LineSet(geomA, a, b, d, e, xoff, yoff): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Affine PolySet(geomA, a, b, d, e, xoff, yoff): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Affine PointMSet(geomA, a, b, d, e, xoff, yoff): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Affine LineMSet(geomA, a, b, d, e, xoff, yoff): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Affine PolygonMSet(geomA, a, b, d, e, xoff, yoff): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Affine PointSet3D(geomA, a, b, d, e, xoff, yoff): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Affine LineSet3D(geomA, a, b, d, e, xoff, yoff): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Affine PolygonSet3D(geomA, a, b, d, e, xoff, yoff): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Affine GCSet3D(geomA, a, b, d, e, xoff, yoff): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Affine(foo1.the_geom, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Affine(geomA, a, b, d, e, xoff, yoff) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Area PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Area LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Area PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Area PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Area LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Area PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Area PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Area LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Area PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Area GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Area(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Area(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsBinary PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsBinary LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsBinary PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsBinary PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsBinary LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsBinary PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsBinary PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsBinary LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsBinary PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsBinary GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsBinary PointSet(g1, NDR_or_XDR): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsBinary LineSet(g1, NDR_or_XDR): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsBinary PolySet(g1, NDR_or_XDR): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsBinary PointMSet(g1, NDR_or_XDR): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsBinary LineMSet(g1, NDR_or_XDR): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsBinary PolygonMSet(g1, NDR_or_XDR): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsBinary PointSet3D(g1, NDR_or_XDR): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsBinary LineSet3D(g1, NDR_or_XDR): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsBinary PolygonSet3D(g1, NDR_or_XDR): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsBinary GCSet3D(g1, NDR_or_XDR): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsBinary(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsBinary(g1, NDR_or_XDR) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsEWKB PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsEWKB LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsEWKB PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsEWKB PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsEWKB LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsEWKB PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsEWKB PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsEWKB LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsEWKB PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsEWKB GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsEWKB PointSet(g1, NDR_or_XDR): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsEWKB LineSet(g1, NDR_or_XDR): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsEWKB PolySet(g1, NDR_or_XDR): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsEWKB PointMSet(g1, NDR_or_XDR): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsEWKB LineMSet(g1, NDR_or_XDR): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsEWKB PolygonMSet(g1, NDR_or_XDR): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsEWKB PointSet3D(g1, NDR_or_XDR): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsEWKB LineSet3D(g1, NDR_or_XDR): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsEWKB PolygonSet3D(g1, NDR_or_XDR): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsEWKB GCSet3D(g1, NDR_or_XDR): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKB(g1, NDR_or_XDR) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsEWKT PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsEWKT LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsEWKT PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsEWKT PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsEWKT LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsEWKT PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsEWKT PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsEWKT LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsEWKT PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsEWKT GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsEWKT(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGeoJSON LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet(g1, max_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet(g1, max_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolySet(g1, max_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON PointMSet(g1, max_decimal_digits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGeoJSON LineMSet(g1, max_decimal_digits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonMSet(g1, max_decimal_digits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet3D(g1, max_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet3D(g1, max_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonSet3D(g1, max_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON GCSet3D(g1, max_decimal_digits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet(g1, max_decimal_digits, options): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet(g1, max_decimal_digits, options): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolySet(g1, max_decimal_digits, options): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON PointMSet(g1, max_decimal_digits, options): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGeoJSON LineMSet(g1, max_decimal_digits, options): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonMSet(g1, max_decimal_digits, options): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet3D(g1, max_decimal_digits, options): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet3D(g1, max_decimal_digits, options): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonSet3D(g1, max_decimal_digits, options): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON GCSet3D(g1, max_decimal_digits, options): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(g1, max_decimal_digits, options) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet(version, g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet(version, g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolySet(version, g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON PointMSet(version, g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGeoJSON LineMSet(version, g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonMSet(version, g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet3D(version, g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet3D(version, g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonSet3D(version, g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON GCSet3D(version, g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet(version, g1, max_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet(version, g1, max_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolySet(version, g1, max_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON PointMSet(version, g1, max_decimal_digits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGeoJSON LineMSet(version, g1, max_decimal_digits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonMSet(version, g1, max_decimal_digits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet3D(version, g1, max_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet3D(version, g1, max_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonSet3D(version, g1, max_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON GCSet3D(version, g1, max_decimal_digits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet(version, g1, max_decimal_digits, options): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet(version, g1, max_decimal_digits, options): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolySet(version, g1, max_decimal_digits, options): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON PointMSet(version, g1, max_decimal_digits, options): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGeoJSON LineMSet(version, g1, max_decimal_digits, options): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonMSet(version, g1, max_decimal_digits, options): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGeoJSON PointSet3D(version, g1, max_decimal_digits, options): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGeoJSON LineSet3D(version, g1, max_decimal_digits, options): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGeoJSON PolygonSet3D(version, g1, max_decimal_digits, options): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGeoJSON GCSet3D(version, g1, max_decimal_digits, options): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGeoJSON(2, foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGeoJSON(version, g1, max_decimal_digits, options) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGML PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGML LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGML PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGML PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGML PointSet(g1, max_num_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet(g1, max_num_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolySet(g1, max_num_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML PointMSet(g1, max_num_decimal_digits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGML LineMSet(g1, max_num_decimal_digits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGML PolygonMSet(g1, max_num_decimal_digits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGML PointSet3D(g1, max_num_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet3D(g1, max_num_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolygonSet3D(g1, max_num_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML GCSet3D(g1, max_num_decimal_digits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(g1, max_num_decimal_digits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGML PointSet(version, g1, max_num_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet(version, g1, max_num_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolySet(version, g1, max_num_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML PointMSet(version, g1, max_num_decimal_digits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGML LineMSet(version, g1, max_num_decimal_digits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGML PolygonMSet(version, g1, max_num_decimal_digits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGML PointSet3D(version, g1, max_num_decimal_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet3D(version, g1, max_num_decimal_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolygonSet3D(version, g1, max_num_decimal_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML GCSet3D(version, g1, max_num_decimal_digits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1, max_num_decimal_digits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsGML PointSet(version, g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet(version, g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolySet(version, g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML PointMSet(version, g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsGML LineMSet(version, g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsGML PolygonMSet(version, g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsGML PointSet3D(version, g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsGML LineSet3D(version, g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsGML PolygonSet3D(version, g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsGML GCSet3D(version, g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsGML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsGML(version, g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsHEXEWKB PointSet(g1, NDRorXDR): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsHEXEWKB LineSet(g1, NDRorXDR): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsHEXEWKB PolySet(g1, NDRorXDR): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsHEXEWKB PointMSet(g1, NDRorXDR): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsHEXEWKB LineMSet(g1, NDRorXDR): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsHEXEWKB PolygonMSet(g1, NDRorXDR): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsHEXEWKB PointSet3D(g1, NDRorXDR): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsHEXEWKB LineSet3D(g1, NDRorXDR): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsHEXEWKB PolygonSet3D(g1, NDRorXDR): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsHEXEWKB GCSet3D(g1, NDRorXDR): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom,
+ 'XDR'
+ )
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1, NDRorXDR) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsHEXEWKB PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsHEXEWKB LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsHEXEWKB PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsHEXEWKB PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsHEXEWKB LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsHEXEWKB PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsHEXEWKB PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsHEXEWKB LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsHEXEWKB PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsHEXEWKB GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsHEXEWKB(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsHEXEWKB(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsKML PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsKML LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsKML PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsKML PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsKML PointSet(g1, max_sig_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet(g1, max_sig_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolySet(g1, max_sig_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML PointMSet(g1, max_sig_digits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsKML LineMSet(g1, max_sig_digits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsKML PolygonMSet(g1, max_sig_digits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsKML PointSet3D(g1, max_sig_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet3D(g1, max_sig_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolygonSet3D(g1, max_sig_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML GCSet3D(g1, max_sig_digits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsKML(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(g1, max_sig_digits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsKML PointSet(version, geom1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet(version, geom1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolySet(version, geom1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML PointMSet(version, geom1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsKML LineMSet(version, geom1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsKML PolygonMSet(version, geom1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsKML PointSet3D(version, geom1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet3D(version, geom1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolygonSet3D(version, geom1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML GCSet3D(version, geom1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsKML PointSet(version, geom1, max_sig_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet(version, geom1, max_sig_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolySet(version, geom1, max_sig_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML PointMSet(version, geom1, max_sig_digits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsKML LineMSet(version, geom1, max_sig_digits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsKML PolygonMSet(version, geom1, max_sig_digits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsKML PointSet3D(version, geom1, max_sig_digits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsKML LineSet3D(version, geom1, max_sig_digits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsKML PolygonSet3D(version, geom1, max_sig_digits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsKML GCSet3D(version, geom1, max_sig_digits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsKML(2, foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsKML(version, geom1, max_sig_digits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsSVG PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsSVG LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsSVG PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsSVG PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsSVG LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsSVG PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsSVG PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsSVG LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsSVG PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsSVG GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsSVG PointSet(g1, rel): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsSVG LineSet(g1, rel): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsSVG PolySet(g1, rel): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsSVG PointMSet(g1, rel): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsSVG LineMSet(g1, rel): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsSVG PolygonMSet(g1, rel): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsSVG PointSet3D(g1, rel): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsSVG LineSet3D(g1, rel): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsSVG PolygonSet3D(g1, rel): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsSVG GCSet3D(g1, rel): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsSVG PointSet(g1, rel, maxdecimaldigits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsSVG LineSet(g1, rel, maxdecimaldigits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsSVG PolySet(g1, rel, maxdecimaldigits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsSVG PointMSet(g1, rel, maxdecimaldigits): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsSVG LineMSet(g1, rel, maxdecimaldigits): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsSVG PolygonMSet(g1, rel, maxdecimaldigits): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsSVG PointSet3D(g1, rel, maxdecimaldigits): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsSVG LineSet3D(g1, rel, maxdecimaldigits): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsSVG PolygonSet3D(g1, rel, maxdecimaldigits): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsSVG GCSet3D(g1, rel, maxdecimaldigits): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsSVG(foo1.the_geom, 5, 5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsSVG(g1, rel, maxdecimaldigits) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_AsText PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsText LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsText PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsText PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_AsText LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_AsText PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_AsText PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_AsText LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_AsText PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_AsText GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsText(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_AsText(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Azimuth PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Azimuth LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Azimuth PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Azimuth PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Azimuth LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Azimuth PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Azimuth PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Azimuth LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Azimuth PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Azimuth GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Azimuth(foo1.the_geom, foo2.the_geom),
+ ST_Azimuth(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Azimuth GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_BdMPolyFromText PointSet(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_BdMPolyFromText LineSet(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_BdMPolyFromText PolySet(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_BdMPolyFromText PointMSet(WKT, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_BdMPolyFromText LineMSet(WKT, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_BdMPolyFromText PolygonMSet(WKT, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_BdMPolyFromText PointSet3D(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_BdMPolyFromText LineSet3D(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_BdMPolyFromText PolygonSet3D(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_BdMPolyFromText GCSet3D(WKT, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdMPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdMPolyFromText(WKT, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_BdPolyFromText PointSet(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_BdPolyFromText LineSet(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_BdPolyFromText PolySet(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_BdPolyFromText PointMSet(WKT, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_BdPolyFromText LineMSet(WKT, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_BdPolyFromText PolygonMSet(WKT, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_BdPolyFromText PointSet3D(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_BdPolyFromText LineSet3D(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_BdPolyFromText PolygonSet3D(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_BdPolyFromText GCSet3D(WKT, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_BdPolyFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BdPolyFromText(WKT, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Boundary PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Boundary LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Boundary PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Boundary PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Boundary LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Boundary PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Boundary PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Boundary LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Boundary PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Boundary GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Boundary(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Boundary(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Box2D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Box2D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Box2D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Box2D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Box2D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Box2D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Box2D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Box2D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Box2D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Box2D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Box2D(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box2D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Box3D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Box3D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Box3D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Box3D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Box3D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Box3D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Box3D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Box3D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Box3D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Box3D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Box3D(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Box3D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Buffer PointSet(g1, radius_of_buffer): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Buffer LineSet(g1, radius_of_buffer): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Buffer PolySet(g1, radius_of_buffer): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Buffer PointMSet(g1, radius_of_buffer): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Buffer LineMSet(g1, radius_of_buffer): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Buffer PolygonMSet(g1, radius_of_buffer): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Buffer PointSet3D(g1, radius_of_buffer): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Buffer LineSet3D(g1, radius_of_buffer): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Buffer PolygonSet3D(g1, radius_of_buffer): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Buffer GCSet3D(g1, radius_of_buffer): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Buffer PointSet(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Buffer LineSet(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Buffer PolySet(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Buffer PointMSet(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Buffer LineMSet(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Buffer PolygonMSet(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Buffer PointSet3D(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Buffer LineSet3D(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Buffer PolygonSet3D(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Buffer GCSet3D(g1, radius_of_buffer, num_seg_quarter_circle): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Buffer(foo1.the_geom, 0.5, 5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Buffer(g1, radius_of_buffer, num_seg_quarter_circle) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_BuildArea PointSet(A): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_BuildArea LineSet(A): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_BuildArea PolySet(A): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_BuildArea PointMSet(A): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_BuildArea LineMSet(A): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_BuildArea PolygonMSet(A): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_BuildArea PointSet3D(A): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_BuildArea LineSet3D(A): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_BuildArea PolygonSet3D(A): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_BuildArea GCSet3D(A): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_BuildArea(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_BuildArea(A) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Centroid PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Centroid LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Centroid PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Centroid PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Centroid LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Centroid PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Centroid PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Centroid LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Centroid PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Centroid GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Centroid(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Centroid(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Collect PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_Collect PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Collect LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Collect LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Collect PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_Collect PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Collect PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Collect PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Collect LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Collect LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Collect PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Collect PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Collect PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Collect PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Collect LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Collect LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Collect PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Collect PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Collect GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Collect(the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_Collect GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Collect PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Collect LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Collect PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Collect PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Collect LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Collect PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Collect PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Collect LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Collect PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Collect GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Collect(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Collect(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Collect GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Contains PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Contains LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Contains PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Contains PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Contains LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Contains PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Contains PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Contains LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Contains PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Contains GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Contains(foo1.the_geom, foo2.the_geom),
+ ST_Contains(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Contains GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_ConvexHull PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ConvexHull LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ConvexHull PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ConvexHull PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_ConvexHull LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_ConvexHull PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_ConvexHull PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ConvexHull LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ConvexHull PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ConvexHull GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_ConvexHull(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ConvexHull(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_CoordDim PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_CoordDim LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_CoordDim PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_CoordDim PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_CoordDim LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_CoordDim PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_CoordDim PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_CoordDim LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_CoordDim PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_CoordDim GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_CoordDim(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_CoordDim(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_CoveredBy PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_CoveredBy LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_CoveredBy PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_CoveredBy PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_CoveredBy LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_CoveredBy PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_CoveredBy PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_CoveredBy LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_CoveredBy PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_CoveredBy GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_CoveredBy(foo1.the_geom, foo2.the_geom),
+ ST_CoveredBy(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_CoveredBy GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Covers PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Covers LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Covers PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Covers PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Covers LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Covers PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Covers PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Covers LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Covers PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Covers GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Covers(foo1.the_geom, foo2.the_geom),
+ ST_Covers(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Covers GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Crosses PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Crosses LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Crosses PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Crosses PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Crosses LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Crosses PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Crosses PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Crosses LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Crosses PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Crosses GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Crosses(foo1.the_geom, foo2.the_geom),
+ ST_Crosses(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Crosses GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Difference PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Difference LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Difference PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Difference PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Difference LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Difference PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Difference PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Difference LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Difference PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Difference GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Difference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Difference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Difference GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Dimension PointSet(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Dimension LineSet(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Dimension PolySet(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Dimension PointMSet(g): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Dimension LineMSet(g): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Dimension PolygonMSet(g): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Dimension PointSet3D(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Dimension LineSet3D(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Dimension PolygonSet3D(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Dimension GCSet3D(g): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Dimension(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dimension(g) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Disjoint PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Disjoint LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Disjoint PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Disjoint PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Disjoint LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Disjoint PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Disjoint PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Disjoint LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Disjoint PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Disjoint GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Disjoint(foo1.the_geom, foo2.the_geom),
+ ST_Disjoint(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Disjoint GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Distance PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Distance LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Distance PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Distance PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Distance LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Distance PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Distance PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Distance LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Distance PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Distance GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Distance_Sphere PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Distance_Sphere LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Distance_Sphere PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Distance_Sphere PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Distance_Sphere LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Distance_Sphere PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Distance_Sphere PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Distance_Sphere LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Distance_Sphere PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Distance_Sphere GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Distance_Sphere(foo1.the_geom, foo2.the_geom),
+ ST_Distance_Sphere(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Distance_Sphere GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Distance_Spheroid PointSet(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Distance_Spheroid LineSet(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Distance_Spheroid PolySet(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Distance_Spheroid PointMSet(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Distance_Spheroid LineMSet(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Distance_Spheroid PolygonMSet(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Distance_Spheroid PointSet3D(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Distance_Spheroid LineSet3D(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Distance_Spheroid PolygonSet3D(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Distance_Spheroid GCSet3D(pointlonlatA, pointlonlatB, measurement_spheroid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Distance_Spheroid(foo1.the_geom, foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Distance_Spheroid(pointlonlatA, pointlonlatB, measurement_spheroid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_DropBBox PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_DropBBox LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_DropBBox PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_DropBBox PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_DropBBox LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_DropBBox PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_DropBBox PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_DropBBox LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_DropBBox PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_DropBBox GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_DropBBox(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DropBBox(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Dump PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Dump LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Dump PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Dump PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Dump LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Dump PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Dump PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Dump LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Dump PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Dump GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Dump(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Dump(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_DumpRings PointSet(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_DumpRings LineSet(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_DumpRings PolySet(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_DumpRings PointMSet(a_polygon): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_DumpRings LineMSet(a_polygon): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_DumpRings PolygonMSet(a_polygon): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_DumpRings PointSet3D(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_DumpRings LineSet3D(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_DumpRings PolygonSet3D(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_DumpRings GCSet3D(a_polygon): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_DumpRings(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DumpRings(a_polygon) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_DWithin PointSet(g1, g2, distance): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_DWithin LineSet(g1, g2, distance): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_DWithin PolySet(g1, g2, distance): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_DWithin PointMSet(g1, g2, distance): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_DWithin LineMSet(g1, g2, distance): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_DWithin PolygonMSet(g1, g2, distance): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_DWithin PointSet3D(g1, g2, distance): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_DWithin LineSet3D(g1, g2, distance): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_DWithin PolygonSet3D(g1, g2, distance): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_DWithin GCSet3D(g1, g2, distance): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_DWithin(foo1.the_geom, foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_DWithin(g1, g2, distance) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_EndPoint PointSet(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_EndPoint LineSet(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_EndPoint PolySet(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_EndPoint PointMSet(g): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_EndPoint LineMSet(g): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_EndPoint PolygonMSet(g): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_EndPoint PointSet3D(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_EndPoint LineSet3D(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_EndPoint PolygonSet3D(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_EndPoint GCSet3D(g): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_EndPoint(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_EndPoint(g) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Envelope PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Envelope LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Envelope PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Envelope PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Envelope LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Envelope PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Envelope PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Envelope LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Envelope PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Envelope GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Envelope(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Envelope(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Equals PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Equals LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Equals PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Equals PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Equals LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Equals PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Equals PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Equals LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Equals PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Equals GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Equals(foo1.the_geom, foo2.the_geom),
+ ST_Equals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Equals GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Estimated_Extent PointSet(schema_name, table_name, geocolumn_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Estimated_Extent LineSet(schema_name, table_name, geocolumn_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Estimated_Extent PolySet(schema_name, table_name, geocolumn_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Estimated_Extent PointMSet(schema_name, table_name, geocolumn_name): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Estimated_Extent LineMSet(schema_name, table_name, geocolumn_name): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Estimated_Extent PolygonMSet(schema_name, table_name, geocolumn_name): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Estimated_Extent PointSet3D(schema_name, table_name, geocolumn_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Estimated_Extent LineSet3D(schema_name, table_name, geocolumn_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Estimated_Extent PolygonSet3D(schema_name, table_name, geocolumn_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Estimated_Extent GCSet3D(schema_name, table_name, geocolumn_name): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey', 'monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(schema_name, table_name, geocolumn_name) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Estimated_Extent PointSet(table_name, geocolumn_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Estimated_Extent LineSet(table_name, geocolumn_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Estimated_Extent PolySet(table_name, geocolumn_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Estimated_Extent PointMSet(table_name, geocolumn_name): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Estimated_Extent LineMSet(table_name, geocolumn_name): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Estimated_Extent PolygonMSet(table_name, geocolumn_name): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Estimated_Extent PointSet3D(table_name, geocolumn_name): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Estimated_Extent LineSet3D(table_name, geocolumn_name): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Estimated_Extent PolygonSet3D(table_name, geocolumn_name): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Estimated_Extent GCSet3D(table_name, geocolumn_name): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Estimated_Extent('monkey', 'monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Estimated_Extent(table_name, geocolumn_name) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Expand PointSet(g1, units_to_expand): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Expand LineSet(g1, units_to_expand): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Expand PolySet(g1, units_to_expand): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Expand PointMSet(g1, units_to_expand): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Expand LineMSet(g1, units_to_expand): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Expand PolygonMSet(g1, units_to_expand): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Expand PointSet3D(g1, units_to_expand): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Expand LineSet3D(g1, units_to_expand): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Expand PolygonSet3D(g1, units_to_expand): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Expand GCSet3D(g1, units_to_expand): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Expand(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Expand PointSet(g1, units_to_expand): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Expand LineSet(g1, units_to_expand): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Expand PolySet(g1, units_to_expand): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Expand PointMSet(g1, units_to_expand): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Expand LineMSet(g1, units_to_expand): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Expand PolygonMSet(g1, units_to_expand): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Expand PointSet3D(g1, units_to_expand): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Expand LineSet3D(g1, units_to_expand): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Expand PolygonSet3D(g1, units_to_expand): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Expand GCSet3D(g1, units_to_expand): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Expand PointSet(g1, units_to_expand): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Expand LineSet(g1, units_to_expand): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Expand PolySet(g1, units_to_expand): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Expand PointMSet(g1, units_to_expand): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Expand LineMSet(g1, units_to_expand): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Expand PolygonMSet(g1, units_to_expand): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Expand PointSet3D(g1, units_to_expand): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Expand LineSet3D(g1, units_to_expand): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Expand PolygonSet3D(g1, units_to_expand): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Expand GCSet3D(g1, units_to_expand): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Expand(foo1.the_geom, 0.5)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Expand(g1, units_to_expand) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Extent PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_Extent PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Extent LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Extent LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Extent PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_Extent PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Extent PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Extent PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Extent LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Extent LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Extent PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Extent PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Extent PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Extent PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Extent LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Extent LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Extent PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Extent PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Extent GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Extent(the_geom),
+ ST_Extent(ST_Multi(the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_Extent GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_ExteriorRing PointSet(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ExteriorRing LineSet(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ExteriorRing PolySet(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ExteriorRing PointMSet(a_polygon): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_ExteriorRing LineMSet(a_polygon): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_ExteriorRing PolygonMSet(a_polygon): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_ExteriorRing PointSet3D(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ExteriorRing LineSet3D(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ExteriorRing PolygonSet3D(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ExteriorRing GCSet3D(a_polygon): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_ExteriorRing(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ExteriorRing(a_polygon) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Force_2D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_2D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_2D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_2D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Force_2D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Force_2D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Force_2D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_2D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_2D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_2D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_2D(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_2D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Force_3D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_3D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_3D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_3D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Force_3D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Force_3D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Force_3D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_3D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_3D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_3D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3D(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Force_3DM PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_3DM LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_3DM PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_3DM PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Force_3DM LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Force_3DM PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Force_3DM PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_3DM LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_3DM PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_3DM GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DM(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DM(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Force_3DZ PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_3DZ LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_3DZ PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_3DZ PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Force_3DZ LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Force_3DZ PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Force_3DZ PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_3DZ LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_3DZ PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_3DZ GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_3DZ(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_3DZ(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Force_4D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_4D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_4D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_4D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Force_4D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Force_4D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Force_4D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_4D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_4D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_4D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_4D(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_4D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Force_Collection PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_Collection LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_Collection PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_Collection PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Force_Collection LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Force_Collection PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Force_Collection PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Force_Collection LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Force_Collection PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Force_Collection GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Force_Collection(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Force_Collection(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_ForceRHR PointSet(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ForceRHR LineSet(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ForceRHR PolySet(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ForceRHR PointMSet(g): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_ForceRHR LineMSet(g): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_ForceRHR PolygonMSet(g): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_ForceRHR PointSet3D(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ForceRHR LineSet3D(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ForceRHR PolygonSet3D(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ForceRHR GCSet3D(g): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_ForceRHR(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ForceRHR(g) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeometryFromText PointSet(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryFromText LineSet(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryFromText PolySet(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryFromText PointMSet(WKT): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeometryFromText LineMSet(WKT): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeometryFromText PolygonMSet(WKT): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeometryFromText PointSet3D(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryFromText LineSet3D(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryFromText PolygonSet3D(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryFromText GCSet3D(WKT): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeometryFromText PointSet(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryFromText LineSet(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryFromText PolySet(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryFromText PointMSet(WKT, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeometryFromText LineMSet(WKT, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeometryFromText PolygonMSet(WKT, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeometryFromText PointSet3D(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryFromText LineSet3D(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryFromText PolygonSet3D(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryFromText GCSet3D(WKT, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryFromText(WKT, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeometryN PointSet(geomA, n): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryN LineSet(geomA, n): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryN PolySet(geomA, n): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryN PointMSet(geomA, n): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeometryN LineMSet(geomA, n): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeometryN PolygonMSet(geomA, n): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeometryN PointSet3D(geomA, n): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryN LineSet3D(geomA, n): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryN PolygonSet3D(geomA, n): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryN GCSet3D(geomA, n): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeometryN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryN(geomA, n) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeometryType PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryType LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryType PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryType PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeometryType LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeometryType PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeometryType PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeometryType LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeometryType PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeometryType GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_GeometryType(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeometryType(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeomFromEWKB PointSet(EWKB): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromEWKB LineSet(EWKB): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromEWKB PolySet(EWKB): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromEWKB PointMSet(EWKB): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeomFromEWKB LineMSet(EWKB): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeomFromEWKB PolygonMSet(EWKB): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeomFromEWKB PointSet3D(EWKB): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromEWKB LineSet3D(EWKB): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromEWKB PolygonSet3D(EWKB): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromEWKB GCSet3D(EWKB): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKB(EWKB) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeomFromEWKT PointSet(EWKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromEWKT LineSet(EWKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromEWKT PolySet(EWKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromEWKT PointMSet(EWKT): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeomFromEWKT LineMSet(EWKT): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeomFromEWKT PolygonMSet(EWKT): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeomFromEWKT PointSet3D(EWKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromEWKT LineSet3D(EWKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromEWKT PolygonSet3D(EWKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromEWKT GCSet3D(EWKT): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromEWKT(ST_AsEWKT(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromEWKT(EWKT) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeomFromText PointSet(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromText LineSet(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromText PolySet(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromText PointMSet(WKT): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeomFromText LineMSet(WKT): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeomFromText PolygonMSet(WKT): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeomFromText PointSet3D(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromText LineSet3D(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromText PolygonSet3D(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromText GCSet3D(WKT): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeomFromText PointSet(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromText LineSet(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromText PolySet(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromText PointMSet(WKT, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeomFromText LineMSet(WKT, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeomFromText PolygonMSet(WKT, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeomFromText PointSet3D(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromText LineSet3D(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromText PolygonSet3D(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromText GCSet3D(WKT, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromText(WKT, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeomFromWKB PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromWKB LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromWKB PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromWKB PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeomFromWKB LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeomFromWKB PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeomFromWKB PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromWKB LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromWKB PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromWKB GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_GeomFromWKB PointSet(geomA, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromWKB LineSet(geomA, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromWKB PolySet(geomA, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromWKB PointMSet(geomA, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_GeomFromWKB LineMSet(geomA, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_GeomFromWKB PolygonMSet(geomA, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_GeomFromWKB PointSet3D(geomA, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_GeomFromWKB LineSet3D(geomA, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_GeomFromWKB PolygonSet3D(geomA, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_GeomFromWKB GCSet3D(geomA, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_GeomFromWKB(ST_AsBinary(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_GeomFromWKB(geomA, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_HasArc PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_HasArc LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_HasArc PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_HasArc PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_HasArc LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_HasArc PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_HasArc PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_HasArc LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_HasArc PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_HasArc GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_HasArc(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasArc(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_HasBBox PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_HasBBox LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_HasBBox PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_HasBBox PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_HasBBox LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_HasBBox PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_HasBBox PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_HasBBox LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_HasBBox PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_HasBBox GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_HasBBox(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_HasBBox(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_InteriorRingN PointSet(a_polygon, n): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_InteriorRingN LineSet(a_polygon, n): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_InteriorRingN PolySet(a_polygon, n): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_InteriorRingN PointMSet(a_polygon, n): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_InteriorRingN LineMSet(a_polygon, n): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_InteriorRingN PolygonMSet(a_polygon, n): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_InteriorRingN PointSet3D(a_polygon, n): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_InteriorRingN LineSet3D(a_polygon, n): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_InteriorRingN PolygonSet3D(a_polygon, n): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_InteriorRingN GCSet3D(a_polygon, n): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_InteriorRingN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_InteriorRingN(a_polygon, n) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Intersection PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Intersection LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Intersection PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Intersection PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Intersection LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Intersection PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Intersection PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Intersection LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Intersection PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Intersection GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Intersection(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Intersection(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersection GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Intersects PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Intersects LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Intersects PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Intersects PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Intersects LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Intersects PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Intersects PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Intersects LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Intersects PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Intersects GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Intersects(foo1.the_geom, foo2.the_geom),
+ ST_Intersects(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Intersects GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_IsClosed PointSet(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsClosed LineSet(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsClosed PolySet(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsClosed PointMSet(g): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_IsClosed LineMSet(g): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_IsClosed PolygonMSet(g): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_IsClosed PointSet3D(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsClosed LineSet3D(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsClosed PolygonSet3D(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsClosed GCSet3D(g): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_IsClosed(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsClosed(g) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_IsEmpty PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsEmpty LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsEmpty PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsEmpty PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_IsEmpty LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_IsEmpty PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_IsEmpty PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsEmpty LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsEmpty PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsEmpty GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_IsEmpty(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsEmpty(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_IsRing PointSet(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsRing LineSet(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsRing PolySet(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsRing PointMSet(g): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_IsRing LineMSet(g): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_IsRing PolygonMSet(g): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_IsRing PointSet3D(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsRing LineSet3D(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsRing PolygonSet3D(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsRing GCSet3D(g): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_IsRing(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsRing(g) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_IsSimple PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsSimple LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsSimple PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsSimple PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_IsSimple LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_IsSimple PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_IsSimple PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_IsSimple LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_IsSimple PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_IsSimple GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_IsSimple(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_IsSimple(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Length PointSet(a_2dlinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length LineSet(a_2dlinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length PolySet(a_2dlinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length PointMSet(a_2dlinestring): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Length LineMSet(a_2dlinestring): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Length PolygonMSet(a_2dlinestring): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Length PointSet3D(a_2dlinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length LineSet3D(a_2dlinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length PolygonSet3D(a_2dlinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length GCSet3D(a_2dlinestring): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Length(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length(a_2dlinestring) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Length_Spheroid PointSet(a_linestring, a_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length_Spheroid LineSet(a_linestring, a_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length_Spheroid PolySet(a_linestring, a_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length_Spheroid PointMSet(a_linestring, a_spheroid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Length_Spheroid LineMSet(a_linestring, a_spheroid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Length_Spheroid PolygonMSet(a_linestring, a_spheroid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Length_Spheroid PointSet3D(a_linestring, a_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length_Spheroid LineSet3D(a_linestring, a_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length_Spheroid PolygonSet3D(a_linestring, a_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length_Spheroid GCSet3D(a_linestring, a_spheroid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Length_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length_Spheroid(a_linestring, a_spheroid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Length2D PointSet(a_2dlinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length2D LineSet(a_2dlinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length2D PolySet(a_2dlinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length2D PointMSet(a_2dlinestring): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Length2D LineMSet(a_2dlinestring): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Length2D PolygonMSet(a_2dlinestring): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Length2D PointSet3D(a_2dlinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length2D LineSet3D(a_2dlinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length2D PolygonSet3D(a_2dlinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length2D GCSet3D(a_2dlinestring): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Length2D(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D(a_2dlinestring) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Length2D_Spheroid PointSet(a_linestring, a_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length2D_Spheroid LineSet(a_linestring, a_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length2D_Spheroid PolySet(a_linestring, a_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length2D_Spheroid PointMSet(a_linestring, a_spheroid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Length2D_Spheroid LineMSet(a_linestring, a_spheroid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Length2D_Spheroid PolygonMSet(a_linestring, a_spheroid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Length2D_Spheroid PointSet3D(a_linestring, a_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length2D_Spheroid LineSet3D(a_linestring, a_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length2D_Spheroid PolygonSet3D(a_linestring, a_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length2D_Spheroid GCSet3D(a_linestring, a_spheroid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Length2D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length2D_Spheroid(a_linestring, a_spheroid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Length3D PointSet(a_3dlinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length3D LineSet(a_3dlinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length3D PolySet(a_3dlinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length3D PointMSet(a_3dlinestring): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Length3D LineMSet(a_3dlinestring): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Length3D PolygonMSet(a_3dlinestring): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Length3D PointSet3D(a_3dlinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length3D LineSet3D(a_3dlinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length3D PolygonSet3D(a_3dlinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length3D GCSet3D(a_3dlinestring): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Length3D(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D(a_3dlinestring) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Length3D_Spheroid PointSet(a_linestring, a_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length3D_Spheroid LineSet(a_linestring, a_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length3D_Spheroid PolySet(a_linestring, a_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length3D_Spheroid PointMSet(a_linestring, a_spheroid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Length3D_Spheroid LineMSet(a_linestring, a_spheroid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Length3D_Spheroid PolygonMSet(a_linestring, a_spheroid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Length3D_Spheroid PointSet3D(a_linestring, a_spheroid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Length3D_Spheroid LineSet3D(a_linestring, a_spheroid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Length3D_Spheroid PolygonSet3D(a_linestring, a_spheroid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Length3D_Spheroid GCSet3D(a_linestring, a_spheroid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Length3D_Spheroid(foo1.the_geom, 'SPHEROID["GRS_1980",6378137,298.257222101]')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Length3D_Spheroid(a_linestring, a_spheroid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point PointSet(a_linestring, a_fraction): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point LineSet(a_linestring, a_fraction): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point PolySet(a_linestring, a_fraction): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point PointMSet(a_linestring, a_fraction): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point LineMSet(a_linestring, a_fraction): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point PolygonMSet(a_linestring, a_fraction): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point PointSet3D(a_linestring, a_fraction): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point LineSet3D(a_linestring, a_fraction): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point PolygonSet3D(a_linestring, a_fraction): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Line_Interpolate_Point GCSet3D(a_linestring, a_fraction): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Interpolate_Point(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Interpolate_Point(a_linestring, a_fraction) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Line_Locate_Point PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Line_Locate_Point LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Line_Locate_Point PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Line_Locate_Point PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Line_Locate_Point LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Line_Locate_Point PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Line_Locate_Point PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Line_Locate_Point LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Line_Locate_Point PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Line_Locate_Point GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Line_Locate_Point(foo1.the_geom, foo2.the_geom),
+ ST_Line_Locate_Point(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Line_Locate_Point GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Line_Substring PointSet(a_linestring, startfraction, endfraction): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Line_Substring LineSet(a_linestring, startfraction, endfraction): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Line_Substring PolySet(a_linestring, startfraction, endfraction): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Line_Substring PointMSet(a_linestring, startfraction, endfraction): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Line_Substring LineMSet(a_linestring, startfraction, endfraction): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Line_Substring PolygonMSet(a_linestring, startfraction, endfraction): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Line_Substring PointSet3D(a_linestring, startfraction, endfraction): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Line_Substring LineSet3D(a_linestring, startfraction, endfraction): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Line_Substring PolygonSet3D(a_linestring, startfraction, endfraction): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Line_Substring GCSet3D(a_linestring, startfraction, endfraction): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Line_Substring(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Line_Substring(a_linestring, startfraction, endfraction) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_LineFromMultiPoint PointSet(aMultiPoint): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_LineFromMultiPoint LineSet(aMultiPoint): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_LineFromMultiPoint PolySet(aMultiPoint): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_LineFromMultiPoint PointMSet(aMultiPoint): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_LineFromMultiPoint LineMSet(aMultiPoint): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_LineFromMultiPoint PolygonMSet(aMultiPoint): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_LineFromMultiPoint PointSet3D(aMultiPoint): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_LineFromMultiPoint LineSet3D(aMultiPoint): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_LineFromMultiPoint PolygonSet3D(aMultiPoint): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_LineFromMultiPoint GCSet3D(aMultiPoint): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineFromMultiPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineFromMultiPoint(aMultiPoint) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_LineMerge PointSet(amultilinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_LineMerge LineSet(amultilinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_LineMerge PolySet(amultilinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_LineMerge PointMSet(amultilinestring): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_LineMerge LineMSet(amultilinestring): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_LineMerge PolygonMSet(amultilinestring): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_LineMerge PointSet3D(amultilinestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_LineMerge LineSet3D(amultilinestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_LineMerge PolygonSet3D(amultilinestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_LineMerge GCSet3D(amultilinestring): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineMerge(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineMerge(amultilinestring) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_LineToCurve PointSet(geomANoncircular): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_LineToCurve LineSet(geomANoncircular): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_LineToCurve PolySet(geomANoncircular): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_LineToCurve PointMSet(geomANoncircular): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_LineToCurve LineMSet(geomANoncircular): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_LineToCurve PolygonMSet(geomANoncircular): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_LineToCurve PointSet3D(geomANoncircular): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_LineToCurve LineSet3D(geomANoncircular): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_LineToCurve PolygonSet3D(geomANoncircular): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_LineToCurve GCSet3D(geomANoncircular): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_LineToCurve(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_LineToCurve(geomANoncircular) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Locate_Along_Measure PointSet(ageom_with_measure, a_measure): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Locate_Along_Measure LineSet(ageom_with_measure, a_measure): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Locate_Along_Measure PolySet(ageom_with_measure, a_measure): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Locate_Along_Measure PointMSet(ageom_with_measure, a_measure): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Locate_Along_Measure LineMSet(ageom_with_measure, a_measure): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Locate_Along_Measure PolygonMSet(ageom_with_measure, a_measure): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Locate_Along_Measure PointSet3D(ageom_with_measure, a_measure): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Locate_Along_Measure LineSet3D(ageom_with_measure, a_measure): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Locate_Along_Measure PolygonSet3D(ageom_with_measure, a_measure): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Locate_Along_Measure GCSet3D(ageom_with_measure, a_measure): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Along_Measure(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Along_Measure(ageom_with_measure, a_measure) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Locate_Between_Measures PointSet(geomA, measure_start, measure_end): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Locate_Between_Measures LineSet(geomA, measure_start, measure_end): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Locate_Between_Measures PolySet(geomA, measure_start, measure_end): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Locate_Between_Measures PointMSet(geomA, measure_start, measure_end): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Locate_Between_Measures LineMSet(geomA, measure_start, measure_end): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Locate_Between_Measures PolygonMSet(geomA, measure_start, measure_end): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Locate_Between_Measures PointSet3D(geomA, measure_start, measure_end): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Locate_Between_Measures LineSet3D(geomA, measure_start, measure_end): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Locate_Between_Measures PolygonSet3D(geomA, measure_start, measure_end): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Locate_Between_Measures GCSet3D(geomA, measure_start, measure_end): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Locate_Between_Measures(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Locate_Between_Measures(geomA, measure_start, measure_end) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_M PointSet(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_M LineSet(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_M PolySet(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_M PointMSet(a_point): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_M LineMSet(a_point): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_M PolygonMSet(a_point): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_M PointSet3D(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_M LineSet3D(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_M PolygonSet3D(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_M GCSet3D(a_point): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_M(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_M(a_point) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_MakeBox2D PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_MakeBox2D LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_MakeBox2D PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_MakeBox2D PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_MakeBox2D LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_MakeBox2D PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_MakeBox2D PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_MakeBox2D LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_MakeBox2D PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_MakeBox2D GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_MakeBox2D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox2D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox2D GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_MakeBox3D PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_MakeBox3D LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_MakeBox3D PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_MakeBox3D PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_MakeBox3D LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_MakeBox3D PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_MakeBox3D PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_MakeBox3D LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_MakeBox3D PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_MakeBox3D GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_MakeBox3D(foo1.the_geom, foo2.the_geom),
+ ST_MakeBox3D(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeBox3D GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakeLine PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakeLine LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakeLine PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakeLine PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakeLine LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakeLine PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakeLine PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakeLine LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakeLine PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakeLine GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakeLine(the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_MakeLine GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_MakeLine PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_MakeLine LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_MakeLine PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_MakeLine PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_MakeLine LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_MakeLine PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_MakeLine PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_MakeLine LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_MakeLine PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_MakeLine GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_MakeLine(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_MakeLine(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_MakeLine GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakePoint PointSet(x, y): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePoint LineSet(x, y): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePoint PolySet(x, y): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePoint PointMSet(x, y): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakePoint LineMSet(x, y): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakePoint PolygonMSet(x, y): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakePoint PointSet3D(x, y): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePoint LineSet3D(x, y): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePoint PolygonSet3D(x, y): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePoint GCSet3D(x, y): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakePoint PointSet(x, y, z): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePoint LineSet(x, y, z): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePoint PolySet(x, y, z): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePoint PointMSet(x, y, z): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakePoint LineMSet(x, y, z): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakePoint PolygonMSet(x, y, z): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakePoint PointSet3D(x, y, z): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePoint LineSet3D(x, y, z): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePoint PolygonSet3D(x, y, z): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePoint GCSet3D(x, y, z): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakePoint PointSet(x, y, z, m): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePoint LineSet(x, y, z, m): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePoint PolySet(x, y, z, m): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePoint PointMSet(x, y, z, m): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakePoint LineMSet(x, y, z, m): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakePoint PolygonMSet(x, y, z, m): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakePoint PointSet3D(x, y, z, m): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePoint LineSet3D(x, y, z, m): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePoint PolygonSet3D(x, y, z, m): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePoint GCSet3D(x, y, z, m): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePoint(0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePoint(x, y, z, m) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakePointM PointSet(x, y, m): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePointM LineSet(x, y, m): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePointM PolySet(x, y, m): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePointM PointMSet(x, y, m): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakePointM LineMSet(x, y, m): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakePointM PolygonMSet(x, y, m): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakePointM PointSet3D(x, y, m): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePointM LineSet3D(x, y, m): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePointM PolygonSet3D(x, y, m): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePointM GCSet3D(x, y, m): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePointM(0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePointM(x, y, m) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakePolygon PointSet(linestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePolygon LineSet(linestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePolygon PolySet(linestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePolygon PointMSet(linestring): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakePolygon LineMSet(linestring): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakePolygon PolygonMSet(linestring): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakePolygon PointSet3D(linestring): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePolygon LineSet3D(linestring): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePolygon PolygonSet3D(linestring): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePolygon GCSet3D(linestring): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(linestring) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MakePolygon PointSet(outerlinestring, interiorlinestrings): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePolygon LineSet(outerlinestring, interiorlinestrings): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePolygon PolySet(outerlinestring, interiorlinestrings): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePolygon PointMSet(outerlinestring, interiorlinestrings): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MakePolygon LineMSet(outerlinestring, interiorlinestrings): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MakePolygon PolygonMSet(outerlinestring, interiorlinestrings): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MakePolygon PointSet3D(outerlinestring, interiorlinestrings): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MakePolygon LineSet3D(outerlinestring, interiorlinestrings): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MakePolygon PolygonSet3D(outerlinestring, interiorlinestrings): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MakePolygon GCSet3D(outerlinestring, interiorlinestrings): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MakePolygon(foo1.the_geom,
+ ARRAY[foo2.the_geom]
+ ))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_MakePolygon(outerlinestring, interiorlinestrings) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Max_Distance PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Max_Distance LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Max_Distance PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Max_Distance PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Max_Distance LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Max_Distance PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Max_Distance PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Max_Distance LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Max_Distance PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Max_Distance GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Max_Distance(foo1.the_geom, foo2.the_geom),
+ ST_Max_Distance(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Max_Distance GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Mem_Size PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Mem_Size LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Mem_Size PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Mem_Size PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Mem_Size LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Mem_Size PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Mem_Size PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Mem_Size LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Mem_Size PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Mem_Size GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Mem_Size(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Mem_Size(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_MemUnion PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MemUnion LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MemUnion PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MemUnion PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_MemUnion LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_MemUnion PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_MemUnion PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_MemUnion LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_MemUnion PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_MemUnion GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_MemUnion(the_geom)),
+ ST_AsEWKT(ST_MemUnion(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_MemUnion GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Multi PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Multi LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Multi PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Multi PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Multi LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Multi PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Multi PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Multi LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Multi PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Multi GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Multi(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Multi(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_NDims PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NDims LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NDims PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NDims PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_NDims LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_NDims PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_NDims PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NDims LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NDims PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NDims GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_NDims(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NDims(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_NPoints PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NPoints LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NPoints PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NPoints PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_NPoints LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_NPoints PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_NPoints PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NPoints LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NPoints PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NPoints GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_NPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NPoints(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_NumGeometries PointSet(a_multi_or_geomcollection): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumGeometries LineSet(a_multi_or_geomcollection): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumGeometries PolySet(a_multi_or_geomcollection): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumGeometries PointMSet(a_multi_or_geomcollection): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_NumGeometries LineMSet(a_multi_or_geomcollection): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_NumGeometries PolygonMSet(a_multi_or_geomcollection): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_NumGeometries PointSet3D(a_multi_or_geomcollection): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumGeometries LineSet3D(a_multi_or_geomcollection): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumGeometries PolygonSet3D(a_multi_or_geomcollection): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumGeometries GCSet3D(a_multi_or_geomcollection): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_NumGeometries(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumGeometries(a_multi_or_geomcollection) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_NumInteriorRing PointSet(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumInteriorRing LineSet(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumInteriorRing PolySet(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumInteriorRing PointMSet(a_polygon): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_NumInteriorRing LineMSet(a_polygon): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_NumInteriorRing PolygonMSet(a_polygon): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_NumInteriorRing PointSet3D(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumInteriorRing LineSet3D(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumInteriorRing PolygonSet3D(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumInteriorRing GCSet3D(a_polygon): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_NumInteriorRing(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRing(a_polygon) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_NumInteriorRings PointSet(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumInteriorRings LineSet(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumInteriorRings PolySet(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumInteriorRings PointMSet(a_polygon): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_NumInteriorRings LineMSet(a_polygon): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_NumInteriorRings PolygonMSet(a_polygon): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_NumInteriorRings PointSet3D(a_polygon): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumInteriorRings LineSet3D(a_polygon): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumInteriorRings PolygonSet3D(a_polygon): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumInteriorRings GCSet3D(a_polygon): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_NumInteriorRings(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumInteriorRings(a_polygon) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_NumPoints PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumPoints LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumPoints PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumPoints PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_NumPoints LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_NumPoints PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_NumPoints PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_NumPoints LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_NumPoints PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_NumPoints GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_NumPoints(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_NumPoints(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_OrderingEquals PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_OrderingEquals LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_OrderingEquals PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_OrderingEquals PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_OrderingEquals LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_OrderingEquals PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_OrderingEquals PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_OrderingEquals LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_OrderingEquals PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_OrderingEquals GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_OrderingEquals(foo1.the_geom, foo2.the_geom),
+ ST_OrderingEquals(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_OrderingEquals GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Overlaps PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Overlaps LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Overlaps PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Overlaps PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Overlaps LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Overlaps PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Overlaps PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Overlaps LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Overlaps PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Overlaps GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Overlaps(foo1.the_geom, foo2.the_geom),
+ ST_Overlaps(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Overlaps GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Perimeter PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Perimeter LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Perimeter PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Perimeter PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Perimeter LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Perimeter PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Perimeter PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Perimeter LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Perimeter PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Perimeter GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Perimeter(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Perimeter2D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Perimeter2D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Perimeter2D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Perimeter2D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Perimeter2D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Perimeter2D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Perimeter2D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Perimeter2D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Perimeter2D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Perimeter2D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Perimeter2D(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter2D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Perimeter3D PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Perimeter3D LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Perimeter3D PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Perimeter3D PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Perimeter3D LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Perimeter3D PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Perimeter3D PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Perimeter3D LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Perimeter3D PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Perimeter3D GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Perimeter3D(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Perimeter3D(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Point PointSet(x_lon, y_lat): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Point LineSet(x_lon, y_lat): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Point PolySet(x_lon, y_lat): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Point PointMSet(x_lon, y_lat): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Point LineMSet(x_lon, y_lat): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Point PolygonMSet(x_lon, y_lat): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Point PointSet3D(x_lon, y_lat): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Point LineSet3D(x_lon, y_lat): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Point PolygonSet3D(x_lon, y_lat): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Point GCSet3D(x_lon, y_lat): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Point(0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Point(x_lon, y_lat) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_PointFromText PointSet(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointFromText LineSet(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointFromText PolySet(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointFromText PointMSet(WKT): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_PointFromText LineMSet(WKT): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_PointFromText PolygonMSet(WKT): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_PointFromText PointSet3D(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointFromText LineSet3D(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointFromText PolygonSet3D(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointFromText GCSet3D(WKT): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_PointFromText PointSet(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointFromText LineSet(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointFromText PolySet(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointFromText PointMSet(WKT, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_PointFromText LineMSet(WKT, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_PointFromText PolygonMSet(WKT, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_PointFromText PointSet3D(WKT, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointFromText LineSet3D(WKT, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointFromText PolygonSet3D(WKT, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointFromText GCSet3D(WKT, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointFromText(ST_AsText(foo1.the_geom), 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointFromText(WKT, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_PointN PointSet(a_linestring, n): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointN LineSet(a_linestring, n): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointN PolySet(a_linestring, n): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointN PointMSet(a_linestring, n): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_PointN LineMSet(a_linestring, n): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_PointN PolygonMSet(a_linestring, n): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_PointN PointSet3D(a_linestring, n): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointN LineSet3D(a_linestring, n): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointN PolygonSet3D(a_linestring, n): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointN GCSet3D(a_linestring, n): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointN(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointN(a_linestring, n) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_PointOnSurface PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointOnSurface LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointOnSurface PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointOnSurface PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_PointOnSurface LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_PointOnSurface PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_PointOnSurface PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_PointOnSurface LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_PointOnSurface PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_PointOnSurface GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_PointOnSurface(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_PointOnSurface(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Polygon PointSet(aLineString, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Polygon LineSet(aLineString, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Polygon PolySet(aLineString, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Polygon PointMSet(aLineString, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Polygon LineMSet(aLineString, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Polygon PolygonMSet(aLineString, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Polygon PointSet3D(aLineString, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Polygon LineSet3D(aLineString, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Polygon PolygonSet3D(aLineString, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Polygon GCSet3D(aLineString, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygon(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Polygon(aLineString, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Polygonize PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Polygonize LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Polygonize PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Polygonize PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Polygonize LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Polygonize PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Polygonize PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Polygonize LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Polygonize PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Polygonize GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Polygonize(the_geom)),
+ ST_AsEWKT(ST_Polygonize(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_Polygonize GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Relate PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Relate LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Relate PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Relate PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Relate LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Relate PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Relate PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Relate LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Relate PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Relate GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Relate(foo1.the_geom, foo2.the_geom),
+ ST_Relate(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Relate GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Relate PointSet(geomA, geomB, intersectionPatternMatrix): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Relate LineSet(geomA, geomB, intersectionPatternMatrix): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Relate PolySet(geomA, geomB, intersectionPatternMatrix): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Relate PointMSet(geomA, geomB, intersectionPatternMatrix): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Relate LineMSet(geomA, geomB, intersectionPatternMatrix): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Relate PolygonMSet(geomA, geomB, intersectionPatternMatrix): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Relate PointSet3D(geomA, geomB, intersectionPatternMatrix): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Relate LineSet3D(geomA, geomB, intersectionPatternMatrix): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Relate PolygonSet3D(geomA, geomB, intersectionPatternMatrix): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Relate GCSet3D(geomA, geomB, intersectionPatternMatrix): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Relate(foo1.the_geom, foo1.the_geom, 'monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Relate(geomA, geomB, intersectionPatternMatrix) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_RemovePoint PointSet(linestring, offset): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RemovePoint LineSet(linestring, offset): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RemovePoint PolySet(linestring, offset): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RemovePoint PointMSet(linestring, offset): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_RemovePoint LineMSet(linestring, offset): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_RemovePoint PolygonMSet(linestring, offset): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_RemovePoint PointSet3D(linestring, offset): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RemovePoint LineSet3D(linestring, offset): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RemovePoint PolygonSet3D(linestring, offset): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RemovePoint GCSet3D(linestring, offset): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RemovePoint(foo1.the_geom, 5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RemovePoint(linestring, offset) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Reverse PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Reverse LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Reverse PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Reverse PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Reverse LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Reverse PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Reverse PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Reverse LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Reverse PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Reverse GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Reverse(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Reverse(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Rotate PointSet(geomA, rotZRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Rotate LineSet(geomA, rotZRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Rotate PolySet(geomA, rotZRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Rotate PointMSet(geomA, rotZRadians): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Rotate LineMSet(geomA, rotZRadians): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Rotate PolygonMSet(geomA, rotZRadians): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Rotate PointSet3D(geomA, rotZRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Rotate LineSet3D(geomA, rotZRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Rotate PolygonSet3D(geomA, rotZRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Rotate GCSet3D(geomA, rotZRadians): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Rotate(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Rotate(geomA, rotZRadians) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_RotateX PointSet(geomA, rotRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RotateX LineSet(geomA, rotRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RotateX PolySet(geomA, rotRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RotateX PointMSet(geomA, rotRadians): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_RotateX LineMSet(geomA, rotRadians): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_RotateX PolygonMSet(geomA, rotRadians): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_RotateX PointSet3D(geomA, rotRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RotateX LineSet3D(geomA, rotRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RotateX PolygonSet3D(geomA, rotRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RotateX GCSet3D(geomA, rotRadians): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateX(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateX(geomA, rotRadians) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_RotateY PointSet(geomA, rotRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RotateY LineSet(geomA, rotRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RotateY PolySet(geomA, rotRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RotateY PointMSet(geomA, rotRadians): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_RotateY LineMSet(geomA, rotRadians): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_RotateY PolygonMSet(geomA, rotRadians): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_RotateY PointSet3D(geomA, rotRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RotateY LineSet3D(geomA, rotRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RotateY PolygonSet3D(geomA, rotRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RotateY GCSet3D(geomA, rotRadians): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateY(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateY(geomA, rotRadians) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_RotateZ PointSet(geomA, rotRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RotateZ LineSet(geomA, rotRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RotateZ PolySet(geomA, rotRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RotateZ PointMSet(geomA, rotRadians): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_RotateZ LineMSet(geomA, rotRadians): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_RotateZ PolygonMSet(geomA, rotRadians): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_RotateZ PointSet3D(geomA, rotRadians): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_RotateZ LineSet3D(geomA, rotRadians): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_RotateZ PolygonSet3D(geomA, rotRadians): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_RotateZ GCSet3D(geomA, rotRadians): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_RotateZ(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_RotateZ(geomA, rotRadians) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Scale PointSet(geomA, XFactor, YFactor, ZFactor): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Scale LineSet(geomA, XFactor, YFactor, ZFactor): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Scale PolySet(geomA, XFactor, YFactor, ZFactor): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Scale PointMSet(geomA, XFactor, YFactor, ZFactor): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Scale LineMSet(geomA, XFactor, YFactor, ZFactor): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Scale PolygonMSet(geomA, XFactor, YFactor, ZFactor): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Scale PointSet3D(geomA, XFactor, YFactor, ZFactor): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Scale LineSet3D(geomA, XFactor, YFactor, ZFactor): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Scale PolygonSet3D(geomA, XFactor, YFactor, ZFactor): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Scale GCSet3D(geomA, XFactor, YFactor, ZFactor): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor, ZFactor) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Scale PointSet(geomA, XFactor, YFactor): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Scale LineSet(geomA, XFactor, YFactor): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Scale PolySet(geomA, XFactor, YFactor): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Scale PointMSet(geomA, XFactor, YFactor): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Scale LineMSet(geomA, XFactor, YFactor): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Scale PolygonMSet(geomA, XFactor, YFactor): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Scale PointSet3D(geomA, XFactor, YFactor): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Scale LineSet3D(geomA, XFactor, YFactor): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Scale PolygonSet3D(geomA, XFactor, YFactor): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Scale GCSet3D(geomA, XFactor, YFactor): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Scale(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Scale(geomA, XFactor, YFactor) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Segmentize PointSet(geomA, max_length): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Segmentize LineSet(geomA, max_length): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Segmentize PolySet(geomA, max_length): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Segmentize PointMSet(geomA, max_length): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Segmentize LineMSet(geomA, max_length): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Segmentize PolygonMSet(geomA, max_length): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Segmentize PointSet3D(geomA, max_length): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Segmentize LineSet3D(geomA, max_length): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Segmentize PolygonSet3D(geomA, max_length): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Segmentize GCSet3D(geomA, max_length): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Segmentize(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Segmentize(geomA, max_length) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SetPoint PointSet(linestring, zerobasedposition, point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SetPoint LineSet(linestring, zerobasedposition, point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SetPoint PolySet(linestring, zerobasedposition, point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SetPoint PointMSet(linestring, zerobasedposition, point): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SetPoint LineMSet(linestring, zerobasedposition, point): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SetPoint PolygonMSet(linestring, zerobasedposition, point): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SetPoint PointSet3D(linestring, zerobasedposition, point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SetPoint LineSet3D(linestring, zerobasedposition, point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SetPoint PolygonSet3D(linestring, zerobasedposition, point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SetPoint GCSet3D(linestring, zerobasedposition, point): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetPoint(foo1.the_geom, 5, foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetPoint(linestring, zerobasedposition, point) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SetSRID PointSet(geom, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SetSRID LineSet(geom, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SetSRID PolySet(geom, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SetSRID PointMSet(geom, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SetSRID LineMSet(geom, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SetSRID PolygonMSet(geom, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SetSRID PointSet3D(geom, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SetSRID LineSet3D(geom, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SetSRID PolygonSet3D(geom, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SetSRID GCSet3D(geom, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SetSRID(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SetSRID(geom, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Shift_Longitude PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Shift_Longitude LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Shift_Longitude PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Shift_Longitude PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Shift_Longitude LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Shift_Longitude PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Shift_Longitude PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Shift_Longitude LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Shift_Longitude PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Shift_Longitude GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Shift_Longitude(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Shift_Longitude(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Simplify PointSet(geomA, tolerance): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Simplify LineSet(geomA, tolerance): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Simplify PolySet(geomA, tolerance): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Simplify PointMSet(geomA, tolerance): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Simplify LineMSet(geomA, tolerance): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Simplify PolygonMSet(geomA, tolerance): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Simplify PointSet3D(geomA, tolerance): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Simplify LineSet3D(geomA, tolerance): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Simplify PolygonSet3D(geomA, tolerance): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Simplify GCSet3D(geomA, tolerance): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Simplify(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Simplify(geomA, tolerance) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology PointSet(geomA, tolerance): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology LineSet(geomA, tolerance): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology PolySet(geomA, tolerance): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology PointMSet(geomA, tolerance): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology LineMSet(geomA, tolerance): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology PolygonMSet(geomA, tolerance): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology PointSet3D(geomA, tolerance): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology LineSet3D(geomA, tolerance): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology PolygonSet3D(geomA, tolerance): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SimplifyPreserveTopology GCSet3D(geomA, tolerance): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SimplifyPreserveTopology(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SimplifyPreserveTopology(geomA, tolerance) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet(geomA, originX, originY, sizeX, sizeY): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet(geomA, originX, originY, sizeX, sizeY): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolySet(geomA, originX, originY, sizeX, sizeY): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid PointMSet(geomA, originX, originY, sizeX, sizeY): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SnapToGrid LineMSet(geomA, originX, originY, sizeX, sizeY): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonMSet(geomA, originX, originY, sizeX, sizeY): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet3D(geomA, originX, originY, sizeX, sizeY): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet3D(geomA, originX, originY, sizeX, sizeY): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonSet3D(geomA, originX, originY, sizeX, sizeY): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid GCSet3D(geomA, originX, originY, sizeX, sizeY): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, originX, originY, sizeX, sizeY) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet(geomA, sizeX, sizeY): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet(geomA, sizeX, sizeY): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolySet(geomA, sizeX, sizeY): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid PointMSet(geomA, sizeX, sizeY): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SnapToGrid LineMSet(geomA, sizeX, sizeY): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonMSet(geomA, sizeX, sizeY): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet3D(geomA, sizeX, sizeY): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet3D(geomA, sizeX, sizeY): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonSet3D(geomA, sizeX, sizeY): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid GCSet3D(geomA, sizeX, sizeY): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, sizeX, sizeY) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet(geomA, size): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet(geomA, size): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolySet(geomA, size): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid PointMSet(geomA, size): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SnapToGrid LineMSet(geomA, size): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonMSet(geomA, size): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet3D(geomA, size): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet3D(geomA, size): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonSet3D(geomA, size): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid GCSet3D(geomA, size): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, size) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolySet(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid PointMSet(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SnapToGrid LineMSet(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonMSet(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SnapToGrid PointSet3D(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SnapToGrid LineSet3D(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SnapToGrid PolygonSet3D(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SnapToGrid GCSet3D(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_SnapToGrid(foo1.the_geom, foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SnapToGrid(geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_SRID PointSet(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SRID LineSet(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SRID PolySet(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SRID PointMSet(g1): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_SRID LineMSet(g1): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_SRID PolygonMSet(g1): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_SRID PointSet3D(g1): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_SRID LineSet3D(g1): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_SRID PolygonSet3D(g1): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_SRID GCSet3D(g1): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_SRID(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_SRID(g1) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_StartPoint PointSet(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_StartPoint LineSet(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_StartPoint PolySet(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_StartPoint PointMSet(geomA): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_StartPoint LineMSet(geomA): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_StartPoint PolygonMSet(geomA): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_StartPoint PointSet3D(geomA): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_StartPoint LineSet3D(geomA): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_StartPoint PolygonSet3D(geomA): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_StartPoint GCSet3D(geomA): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_StartPoint(foo1.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_StartPoint(geomA) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Summary PointSet(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Summary LineSet(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Summary PolySet(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Summary PointMSet(g): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Summary LineMSet(g): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Summary PolygonMSet(g): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Summary PointSet3D(g): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Summary LineSet3D(g): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Summary PolygonSet3D(g): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Summary GCSet3D(g): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Summary(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Summary(g) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_SymDifference PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_SymDifference LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_SymDifference PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_SymDifference PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_SymDifference LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_SymDifference PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_SymDifference PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_SymDifference LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_SymDifference PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_SymDifference GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_SymDifference(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_SymDifference(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_SymDifference GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Touches PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Touches LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Touches PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Touches PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Touches LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Touches PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Touches PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Touches LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Touches PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Touches GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Touches(foo1.the_geom, foo2.the_geom),
+ ST_Touches(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Touches GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Transform PointSet(g1, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Transform LineSet(g1, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Transform PolySet(g1, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Transform PointMSet(g1, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Transform LineMSet(g1, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Transform PolygonMSet(g1, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Transform PointSet3D(g1, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Transform LineSet3D(g1, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Transform PolygonSet3D(g1, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Transform GCSet3D(g1, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Transform(foo1.the_geom, 4269))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Transform(g1, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Translate PointSet(g1, deltax, deltay): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Translate LineSet(g1, deltax, deltay): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Translate PolySet(g1, deltax, deltay): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Translate PointMSet(g1, deltax, deltay): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Translate LineMSet(g1, deltax, deltay): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Translate PolygonMSet(g1, deltax, deltay): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Translate PointSet3D(g1, deltax, deltay): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Translate LineSet3D(g1, deltax, deltay): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Translate PolygonSet3D(g1, deltax, deltay): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Translate GCSet3D(g1, deltax, deltay): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Translate PointSet(g1, deltax, deltay, deltaz): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Translate LineSet(g1, deltax, deltay, deltaz): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Translate PolySet(g1, deltax, deltay, deltaz): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Translate PointMSet(g1, deltax, deltay, deltaz): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Translate LineMSet(g1, deltax, deltay, deltaz): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Translate PolygonMSet(g1, deltax, deltay, deltaz): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Translate PointSet3D(g1, deltax, deltay, deltaz): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Translate LineSet3D(g1, deltax, deltay, deltaz): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Translate PolygonSet3D(g1, deltax, deltay, deltaz): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Translate GCSet3D(g1, deltax, deltay, deltaz): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Translate(foo1.the_geom, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Translate(g1, deltax, deltay, deltaz) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_TransScale PointSet(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_TransScale LineSet(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_TransScale PolySet(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_TransScale PointMSet(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_TransScale LineMSet(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_TransScale PolygonMSet(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_TransScale PointSet3D(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_TransScale LineSet3D(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_TransScale PolygonSet3D(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_TransScale GCSet3D(geomA, deltaX, deltaY, XFactor, YFactor): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_TransScale(foo1.the_geom, 0.5, 0.5, 0.5, 0.5))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Union PointSet: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo;
+ COMMIT;
+ SELECT 'ST_Union PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Union LineSet: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Union LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Union PolySet: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo;
+ COMMIT;
+ SELECT 'ST_Union PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Union PointMSet: Start Testing Multi/POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Union PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Union LineMSet: Start Testing Multi/LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo;
+ COMMIT;
+ SELECT 'ST_Union LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Union PolygonMSet: Start Testing Multi/POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Union PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Union PointSet3D: Start Testing Multi/POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Union PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Union LineSet3D: Start Testing Multi/LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo;
+ COMMIT;
+ SELECT 'ST_Union LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Union PolygonSet3D: Start Testing Multi/POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo;
+ COMMIT;
+ SELECT 'ST_Union PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Union GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_Union(the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo;
+ COMMIT;
+ SELECT 'ST_Union GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Union PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Union LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Union PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Union PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Union LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Union PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Union PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Union LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Union PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Union GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_AsEWKT(ST_Union(foo1.the_geom, foo2.the_geom)),
+ ST_AsEWKT(ST_Union(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Union GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+SELECT 'ST_Within PointSet: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within PointSet: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Within LineSet: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within LineSet: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Within PolySet: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within PolySet: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Within PointMSet: Start Testing Multi/POINTM';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within PointMSet: End Testing Multi/POINTM';
+
+
+
+SELECT 'ST_Within LineMSet: Start Testing Multi/LINESTRINGM';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+SELECT 'ST_Within PolygonMSet: Start Testing Multi/POLYGONM';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+SELECT 'ST_Within PointSet3D: Start Testing Multi/POINT';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within PointSet3D: End Testing Multi/POINT';
+
+
+
+SELECT 'ST_Within LineSet3D: Start Testing Multi/LINESTRING';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+SELECT 'ST_Within PolygonSet3D: Start Testing Multi/POLYGON';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+SELECT 'ST_Within GCSet3D: Start Testing Multi/GEOMETRYCOLLECTION';
+BEGIN;
+
+SELECT ST_Within(foo1.the_geom, foo2.the_geom),
+ ST_Within(ST_Multi(foo1.the_geom), ST_Multi(foo2.the_geom))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+COMMIT;
+SELECT 'ST_Within GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_WKBToSQL PointSet(WKB): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_WKBToSQL LineSet(WKB): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_WKBToSQL PolySet(WKB): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_WKBToSQL PointMSet(WKB): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_WKBToSQL LineMSet(WKB): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_WKBToSQL PolygonMSet(WKB): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_WKBToSQL PointSet3D(WKB): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_WKBToSQL LineSet3D(WKB): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_WKBToSQL PolygonSet3D(WKB): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_WKBToSQL GCSet3D(WKB): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKBToSQL(ST_AsBinary(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKBToSQL(WKB) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_WKTToSQL PointSet(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_WKTToSQL LineSet(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_WKTToSQL PolySet(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_WKTToSQL PointMSet(WKT): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_WKTToSQL LineMSet(WKT): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_WKTToSQL PolygonMSet(WKT): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_WKTToSQL PointSet3D(WKT): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_WKTToSQL LineSet3D(WKT): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_WKTToSQL PolygonSet3D(WKT): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_WKTToSQL GCSet3D(WKT): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_AsEWKT(ST_WKTToSQL(ST_AsText(foo1.the_geom)))
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_WKTToSQL(WKT) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_X PointSet(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_X LineSet(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_X PolySet(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_X PointMSet(a_point): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_X LineMSet(a_point): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_X PolygonMSet(a_point): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_X PointSet3D(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_X LineSet3D(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_X PolygonSet3D(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_X GCSet3D(a_point): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_X(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_X(a_point) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_XMax PointSet(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_XMax LineSet(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_XMax PolySet(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_XMax PointMSet(aGeomorBox2DorBox3D): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_XMax LineMSet(aGeomorBox2DorBox3D): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_XMax PolygonMSet(aGeomorBox2DorBox3D): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_XMax PointSet3D(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_XMax LineSet3D(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_XMax PolygonSet3D(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_XMax GCSet3D(aGeomorBox2DorBox3D): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_XMax(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMax(aGeomorBox2DorBox3D) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_XMin PointSet(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_XMin LineSet(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_XMin PolySet(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_XMin PointMSet(aGeomorBox2DorBox3D): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_XMin LineMSet(aGeomorBox2DorBox3D): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_XMin PolygonMSet(aGeomorBox2DorBox3D): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_XMin PointSet3D(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_XMin LineSet3D(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_XMin PolygonSet3D(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_XMin GCSet3D(aGeomorBox2DorBox3D): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_XMin(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_XMin(aGeomorBox2DorBox3D) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Y PointSet(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Y LineSet(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Y PolySet(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Y PointMSet(a_point): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Y LineMSet(a_point): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Y PolygonMSet(a_point): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Y PointSet3D(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Y LineSet3D(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Y PolygonSet3D(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Y GCSet3D(a_point): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Y(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Y(a_point) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_YMax PointSet(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_YMax LineSet(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_YMax PolySet(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_YMax PointMSet(aGeomorBox2DorBox3D): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_YMax LineMSet(aGeomorBox2DorBox3D): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_YMax PolygonMSet(aGeomorBox2DorBox3D): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_YMax PointSet3D(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_YMax LineSet3D(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_YMax PolygonSet3D(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_YMax GCSet3D(aGeomorBox2DorBox3D): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_YMax(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMax(aGeomorBox2DorBox3D) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_YMin PointSet(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_YMin LineSet(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_YMin PolySet(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_YMin PointMSet(aGeomorBox2DorBox3D): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_YMin LineMSet(aGeomorBox2DorBox3D): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_YMin PolygonMSet(aGeomorBox2DorBox3D): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_YMin PointSet3D(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_YMin LineSet3D(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_YMin PolygonSet3D(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_YMin GCSet3D(aGeomorBox2DorBox3D): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_YMin(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_YMin(aGeomorBox2DorBox3D) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_Z PointSet(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Z LineSet(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Z PolySet(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Z PointMSet(a_point): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_Z LineMSet(a_point): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_Z PolygonMSet(a_point): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_Z PointSet3D(a_point): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_Z LineSet3D(a_point): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_Z PolygonSet3D(a_point): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_Z GCSet3D(a_point): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_Z(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_Z(a_point) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_ZMax PointSet(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ZMax LineSet(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ZMax PolySet(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ZMax PointMSet(aGeomorBox2DorBox3D): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_ZMax LineMSet(aGeomorBox2DorBox3D): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_ZMax PolygonMSet(aGeomorBox2DorBox3D): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_ZMax PointSet3D(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ZMax LineSet3D(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ZMax PolygonSet3D(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ZMax GCSet3D(aGeomorBox2DorBox3D): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_ZMax(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMax(aGeomorBox2DorBox3D) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'ST_ZMin PointSet(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ZMin LineSet(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ZMin PolySet(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ZMin PointMSet(aGeomorBox2DorBox3D): Start Testing POINTM';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'ST_ZMin LineMSet(aGeomorBox2DorBox3D): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'ST_ZMin PolygonMSet(aGeomorBox2DorBox3D): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'ST_ZMin PointSet3D(aGeomorBox2DorBox3D): Start Testing POINT';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'ST_ZMin LineSet3D(aGeomorBox2DorBox3D): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'ST_ZMin PolygonSet3D(aGeomorBox2DorBox3D): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'ST_ZMin GCSet3D(aGeomorBox2DorBox3D): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT ST_ZMin(foo1.the_geom)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'ST_ZMin(aGeomorBox2DorBox3D) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'UnlockRows PointSet(auth_token): Start Testing POINT';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'UnlockRows LineSet(auth_token): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UnlockRows PolySet(auth_token): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UnlockRows PointMSet(auth_token): Start Testing POINTM';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'UnlockRows LineMSet(auth_token): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'UnlockRows PolygonMSet(auth_token): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'UnlockRows PointSet3D(auth_token): Start Testing POINT';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'UnlockRows LineSet3D(auth_token): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UnlockRows PolygonSet3D(auth_token): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UnlockRows GCSet3D(auth_token): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT UnlockRows('monkey')
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UnlockRows(auth_token) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'UpdateGeometrySRID PointSet(table_name, column_name, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'UpdateGeometrySRID LineSet(table_name, column_name, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UpdateGeometrySRID PolySet(table_name, column_name, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UpdateGeometrySRID PointMSet(table_name, column_name, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'UpdateGeometrySRID LineMSet(table_name, column_name, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'UpdateGeometrySRID PolygonMSet(table_name, column_name, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'UpdateGeometrySRID PointSet3D(table_name, column_name, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'UpdateGeometrySRID LineSet3D(table_name, column_name, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UpdateGeometrySRID PolygonSet3D(table_name, column_name, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UpdateGeometrySRID GCSet3D(table_name, column_name, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 4269)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(table_name, column_name, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'UpdateGeometrySRID PointSet(schema_name, table_name, column_name, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'UpdateGeometrySRID LineSet(schema_name, table_name, column_name, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UpdateGeometrySRID PolySet(schema_name, table_name, column_name, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UpdateGeometrySRID PointMSet(schema_name, table_name, column_name, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'UpdateGeometrySRID LineMSet(schema_name, table_name, column_name, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'UpdateGeometrySRID PolygonMSet(schema_name, table_name, column_name, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'UpdateGeometrySRID PointSet3D(schema_name, table_name, column_name, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'UpdateGeometrySRID LineSet3D(schema_name, table_name, column_name, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UpdateGeometrySRID PolygonSet3D(schema_name, table_name, column_name, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UpdateGeometrySRID GCSet3D(schema_name, table_name, column_name, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(schema_name, table_name, column_name, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
+ SELECT 'UpdateGeometrySRID PointSet(catalog_name, schema_name, table_name, column_name, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_Point(i,j),4326) As the_geom
+ FROM generate_series(-10,50,15) As i
+ CROSS JOIN generate_series(40,70, 15) j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) PointSet: End Testing Multi/POINT';
+
+
+
+ SELECT 'UpdateGeometrySRID LineSet(catalog_name, schema_name, table_name, column_name, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_Point(i,j),4326),ST_SetSRID(ST_Point(j,i),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 15) As j
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) LineSet: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UpdateGeometrySRID PolySet(catalog_name, schema_name, table_name, column_name, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo1 CROSS JOIN ((SELECT ST_Buffer(ST_SetSRID(ST_Point(i,j),4326), j) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(40,70, 20) As j)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) PolySet: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UpdateGeometrySRID PointMSet(catalog_name, schema_name, table_name, column_name, srid): Start Testing POINTM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePointM(i,j,m),4326) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) AS j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) PointMSet: End Testing Multi/POINTM';
+
+
+
+ SELECT 'UpdateGeometrySRID LineMSet(catalog_name, schema_name, table_name, column_name, srid): Start Testing LINESTRINGM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo1 CROSS JOIN ((SELECT ST_MakeLine(ST_SetSRID(ST_MakePointM(i,j,m),4326),ST_SetSRID(ST_MakePointM(j,i,m),4326)) As the_geom
+ FROM generate_series(-10,50,10) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ WHERE NOT(i = j))) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) LineMSet: End Testing Multi/LINESTRINGM';
+
+
+
+ SELECT 'UpdateGeometrySRID PolygonMSet(catalog_name, schema_name, table_name, column_name, srid): Start Testing POLYGONM';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo1 CROSS JOIN ((SELECT ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_SetSRID(ST_MakePointM(i+m,j,m),4326),ST_SetSRID(ST_MakePointM(j+m,i-m,m),4326)),ST_SetSRID(ST_MakePointM(i,j,m),4326)),ST_SetSRID(ST_MakePointM(i+m,j,m),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) PolygonMSet: End Testing Multi/POLYGONM';
+
+
+
+ SELECT 'UpdateGeometrySRID PointSet3D(catalog_name, schema_name, table_name, column_name, srid): Start Testing POINT';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePoint(i,j,k),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) PointSet3D: End Testing Multi/POINT';
+
+
+
+ SELECT 'UpdateGeometrySRID LineSet3D(catalog_name, schema_name, table_name, column_name, srid): Start Testing LINESTRING';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(i,j,k), ST_MakePoint(i+k,j+k,k)),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(40,70, 20) j
+ CROSS JOIN generate_series(1,2) k
+ )) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) LineSet3D: End Testing Multi/LINESTRING';
+
+
+
+ SELECT 'UpdateGeometrySRID PolygonSet3D(catalog_name, schema_name, table_name, column_name, srid): Start Testing POLYGON';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo1 CROSS JOIN ((SELECT ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) PolygonSet3D: End Testing Multi/POLYGON';
+
+
+
+ SELECT 'UpdateGeometrySRID GCSet3D(catalog_name, schema_name, table_name, column_name, srid): Start Testing GEOMETRYCOLLECTION';
+ BEGIN;
+
+ SELECT UpdateGeometrySRID('test', 'test', 'test', 'test', 4269)
+
+ FROM ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo1 CROSS JOIN ((SELECT ST_Collect(ST_Collect(ST_SetSRID(ST_MakePoint(i,j,m),4326),ST_SetSRID(ST_MakePolygon(ST_AddPoint(ST_AddPoint(ST_MakeLine(ST_MakePoint(i+m,j,m),ST_MakePoint(j+m,i-m,m)),ST_MakePoint(i,j,m)),ST_MakePointM(i+m,j,m))),4326))) As the_geom
+ FROM generate_series(-10,50,20) As i
+ CROSS JOIN generate_series(50,70, 20) As j
+ CROSS JOIN generate_series(1,2) As m
+ GROUP BY m)) As foo2
+ LIMIT 5;
+ COMMIT;
+ SELECT 'UpdateGeometrySRID(catalog_name, schema_name, table_name, column_name, srid) GCSet3D: End Testing Multi/GEOMETRYCOLLECTION';
+
+
+
\ No newline at end of file
Property changes on: branches/1.3/regress/torturetest.sql
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
More information about the postgis-commits
mailing list