155{
156
158 "POINT(1 2)");
159
161 "LINESTRING(1 2,3 4)");
162
164 "POLYGON((1 2,3 4,5 6,1 2))");
165
166 do_geom_test(
"POLYGON((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8))",
167 "POLYGON((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8))");
168
169
170
172 "GEOMETRYCOLLECTION EMPTY");
173
174
175
177 "POINT(1 2)");
178
180 "LINESTRING(1 2,3 4)");
181
183 "POLYGON((1 2,3 4,5 6,1 2))");
184
185 do_geom_test(
"MULTIPOLYGON(((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8)))",
186 "POLYGON((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8))");
187
188
189
191 "MULTIPOINT(1 2,3 4)");
192
194 "MULTILINESTRING((1 2,3 4),(5 6,7 8))");
195
196 do_geom_test(
"MULTIPOLYGON(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))",
197 "MULTIPOLYGON(((1 2,3 4,5 6,1 2)),((7 8,9 10,11 12,7 8)))");
198
199 do_geom_test(
"MULTIPOLYGON(((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8)),((13 14,15 16,17 18,13 14)))",
200 "MULTIPOLYGON(((1 2,3 4,5 6,1 2),(7 8,9 10,11 12,7 8)),((13 14,15 16,17 18,13 14)))");
201
202
203
204 do_geom_test(
"GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))",
205 "GEOMETRYCOLLECTION(POINT(1 2),LINESTRING(3 4,5 6))");
206
207
208
210 "SRID=4326;GEOMETRYCOLLECTION EMPTY");
211
212
213 do_geom_test(
"SRID=4326;GEOMETRYCOLLECTION(MULTIPOINT(0 0))",
214 "SRID=4326;POINT(0 0)");
215
216
217 do_geom_test(
"SRID=4326;GEOMETRYCOLLECTION(MULTIPOINT(0 0, 1 2))",
218 "SRID=4326;MULTIPOINT(0 0,1 2)");
219
220
221 do_geom_test(
"SRID=4326;GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 0))",
222 "SRID=4326;GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 0))");
223
225 "SRID=4326;POINT(1 2)");
226
228 "SRID=4326;POINT(1 2)");
229
231 "SRID=4326;MULTIPOINT(1 2,3 4)");
232
234 "SRID=4326;LINESTRING(1 2,3 4)");
235
236 do_geom_test(
"SRID=4326;MULTILINESTRING((1 2,3 4),(5 6,7 8))",
237 "SRID=4326;MULTILINESTRING((1 2,3 4),(5 6,7 8))");
238
239
241 "POINT(1 2 3)");
242
244 "POINTM(1 2 3)");
245
247 "POINT(1 2 3 4)");
248}
static void do_geom_test(char *in, char *out)