#Creating the spatial Geometry object USE test; CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY); SET @star_elem_vertical= 'POLYGON((5 0,15 25,25 0,15 5,5 0))'; SET @star_elem_horizontal= 'POLYGON((25 0,0 15,30 15,22 10,25 0))'; SET @star_center= 'POINT(15 10)'; SET @star_top= 'POINT(15 25)'; SET @star_bottom_left= 'POINT(5 0)'; SET @star_bottom_right= 'POINT(25 0)'; SET @star_bottom_points= 'MULTIPOINT(5 0,25 0)'; SET @star_all_points= 'MULTIPOINT(5 0,25 0,15 10,15 25)'; SET @star_line_horizontal= 'LINESTRING(10 15,20 15)'; SET @star_line_vertical= 'LINESTRING(15 5,15 25)'; SET @star_top_to_center= 'LINESTRING(15 25,15 10)'; SET @star_lines_near_horizontal= 'MULTILINESTRING((25 0,0 15,15 30,0 5))'; SET @star_lines_near_vertical= 'MULTILINESTRING((0 5,15 25,0 25))'; SET @star= 'POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))'; SET @star_elem_vertical_val= '((5 0,15 25,25 0,15 5,5 0))'; SET @star_elem_horizontal_val= '((25 0,0 15,30 15,22 10,25 0))'; SET @star_of_elems='MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))'; SET @star_collection_elems='GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)),LINESTRING(15 25,15 10),MULTIPOINT(5 0,25 0),POINT(15 25))'; SET @star_collection_multilinestr='GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)),MULTILINESTRING((25 0,0 15,15 30,0 5)),LINESTRING(15 25,15 10),MULTIPOINT(5 0,25 0),POINT(15 25))'; SET @star_elem_vertical_1= 'POLYGON((5 0,15 25,25 0,15 5,5 0))'; SET @star_elem_horizontal_1= 'POLYGON((25 0,0 15,30 15,22 10,25 0))'; SET @star_center_1= 'POINT(15 10)'; SET @star_top_1= 'POINT(15 25)'; SET @star_bottom_left_1= 'POINT(5 0)'; SET @star_bottom_right_1= 'POINT(25 0)'; SET @star_bottom_points_1= 'MULTIPOINT(5 0,25 0)'; SET @star_all_points_1= 'MULTIPOINT(5 0,25 0,15 10,15 25)'; SET @star_line_horizontal_1= 'LINESTRING(10 15,20 15)'; SET @star_line_vertical_1= 'LINESTRING(15 5,15 25)'; SET @star_top_to_center_1= 'LINESTRING(15 25,15 10)'; SET @star_lines_near_horizontal_1= 'MULTILINESTRING((25 0,0 15,15 30,0 5))'; SET @star_lines_near_vertical_1= 'MULTILINESTRING((0 5,15 25,0 25))'; SET @star_1= 'POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0))'; SET @star_elem_vertical_val_1= '((5 0,15 25,25 0,15 5,5 0))'; SET @star_elem_horizontal_val_1= '((25 0,0 15,30 15,22 10,25 0))'; SET @star_of_elems_1='MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0)))'; SET @star_collection_elems_1='GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)),LINESTRING(15 25,15 10),MULTIPOINT(5 0,25 0),POINT(15 25))'; SET @star_elem_vertical_2= 'POLYGON((15 0,25 25,35 0,25 5,15 0))'; SET @star_elem_horizontal_2= 'POLYGON((35 0,10 15,40 15,32 10,35 0))'; SET @star_center_2= 'POINT(25 10)'; SET @star_top_2= 'POINT(25 25)'; SET @star_bottom_left_2= 'POINT(15 0)'; SET @star_bottom_right_2= 'POINT(35 0)'; SET @star_bottom_points_2= 'MULTIPOINT(15 0,35 0)'; SET @star_all_points_2= 'MULTIPOINT(15 0,35 0,35 10,25 25)'; SET @star_line_horizontal_2= 'LINESTRING(20 15,30 15)'; SET @star_line_vertical_2= 'LINESTRING(25 5,25 25)'; SET @star_top_to_center_2= 'LINESTRING(25 25,25 10)'; SET @star_lines_near_horizontal_2= 'MULTILINESTRING((35 0,10 15,25 30,10 5))'; SET @star_lines_near_vertical_2= 'MULTILINESTRING((10 5,25 25,10 25))'; SET @star_2= 'POLYGON((15 0,17 10,10 15,20 15,25 25,30 15,40 15,32 10,35 0,25 5,15 0))'; SET @star_elem_vertical_val_2= '((15 0,25 25,35 0,25 5,15 0))'; SET @star_elem_horizontal_val_2= '((35 0,10 15,40 15,32 10,35 0))'; SET @star_of_elems_2='MULTIPOLYGON(((15 0,25 25,35 0,25 5,15 0)),((35 0,10 15,40 15,32 10,35 0)))'; SET @star_collection_elems_2='GEOMETRYCOLLECTION(MULTIPOLYGON(((15 0,25 25,35 0,25 5,15 0)),((35 0,10 15,40 15,32 10,35 0))),POLYGON((15 0,17 10,10 15,20 15,25 25,30 15,40 15,32 10,35 0,25 5,15 0)),LINESTRING(25 25,25 10),MULTIPOINT(15 0,35 0),POINT(25 25))'; SET @star_elem_vertical_3= 'POLYGON((65 0,75 25,85 0,75 5,65 0))'; SET @star_elem_horizontal_3= 'POLYGON((85 0,60 15,90 15,82 10,85 0))'; SET @star_center_3= 'POINT(75 10)'; SET @star_top_3= 'POINT(75 25)'; SET @star_bottom_left_3= 'POINT(65 0)'; SET @star_bottom_right_3= 'POINT(85 0)'; SET @star_bottom_points_3= 'MULTIPOINT(65 0,85 0)'; SET @star_all_points_3= 'MULTIPOINT(65 0,85 0,75 10,75 25)'; SET @star_line_horizontal_3= 'LINESTRING(70 15,80 15)'; SET @star_line_vertical_3= 'LINESTRING(75 5,75 25)'; SET @star_top_to_center_3= 'LINESTRING(75 25,75 10)'; SET @star_lines_near_horizontal_3= 'MULTILINESTRING((85 0,60 15,85 30,60 5))'; SET @star_lines_near_vertical_3= 'MULTILINESTRING((60 5,75 25,60 25))'; SET @star_3= 'POLYGON((65 0,67 10,60 15,70 15,75 25,80 15,90 15,82 10,85 0,75 5,65 0))'; SET @star_elem_vertical_val_3= '((65 0,75 25,85 0,75 5,65 0))'; SET @star_elem_horizontal_val_3= '((85 0,60 15,90 15,82 10,85 0))'; SET @star_of_elems_3='MULTIPOLYGON(((65 0,75 25,85 0,75 5,65 0)),((85 0,60 15,90 15,82 10,85 0)))'; SET @star_collection_elems_3='GEOMETRYCOLLECTION(MULTIPOLYGON(((65 0,75 25,85 0,75 5,65 0)),((85 0,60 15,90 15,82 10,85 0))),POLYGON((65 0,67 10,60 15,70 15,75 25,80 15,90 15,82 10,85 0,75 5,65 0)),LINESTRING(75 25,75 10),MULTIPOINT(65 0,85 0),POINT(75 25))'; #INSERT base star INSERT INTO gis_geometrycollection VALUES (100,ST_GEOMFROMTEXT(@star)), (101,ST_GEOMFROMTEXT(@star_elem_vertical)), (102,ST_GEOMFROMTEXT(@star_elem_horizontal)), (103,ST_GEOMFROMTEXT(@star_of_elems)), (104,ST_GEOMFROMTEXT(@star_top)), (105,ST_GEOMFROMTEXT(@star_center)), (106,ST_GEOMFROMTEXT(@star_bottom_left)), (107,ST_GEOMFROMTEXT(@star_bottom_right)), (108,ST_GEOMFROMTEXT(@star_bottom_points)), (109,ST_GEOMFROMTEXT(@star_all_points)), (110,ST_GEOMFROMTEXT(@star_line_horizontal)), (111,ST_GEOMFROMTEXT(@star_line_vertical)), (112,ST_GEOMFROMTEXT(@star_top_to_center)), (113,ST_GEOMFROMTEXT(@star_lines_near_horizontal)), (114,ST_GEOMFROMTEXT(@star_lines_near_vertical)), (115,ST_GEOMFROMTEXT(@star_collection_elems)); #INSERT identical (to base) star INSERT INTO gis_geometrycollection VALUES (200,ST_GEOMFROMTEXT(@star_1)), (201,ST_GEOMFROMTEXT(@star_elem_vertical_1)), (202,ST_GEOMFROMTEXT(@star_elem_horizontal_1)), (203,ST_GEOMFROMTEXT(@star_of_elems_1)), (204,ST_GEOMFROMTEXT(@star_top_1)), (205,ST_GEOMFROMTEXT(@star_center_1)), (206,ST_GEOMFROMTEXT(@star_bottom_left_1)), (207,ST_GEOMFROMTEXT(@star_bottom_right_1)), (208,ST_GEOMFROMTEXT(@star_bottom_points_1)), (209,ST_GEOMFROMTEXT(@star_all_points_1)), (210,ST_GEOMFROMTEXT(@star_line_horizontal_1)), (211,ST_GEOMFROMTEXT(@star_line_vertical_1)), (212,ST_GEOMFROMTEXT(@star_top_to_center_1)), (213,ST_GEOMFROMTEXT(@star_lines_near_horizontal_1)), (214,ST_GEOMFROMTEXT(@star_lines_near_vertical_1)), (215,ST_GEOMFROMTEXT(@star_collection_elems_1)); #INSERT overlapping star INSERT INTO gis_geometrycollection VALUES (300,ST_GEOMFROMTEXT(@star_2)), (301,ST_GEOMFROMTEXT(@star_elem_vertical_2)), (302,ST_GEOMFROMTEXT(@star_elem_horizontal_2)), (303,ST_GEOMFROMTEXT(@star_of_elems_2)), (304,ST_GEOMFROMTEXT(@star_top_2)), (305,ST_GEOMFROMTEXT(@star_center_2)), (306,ST_GEOMFROMTEXT(@star_bottom_left_2)), (307,ST_GEOMFROMTEXT(@star_bottom_right_2)), (308,ST_GEOMFROMTEXT(@star_bottom_points_2)), (309,ST_GEOMFROMTEXT(@star_all_points_2)), (310,ST_GEOMFROMTEXT(@star_line_horizontal_2)), (311,ST_GEOMFROMTEXT(@star_line_vertical_2)), (312,ST_GEOMFROMTEXT(@star_top_to_center_2)), (313,ST_GEOMFROMTEXT(@star_lines_near_horizontal_2)), (314,ST_GEOMFROMTEXT(@star_lines_near_vertical_2)), (315,ST_GEOMFROMTEXT(@star_collection_elems_2)); #INSERT seperate star INSERT INTO gis_geometrycollection VALUES (400,ST_GEOMFROMTEXT(@star_3)), (401,ST_GEOMFROMTEXT(@star_elem_vertical_3)), (402,ST_GEOMFROMTEXT(@star_elem_horizontal_3)), (403,ST_GEOMFROMTEXT(@star_of_elems_3)), (404,ST_GEOMFROMTEXT(@star_top_3)), (405,ST_GEOMFROMTEXT(@star_center_3)), (406,ST_GEOMFROMTEXT(@star_bottom_left_3)), (407,ST_GEOMFROMTEXT(@star_bottom_right_3)), (408,ST_GEOMFROMTEXT(@star_bottom_points_3)), (409,ST_GEOMFROMTEXT(@star_all_points_3)), (410,ST_GEOMFROMTEXT(@star_line_horizontal_3)), (411,ST_GEOMFROMTEXT(@star_line_vertical_3)), (412,ST_GEOMFROMTEXT(@star_top_to_center_3)), (413,ST_GEOMFROMTEXT(@star_lines_near_horizontal_3)), (414,ST_GEOMFROMTEXT(@star_lines_near_vertical_3)), (415,ST_GEOMFROMTEXT(@star_collection_elems_3)); CREATE TABLE gis_geometrycollection_2 SELECT fid as fid2,g as g2 FROM gis_geometrycollection; #Checking the integrity of the above create/insert statements #64 rows. SELECT count(ST_ASTEXT(g) != 'NULL') FROM gis_geometrycollection; count(ST_ASTEXT(g) != 'NULL') 64 #64 rows. SELECT count(ST_ASTEXT(g2) != 'NULL') FROM gis_geometrycollection_2; count(ST_ASTEXT(g2) != 'NULL') 64 ##################################################################################### # ST_SYMDIFFERENCE(g1,g2) ##################################################################################### #==================================================================================== # point,point #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_center))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_center))) MULTIPOINT((15 10),(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_center))) FROM gis_geometrycollection WHERE fid=105; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_center))) GEOMETRYCOLLECTION EMPTY #==================================================================================== # point,multipoint #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_bottom_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_bottom_points))) POINT(25 0) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_bottom_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_bottom_points))) MULTIPOINT((5 0),(15 10),(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=106; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) POINT(25 0) #==================================================================================== # point,linestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_top_to_center))) LINESTRING(15 25,15 10) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_left),ST_GEOMFROMTEXT(@star_top_to_center))) GEOMETRYCOLLECTION(LINESTRING(15 25,15 10),POINT(5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=104; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) LINESTRING(15 25,15 10) #==================================================================================== # point,multilinestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_lines_near_vertical))) LINESTRING(0 5,15 25,0 25) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_center),ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(15 10)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=104; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) LINESTRING(0 5,15 25,0 25) #==================================================================================== # point,polygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),POINT(75 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star))) FROM gis_geometrycollection WHERE fid=104; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) #==================================================================================== # point,multipolygon #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_of_elems))) MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),POINT(75 25)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=104; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))) #==================================================================================== # point,geometrycollection #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_elems))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_3),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),POINT(75 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=104; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_multilinestr))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_collection_multilinestr))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) POINT(0 0) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))) POINT(0 0) #==================================================================================== # multipoint,point #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top))) MULTIPOINT((5 0),(15 10),(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_center))) MULTIPOINT((5 0),(15 10),(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_left))) FROM gis_geometrycollection WHERE fid=108; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_left))) POINT(25 0) #==================================================================================== # multipoint,multipoint #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_bottom_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_bottom_points))) MULTIPOINT((15 10),(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_all_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_bottom_points),ST_GEOMFROMTEXT(@star_all_points))) MULTIPOINT((15 10),(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_all_points_1))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_all_points_1))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points))) FROM gis_geometrycollection WHERE fid=108; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points))) MULTIPOINT((15 10),(15 25)) #==================================================================================== # multipoint,linestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center))) GEOMETRYCOLLECTION(LINESTRING(15 25,15 10),POINT(5 0),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_top_to_center))) GEOMETRYCOLLECTION(LINESTRING(15 25,15 10),POINT(5 0),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=109; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) GEOMETRYCOLLECTION(LINESTRING(15 25,15 10),POINT(5 0),POINT(25 0)) #==================================================================================== # multipoint,multilinestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(5 0),POINT(15 10),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_lines_near_horizontal))) GEOMETRYCOLLECTION(MULTILINESTRING((25 0,0 15,15 30,0 5)),POINT(5 0),POINT(15 10),POINT(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal))) FROM gis_geometrycollection WHERE fid=109; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal))) GEOMETRYCOLLECTION(MULTILINESTRING((25 0,0 15,15 30,0 5)),POINT(5 0),POINT(15 10),POINT(15 25)) #==================================================================================== # multipoint,polygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_vertical))) POLYGON((5 0,15 5,25 0,15 25,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_elem_horizontal))) GEOMETRYCOLLECTION(POLYGON((25 0,22 10,30 15,0 15,25 0)),POINT(5 0),POINT(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_horizontal))) FROM gis_geometrycollection WHERE fid=109; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_horizontal))) GEOMETRYCOLLECTION(POLYGON((25 0,22 10,30 15,0 15,25 0)),POINT(5 0),POINT(15 25)) #==================================================================================== # multipoint,multipolygon #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),POINT(0 0),POINT(0 30),POINT(30 25)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_of_elems))) MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=109; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))) #==================================================================================== # multipoint,geometrycollection #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,0 30,30 25)'),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),POINT(0 0),POINT(0 30),POINT(30 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_elems))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=109; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_multilinestr))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_all_points),ST_GEOMFROMTEXT(@star_collection_multilinestr))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) POINT(0 0) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) MULTIPOINT((0 0),(1 1)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))) MULTIPOINT((0 0),(1 1)) #==================================================================================== # linestring,point #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_center))) LINESTRING(15 25,15 10) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(15 25,15 10)'),ST_GEOMFROMTEXT('POINT(15 10)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(15 25,15 10)'),ST_GEOMFROMTEXT('POINT(15 10)'))) LINESTRING(15 25,15 10) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_bottom_left))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_bottom_left))) GEOMETRYCOLLECTION(LINESTRING(15 25,15 10),POINT(5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=110 and fid2=105; ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) GEOMETRYCOLLECTION(LINESTRING(10 15,20 15),POINT(15 10)) #==================================================================================== # linestring,multipoint #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)'))) LINESTRING(15 5,15 25) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_all_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_all_points))) GEOMETRYCOLLECTION(LINESTRING(15 5,15 25),POINT(5 0),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)'))) FROM gis_geometrycollection WHERE fid=111; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOINT(15 10,15 25)'))) LINESTRING(15 5,15 25) #==================================================================================== # linestring,linestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_vertical),ST_GEOMFROMTEXT(@star_top_to_center))) LINESTRING(15 5,15 10) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_line_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_line_vertical))) LINESTRING(15 5,15 10) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_top_to_center_1))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top_to_center),ST_GEOMFROMTEXT(@star_top_to_center_1))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=111; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) LINESTRING(15 5,15 10) #==================================================================================== # linestring,multilinestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_horizontal))) MULTILINESTRING((10 15,20 15),(25 0,0 15,15 30,0 5)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_lines_near_vertical))) MULTILINESTRING((10 15,20 15),(0 5,15 25,0 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal))) FROM gis_geometrycollection WHERE fid=110; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_horizontal))) MULTILINESTRING((10 15,20 15),(25 0,0 15,15 30,0 5)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)'),ST_GEOMFROMTEXT('MULTILINESTRING((0 0, 1 1))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)'),ST_GEOMFROMTEXT('MULTILINESTRING((0 0, 1 1))'))) GEOMETRYCOLLECTION EMPTY #==================================================================================== # linestring,polygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 10,11 15))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 10,11 15))'))) GEOMETRYCOLLECTION(POLYGON((11 15,19 10,19 15,11 15)),MULTILINESTRING((10 15,11 15),(19 15,20 15))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_elem_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_elem_horizontal))) POLYGON((25 0,22 10,30 15,0 15,25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 25,11 15))'))) FROM gis_geometrycollection WHERE fid=110; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('POLYGON((11 15,19 15,19 25,11 15))'))) GEOMETRYCOLLECTION(POLYGON((11 15,19 15,19 25,11 15)),MULTILINESTRING((10 15,11 15),(19 15,20 15))) #==================================================================================== # linestring,multipolygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)))'))) GEOMETRYCOLLECTION(POLYGON((11 15,19 15,19 25,11 15)),MULTILINESTRING((10 15,11 15),(19 15,20 15))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),MULTILINESTRING((10 15,11 15),(19 15,20 15))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)),((25 0,0 15,25 10,25 0)))'))) FROM gis_geometrycollection WHERE fid=110; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('MULTIPOLYGON(((11 15,19 15,19 25,11 15)),((25 0,0 15,25 10,25 0)))'))) GEOMETRYCOLLECTION(MULTIPOLYGON(((11 15,19 15,19 25,11 15)),((25 0,25 10,0 15,25 0))),MULTILINESTRING((10 15,11 15),(19 15,20 15))) #==================================================================================== # linestring,geometrycollection #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems_3))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_elems_3))) GEOMETRYCOLLECTION(POLYGON((65 0,75 5,85 0,82 10,90 15,80 15,75 25,70 15,60 15,67 10,65 0)),LINESTRING(10 15,20 15)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=110; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_line_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) LINESTRING(0 0,1 1) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,1 1)'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))) LINESTRING(0 0,1 1) #==================================================================================== # multilinestring,point #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_top))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_top))) LINESTRING(0 5,15 25,0 25) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_center))) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(15 10)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) LINESTRING(0 5,15 25,0 25) #==================================================================================== # multilinestring,multipoint #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_bottom_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_bottom_points))) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(5 0),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_all_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_all_points))) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(5 0),POINT(15 10),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(5 0),POINT(25 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=114 and fid2=108; ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) GEOMETRYCOLLECTION(MULTILINESTRING((0 5,15 25,0 25)),POINT(5 0),POINT(25 0)) #==================================================================================== # multilinestring,linestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_vertical))) MULTILINESTRING((15 5,15 25),(0 5,15 25,0 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_line_horizontal))) MULTILINESTRING((10 15,20 15),(0 5,15 25,0 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) MULTILINESTRING((15 5,15 25),(0 5,15 25,0 25)) #==================================================================================== # multilinestring,multilinestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))'))) MULTILINESTRING((15 25,0 25),(15 25,0 15)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal))) MULTILINESTRING((0 5,15 25,0 25),(25 0,0 15,15 30,0 5)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))'))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT('MULTILINESTRING((0 5,15 25,0 15))'))) MULTILINESTRING((15 25,0 25),(15 25,0 15)) #==================================================================================== # multilinestring,multilinestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) MULTILINESTRING((15 5,15 25),(0 5,15 25,0 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,15 25,5 0)),LINESTRING(0 5,15 25,0 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_elem_horizontal))) GEOMETRYCOLLECTION(POLYGON((25 0,22 10,30 15,0 15,25 0)),MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,15 25,5 0)),LINESTRING(0 5,15 25,0 25)) #==================================================================================== # multilinestring,multipolygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_elem_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,15 25,5 0)),MULTILINESTRING((0 25,10.714285714285715 14.285714285714286),(25 0,25 30))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))) #==================================================================================== # multilinestring,geometrycollection #==================================================================================== # Invalid geometry in input. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 25,25 0,25 30))'),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 25,10 15),(25 0,25 11.875),(25 15,25 30))) # Invalid geometry in input. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_vertical),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))) # Invalid geometry in input. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=114; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_lines_near_horizontal),ST_GEOMFROMTEXT(@star_collection_multilinestr))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,1 1),(2 2,3 3))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,1 1),(2 2,3 3))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) MULTILINESTRING((0 0,1 1),(2 2,3 3)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,1 1,2 2))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(' 'GEOMETRYCOLLECTION(),GEOMETRYCOLLECTION())'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,1 1,2 2))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(' 'GEOMETRYCOLLECTION(),GEOMETRYCOLLEC LINESTRING(0 0,1 1,2 2) #==================================================================================== # polygon,point #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_center))) POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('POINT(0 0)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('POINT(0 0)'))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,15 25,5 0)),POINT(0 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_center))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_center))) POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)) #==================================================================================== # polygon,multipoint #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points))) POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('MULTIPOINT(0 0,30 25)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT('MULTIPOINT(0 0,30 25)'))) GEOMETRYCOLLECTION(POLYGON((5 0,15 25,25 0,15 5,5 0)),POINT(0 0),POINT(30 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_all_points))) POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_all_points))) POLYGON((5 0,7 10,0 15,10 15,15 25,20 15,30 15,22 10,25 0,15 5,5 0)) #==================================================================================== # polygon,linestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_line_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_line_vertical))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_line_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_line_horizontal))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,15 25,5 0)),MULTILINESTRING((10 15,11 15),(19 15,20 15))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_line_vertical))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=100 and fid2=111; ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) #==================================================================================== # polygon,multilinestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_lines_near_horizontal))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,15 25,5 0)),LINESTRING(8.870967741935484 9.67741935483871,0 15,15 30,0 5)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))) #==================================================================================== # polygon,polygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_elem_vertical))) MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_3),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_3),ST_GEOMFROMTEXT(@star_elem_vertical))) MULTIPOLYGON(((65 0,75 5,85 0,82 10,90 15,80 15,75 25,70 15,60 15,67 10,65 0)),((5 0,15 5,25 0,15 25,5 0))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star))) MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25))) #==================================================================================== # polygon,multipolygon #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems_3))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_of_elems_3))) MULTIPOLYGON(((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),((65 0,75 5,85 0,75 25,65 0)),((85 0,82 10,90 15,60 15,85 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION EMPTY #==================================================================================== # polygon,geometrycollection #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems_3))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems_3))) MULTIPOLYGON(((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),((65 0,75 5,85 0,82 10,90 15,80 15,75 25,70 15,60 15,67 10,65 0))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,2 2,3 0,0 0))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,2 2,3 0,0 0))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) POLYGON((0 0,2 2,3 0,0 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,0 5,5 5,5 0,0 0),(2 2,2 3,3 3,3 2,2 2))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(' 'GEOMETRYCOLLECTION())'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,0 5,5 5,5 0,0 0),(2 2,2 3,3 3,3 2,2 2))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(' POLYGON((0 0,0 5,5 5,5 0,0 0),(2 2,2 3,3 3,3 2,2 2)) #==================================================================================== # multipolygon,point #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top))) MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POINT(30 30)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POINT(30 30)'))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),POINT(30 30)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection WHERE fid=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))) #==================================================================================== # multipolygon,multipoint #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_bottom_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_bottom_points))) MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)'))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))),POINT(0 35),POINT(30 30)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) MULTIPOLYGON(((5 0,15 25,25 0,15 5,5 0)),((25 0,0 15,30 15,22 10,25 0))) #==================================================================================== # multipolygon,linestring #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_top_to_center))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),LINESTRING(15 25,15 15)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)'))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),LINESTRING(30 30,0 35)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),LINESTRING(15 25,15 15)) #==================================================================================== # multipolygon,multilinestring #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))'))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),LINESTRING(0 30,30 30,0 35)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0))),MULTILINESTRING((0 5,5.172413793103448 11.89655172413793),(7.5 15,15 25,0 25))) #==================================================================================== # multipolygon,polygon #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))'))) MULTIPOLYGON(((25.333333333333332 12.083333333333334,30 15,23 15,25.333333333333332 12.083333333333334)),((25.333333333333332 12.083333333333334,22 10,25 0,35 0,25.333333333333332 12.083333333333334)),((23 15,15 25,9 15,23 15)),((9 15,0 15,6.617647058823529 11.029411764705882,9 15)),((25 0,15 5,5 0,25 0))) #==================================================================================== # multipolygon,multipolygon #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'))) MULTIPOLYGON(((25 0,22 10,30 15,0 15,25 0)),((5 0,15 5,25 0,15 25,5 0)),((5 0,5 5,0 5,0 0,5 0))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 0,5 5)))'), ST_GEOMFROMTEXT('MULTIPOLYGON(((3 3,3 7,7 7,7 3,3 3)),((9 9,9 15,15 15,15 9,9 9)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 0,5 5)))'), ST_GEOMFROMTEXT('MULTIPOLYGON(((3 3,3 7,7 7,7 3,3 3)),((9 9,9 15,15 15,15 9,9 9)))'))) MULTIPOLYGON(((5 3,3 3,3 5,0 5,0 0,5 0,5 3)),((5 3,7 3,5 5,5 3)),((3 5,5 5,5 7,3 7,3 5)),((9 10,5 10,5 7,7 7,7 3,10 0,10 9,9 9,9 10)),((9 10,10 10,10 9,15 9,15 15,9 15,9 10))) #==================================================================================== # multipolygon,geometrycollectionn #==================================================================================== # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems_3))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems_3))) MULTIPOLYGON(((5 0,15 5,25 0,15 25,5 0)),((25 0,22 10,30 15,0 15,25 0)),((65 0,75 5,85 0,82 10,90 15,80 15,75 25,70 15,60 15,67 10,65 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_multilinestr))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_multilinestr))) MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5)) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,2 2,3 0,0 0)))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,2 2,3 0,0 0)))'),ST_GEOMFROMTEXT('GEOMETRYCOLLECTION()'))) POLYGON((0 0,2 2,3 0,0 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0),(2 2,2 3,3 3,3 2,2 2)),((5 5,5 7,7 7,7 5,5 5)))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0),(2 2,2 3,3 3,3 2,2 2)),((5 5,5 7,7 7,7 5,5 5)))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'))) MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0),(2 2,2 3,3 3,3 2,2 2)),((5 5,5 7,7 7,7 5,5 5))) #==================================================================================== # geometrycollection,point #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POINT(30 30)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POINT(30 30)'))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),POINT(30 30)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection WHERE fid=115; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) #==================================================================================== # geometrycollection,multipoint #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_bottom_points))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_bottom_points))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOINT(30 30,0 35)'))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),POINT(0 35),POINT(30 30)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) FROM gis_geometrycollection WHERE fid=115; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_bottom_points))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) #==================================================================================== # geometrycollection,linestring #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top_to_center))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_top_to_center))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('LINESTRING(30 30,0 35)'))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),LINESTRING(30 30,0 35)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) FROM gis_geometrycollection WHERE fid=115; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_top_to_center))) POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)) #==================================================================================== # geometrycollection,multilinestring #==================================================================================== # Invalid geometry in input. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))) # Invalid geometry in input. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTILINESTRING((0 30,30 30,0 35))'))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),LINESTRING(0 30,30 30,0 35)) # Invalid geometry in input. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) FROM gis_geometrycollection WHERE fid=115; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_lines_near_vertical))) GEOMETRYCOLLECTION(POLYGON((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),MULTILINESTRING((0 5,4.883720930232558 11.511627906976745),(7.5 15,15 25,0 25))) #==================================================================================== # geometrycollection,polygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POLYGON((0 0,0 5,5 5,5 0,0 0))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POLYGON((0 0,0 5,5 5,5 0,0 0))'))) MULTIPOLYGON(((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),((5 0,5 5,0 5,0 0,5 0))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_elem_vertical))) MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('POLYGON((0 0,15 25,35 0,0 0))'))) MULTIPOLYGON(((9 15,0 15,6.3 10.5,9 15)),((9 15,10 15,15 25,9 15)),((6.299999999999999 10.5,0 0,5 0,7 10,6.299999999999999 10.5)),((25.333333333333332 12.083333333333334,30 15,23 15,25.333333333333332 12.083333333333334)),((25.333333333333332 12.083333333333334,22 10,25 0,35 0,25.333333333333332 12.083333333333334)),((23 15,15 25,20 15,23 15)),((5 0,25 0,15 5,5 0))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=115; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(2 2,5 5))'), ST_GEOMFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(2 2,5 5))'), ST_GEOMFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4))'))) GEOMETRYCOLLECTION(POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)),LINESTRING(4 4,5 5)) #==================================================================================== # geometrycollection,multipolygon #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))'))) MULTIPOLYGON(((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),((5 0,5 5,0 5,0 0,5 0))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(2 2,4 4))'), ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(2 2,4 4))'), ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))'))) MULTIPOLYGON(((0 0,5 0,5 5,0 5,0 0)),((5 5,10 5,10 10,5 10,5 5))) #==================================================================================== # geometrycollection,geometrycollectionn #==================================================================================== SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems_3))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems_3))) MULTIPOLYGON(((5 0,15 5,25 0,22 10,30 15,20 15,15 25,10 15,0 15,7 10,5 0)),((65 0,75 5,85 0,82 10,90 15,80 15,75 25,70 15,60 15,67 10,65 0))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=115; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=115 and fid2=215; ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_multilinestr),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_multilinestr),ST_GEOMFROMTEXT(@star_collection_elems))) MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(0 0,2 2),POINT(4 4),POINT(6 6))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(4 4),POINT(6 6))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(0 0,2 2),POINT(4 4),POINT(6 6))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(4 4),POINT(6 6))'))) LINESTRING(0 0,2 2) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTIPOINT(0 0,2 2),POINT(4 4),POINT(6 6))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(4 4),POINT(6 6))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTIPOINT(0 0,2 2),POINT(4 4),POINT(6 6))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(4 4),POINT(6 6))'))) MULTIPOINT((0 0),(2 2)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTILINESTRING((0 0,1 1),(2 2,3 3)),POINT(4 4),POINT(6 6))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(4 4),POINT(6 6))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTILINESTRING((0 0,1 1),(2 2,3 3)),POINT(4 4),POINT(6 6))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(4 4),POINT(6 6))'))) MULTILINESTRING((0 0,1 1),(2 2,3 3)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((6 6,6 10,10 10,10 6,6 6))),' 'POINT(14 14),POINT(16 16))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(14 14),POINT(16 16))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((6 6,6 10,10 10,10 6,6 6))),' 'POINT(14 14),POINT(16 16))'), ST_GEOMFROMTEXT('GEOMETR MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((6 6,6 10,10 10,10 6,6 6))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))) POINT(1 1) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))) POINT(1 1) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1)))'), ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1 1), GEOMETRYCOLLECTION(GEOMETRYCOLLECTION())))'))) GEOMETRYCOLLECTION EMPTY ##################################################################################### # Testing ST_SYMDIFFERENCE() with 2 geometries of same SRID ##################################################################################### SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0))) MULTIPOINT((15 10),(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,4145),ST_GEOMFROMTEXT(@star_center,4145))); ERROR 22S00: st_symdifference(POINT, POINT) has not been implemented for geographic spatial reference systems. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,2000),ST_GEOMFROMTEXT(@star_center,2000))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,2000),ST_GEOMFROMTEXT(@star_center,2000))) MULTIPOINT((15 10),(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,4326),ST_GEOMFROMTEXT(@star_center,4326))); ERROR 22S00: st_symdifference(POINT, POINT) has not been implemented for geographic spatial reference systems. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,4135),ST_GEOMFROMTEXT(@star_center,4135))); ERROR 22S00: st_symdifference(POINT, POINT) has not been implemented for geographic spatial reference systems. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,-1),ST_GEOMFROMTEXT(@star_center,-1))); ERROR 22003: SRID value is out of range in 'st_geomfromtext' SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,-1024),ST_GEOMFROMTEXT(@star_center,-1024))); ERROR 22003: SRID value is out of range in 'st_geomfromtext' SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,4294967295000),ST_GEOMFROMTEXT(@star_center,4294967295000))); ERROR 22003: SRID value is out of range in 'st_geomfromtext' ##################################################################################### # Invalid function calls ##################################################################################### SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top),ST_GEOMFROMTEXT(@star_center,4326))); ERROR HY000: Binary geometry function st_symdifference given two geometries of different srids: 0 and 4326, which should have been identical. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,4145),ST_GEOMFROMTEXT(@star_center,4326))); ERROR HY000: Binary geometry function st_symdifference given two geometries of different srids: 4145 and 4326, which should have been identical. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,0),ST_GEOMFROMTEXT(@star_center,0))) MULTIPOINT((15 10),(15 25)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_top,-1),ST_GEOMFROMTEXT(@star_center,-1))); ERROR 22003: SRID value is out of range in 'st_geomfromtext' SELECT ST_ASTEXT(ST_SYMDIFFERENCE(NULL,ST_GEOMFROMTEXT(@star_top))); ST_ASTEXT(ST_SYMDIFFERENCE(NULL,ST_GEOMFROMTEXT(@star_top))) NULL # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),NULL)); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),NULL)) NULL # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,NULL)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,NULL)) NULL SELECT ST_ASTEXT(ST_SYMDIFFERENCE(NULL,NULL)); ST_ASTEXT(ST_SYMDIFFERENCE(NULL,NULL)) NULL # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(fid,NULL)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103; ST_ASTEXT(ST_SYMDIFFERENCE(fid,NULL)) NULL # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(fid,ST_GEOMFROMTEXT(@star_top))) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103; ERROR 22023: Invalid GIS data provided to function st_symdifference. # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),fid)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103; ERROR 22023: Invalid GIS data provided to function st_symdifference. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(a 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(! 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT('!' 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')))' at line 1 SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POINT(12,34 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(a 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(0 0,! 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING('!' 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')))' at line 1 SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('LINESTRING(12,34 0,10 10)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((a 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((0 0,! 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON(('!' 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '!' 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)')))' at line 1 SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((12,34 0,10 10,10 0,0 0))'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((12,34 0,10 10,10 0,0 0)'),ST_GEOMFROMTEXT('LINESTRING(0 0,10 10)'))); ERROR 22023: Invalid GIS data provided to function st_geomfromtext. SELECT ST_ASTEXT(ST_SYMDIFFERENCE(,)); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',))' at line 1 # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),)); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1 SELECT ST_ASTEXT(ST_SYMDIFFERENCE(,ST_GEOMFROMTEXT(@star_top))); ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',ST_GEOMFROMTEXT(@star_top)))' at line 1 # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_elem_vertical),ST_GEOMFROMTEXT(@star_collection_elems))) MULTIPOLYGON(((15 25,25 0,22 10,30 15,20 15,15 25)),((15 25,10 15,0 15,7 10,5 0,15 25))) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) FROM gis_geometrycollection WHERE fid=100; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION EMPTY SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_multilinestr))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_multilinestr))) MULTILINESTRING((0 15,15 30,6 15),(4.2 12,0 5)) SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star),ST_GEOMFROMTEXT(@star_collection_elems))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) FROM gis_geometrycollection WHERE fid=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_elem_vertical))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_elem_vertical))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_elem_vertical))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_of_elems))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems),ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems), ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_of_elems), ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))'))) MULTIPOLYGON(((9 15,0 15,6.617647058823529 11.029411764705882,9 15)),((9 15,19 15,15 25,9 15)),((25.333333333333332 12.083333333333334,30 15,23 15,25.333333333333332 12.083333333333334)),((25.333333333333332 12.083333333333334,22 10,25 0,35 0,25.333333333333332 12.083333333333334)),((23 15,15 25,19 15,23 15))) # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) FROM gis_geometrycollection WHERE fid=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,ST_GEOMFROMTEXT(@star_of_elems))) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) FROM gis_geometrycollection,gis_geometrycollection_2 WHERE fid=103 and fid2=103; ST_ASTEXT(ST_SYMDIFFERENCE(g,g2)) GEOMETRYCOLLECTION EMPTY # Invalid geometry in input SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems), ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT(@star_collection_elems), ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,15 25,35 0,0 0)),((5 0,15 25,25 0,15 5,5 0)))'))) MULTIPOLYGON(((9 15,0 15,6.3 10.5,9 15)),((9 15,10 15,15 25,9 15)),((6.299999999999999 10.5,0 0,5 0,7 10,6.299999999999999 10.5)),((25.333333333333332 12.083333333333334,30 15,23 15,25.333333333333332 12.083333333333334)),((25.333333333333332 12.083333333333334,22 10,25 0,35 0,25.333333333333332 12.083333333333334)),((23 15,15 25,20 15,23 15)),((5 0,25 0,15 25,5 0))) CREATE TABLE t1 (pk INT PRIMARY KEY, g GEOMETRY NOT NULL); INSERT INTO t1 VALUES (1, ST_GEOMFROMTEXT('POINT(1 1)')); INSERT INTO t1 VALUES (2, ST_GEOMFROMTEXT('LINESTRING(1 1, 2 2)')); INSERT INTO t1 VALUES (3, ST_GEOMFROMTEXT( 'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); INSERT INTO t1 VALUES (4, ST_GEOMFROMTEXT( 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (4 4, 4 6, 6 6, 6 4, 4 4))')); INSERT INTO t1 VALUES (5, ST_GEOMFROMTEXT('MULTIPOINT(1 1, 2 2)')); INSERT INTO t1 VALUES (6, ST_GEOMFROMTEXT('MULTILINESTRING((1 1, 2 2),' '(3 3, 4 4))')); INSERT INTO t1 VALUES (7, ST_GEOMFROMTEXT( 'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)),((5 5, 10 5, 10 10, 5 10, 5 5)))')); INSERT INTO t1 VALUES (8, ST_GEOMFROMTEXT( 'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5 10, 5 5), ' '(6 6, 6 7, 7 7, 7 6, 6 6)))')); INSERT INTO t1 VALUES (9, ST_GEOMFROMTEXT( 'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((1 1, 10 1, 10 10, 1 10, 1 1), ' '(4 4, 4 6, 6 6, 6 4, 4 4)))')); INSERT INTO t1 VALUES (10, ST_GEOMFROMTEXT('GEOMETRYCOLLECTION(POINT(1 1))')); INSERT INTO t1 VALUES (11, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(LINESTRING(1 1, 2 2))')); INSERT INTO t1 VALUES (12, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)))')); INSERT INTO t1 VALUES (13, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), ' '(4 4, 4 6, 6 6, 6 4, 4 4)))')); INSERT INTO t1 VALUES (14, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(MULTIPOINT(1 1, 2 2))')); INSERT INTO t1 VALUES (15, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(MULTILINESTRING((1 1, 2 2), (3 3, 4 4)))')); INSERT INTO t1 VALUES (16, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ' '((5 5, 10 5, 10 10, 5 10, 5 5))))')); INSERT INTO t1 VALUES (17, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ' '((5 5, 10 5, 10 10, 5 10, 5 5), (6 6, 6 7, 7 7, 7 6, 6 6))))')); INSERT INTO t1 VALUES (18, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ' '((1 1, 10 1, 10 10, 1 10, 1 1), (4 4, 4 6, 6 6, 6 4, 4 4))))')); INSERT INTO t1 VALUES (19, ST_GEOMFROMTEXT( 'GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(1 1, 2 2),' 'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)),' 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (4 4, 4 6, 6 6, 6 4, 4 4)),' 'MULTIPOINT(1 1, 2 2),MULTILINESTRING((1 1, 2 2), (3 3, 4 4)),' 'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5 10, 5 5))),' 'MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5 10, 5 5), ' '(6 6, 7 6, 7 7, 6 7, 6 6))))')); INSERT INTO t1 VALUES(20, GEOMETRYCOLLECTION(POINT(1,1),LINESTRING(POINT(1,1),POINT(2,2)), POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),POINT(0,1),POINT(0,0))), POLYGON(LINESTRING(POINT(0,0),POINT(10,0),POINT(10,10),POINT(0,10), POINT(0,0)),LINESTRING(POINT(4,4),POINT(6,4),POINT(6,6),POINT(4,6), POINT(4,4))),MULTIPOINT(POINT(1,1),POINT(2,2)), MULTILINESTRING(LINESTRING(POINT(1,1),POINT(2,2)),LINESTRING(POINT(3,3), POINT(4,4))),MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1), POINT(0,1),POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5), POINT(10,10),POINT(5,10),POINT(5,5)))), MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1),POINT(0,1), POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5),POINT(10,10), POINT(5,10),POINT(5,5)),LINESTRING(POINT(6,6),POINT(6,7),POINT(7,7), POINT(7,6),POINT(6,6)))),GEOMETRYCOLLECTION(POINT(1,1)), GEOMETRYCOLLECTION(LINESTRING(POINT(1,1),POINT(2,2))), GEOMETRYCOLLECTION(POLYGON(LINESTRING(POINT(0,0),POINT(1,0),POINT(1,1), POINT(0,1),POINT(0,0)))),GEOMETRYCOLLECTION(POLYGON(LINESTRING(POINT(0,0), POINT(10,0),POINT(10,10),POINT(0,10),POINT(0,0)),LINESTRING(POINT(4,4), POINT(4,6),POINT(6,6),POINT(6,6),POINT(4,4)))), GEOMETRYCOLLECTION(MULTIPOINT(POINT(1,1),POINT(2,2))), GEOMETRYCOLLECTION(MULTILINESTRING(LINESTRING(POINT(1,1),POINT(2,2)), LINESTRING(POINT(3,3),POINT(4,4)))), GEOMETRYCOLLECTION(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0), POINT(1,1),POINT(0,1),POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5), POINT(10,10),POINT(5,10),POINT(5,5))))), GEOMETRYCOLLECTION(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),POINT(1,0), POINT(1,1),POINT(0,1),POINT(0,0))),POLYGON(LINESTRING(POINT(5,5),POINT(10,5), POINT(10,10),POINT(5,10),POINT(5,5)),LINESTRING(POINT(6,6),POINT(6,7), POINT(7,7),POINT(7,6),POINT(6,6))))))); INSERT INTO t1 VALUES (21, GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT(1,1)), GEOMETRYCOLLECTION(LINESTRING(POINT(1,1),POINT(2,2))), GEOMETRYCOLLECTION(POLYGON(LINESTRING(POINT(1,1), POINT(10,1), POINT(10,10), POINT(1,10), POINT(1,1)), LINESTRING(POINT(4,4),POINT(4,6),POINT(6,6), POINT(6,4),POINT(4,4)))))); SELECT ST_ASTEXT(ST_SYMDIFFERENCE(a.g, b.g)) FROM t1 AS a JOIN t1 AS b ORDER BY a.pk, b.pk; ST_ASTEXT(ST_SYMDIFFERENCE(a.g, b.g)) GEOMETRYCOLLECTION EMPTY LINESTRING(1 1,2 2) POLYGON((0 0,1 0,1 1,0 1,0 0)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POINT(2 2) MULTILINESTRING((1 1,2 2),(3 3,4 4)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) GEOMETRYCOLLECTION EMPTY LINESTRING(1 1,2 2) POLYGON((0 0,1 0,1 1,0 1,0 0)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POINT(2 2) MULTILINESTRING((1 1,2 2),(3 3,4 4)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) LINESTRING(1 1,2 2) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) LINESTRING(1 1,2 2) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,1 0,1 1,0 1,0 0)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION EMPTY POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((5 5,10 5,10 10,5 10,5 5)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,1 0,1 1,0 1,0 0)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION EMPTY POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((5 5,10 5,10 10,5 10,5 5)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(5 5,4 4,4 6,5 6,5 5)) MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) POLYGON((5 6,5 5,6 5,6 6,5 6)) POLYGON((5 6,5 5,4 4,6 4,6 6,5 6)) POLYGON((1 10,0 10,0 0,10 0,10 1,1 1,1 10)) POINT(2 2) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POINT(2 2) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) MULTILINESTRING((1 1,2 2),(3 3,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTILINESTRING((1 1,2 2),(3 3,4 4)) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION EMPTY POLYGON((6 6,7 6,7 7,6 7,6 6)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION EMPTY POLYGON((6 6,7 6,7 7,6 7,6 6)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10)) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10)) MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1)),((6 5,6 6,5 6,5 5,6 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((6 6,7 6,7 7,6 7,6 6)) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((6 6,7 6,7 7,6 7,6 6)) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1)),((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6))) POLYGON((1 1,0 1,0 0,1 0,1 1)) GEOMETRYCOLLECTION EMPTY LINESTRING(1 1,2 2) POLYGON((0 0,1 0,1 1,0 1,0 0)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POINT(2 2) MULTILINESTRING((1 1,2 2),(3 3,4 4)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) GEOMETRYCOLLECTION EMPTY LINESTRING(1 1,2 2) POLYGON((0 0,1 0,1 1,0 1,0 0)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POINT(2 2) MULTILINESTRING((1 1,2 2),(3 3,4 4)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) LINESTRING(1 1,2 2) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) LINESTRING(1 1,2 2) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,1 0,1 1,0 1,0 0)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION EMPTY POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((5 5,10 5,10 10,5 10,5 5)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,1 0,1 1,0 1,0 0)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),LINESTRING(1 1,2 2)) GEOMETRYCOLLECTION EMPTY POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((5 5,10 5,10 10,5 10,5 5)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(5 5,4 4,4 6,5 6,5 5)) MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 1,1 1,1 0,10 0,10 10,0 10,0 1),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) POLYGON((5 6,5 5,6 5,6 6,5 6)) POLYGON((5 6,5 5,4 4,6 4,6 6,5 6)) POLYGON((1 10,0 10,0 0,10 0,10 1,1 1,1 10)) POINT(2 2) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POINT(2 2) LINESTRING(1 1,2 2) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),POINT(2 2)) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) GEOMETRYCOLLECTION EMPTY MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTILINESTRING((1 1,2 2),(3 3,4 4)) LINESTRING(3 3,4 4) GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4)) MULTILINESTRING((1 1,2 2),(3 3,4 4)) GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION EMPTY POLYGON((6 6,7 6,7 7,6 7,6 6)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) GEOMETRYCOLLECTION EMPTY POLYGON((6 6,7 6,7 7,6 7,6 6)) MULTIPOLYGON(((6 5,6 6,5 6,5 5,6 5)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10)) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10)) MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1)),((6 5,6 6,5 6,5 5,6 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((6 6,7 6,7 7,6 7,6 6)) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),LINESTRING(1 1,2 2)) POLYGON((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6)) MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5))) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),POINT(2 2)) GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((5 5,10 5,10 10,5 10,5 5),(6 6,6 7,7 7,7 6,6 6))),MULTILINESTRING((1 1,2 2),(3 3,4 4))) POLYGON((6 6,7 6,7 7,6 7,6 6)) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6)),((6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1,10 1,10 5,6 5))) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((1 1,0 1,0 0,1 0,1 1)),((1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6,5 10,1 10,1 1)),((6 6,5 6,5 5,6 5,6 6)),((6 6,7 6,7 7,6 7,6 6))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((0 1,1 1,1 10,0 10,0 1)),((10 1,1 1,1 0,10 0,10 1))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((6 6,7 6,7 7,6 7,6 6))) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6))) POLYGON((1 1,0 1,0 0,1 0,1 1)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((5 6,5 5,6 5,6 6,5 6)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10)) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((5 6,5 5,6 5,6 6,5 6)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(6 5,6 4,4 4,4 6,5 6,5 5,6 5)) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10)) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,6 5,6 4,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6))) GEOMETRYCOLLECTION EMPTY POLYGON((4 4,6 4,6 5,5 5,4 4)) MULTIPOLYGON(((10 1,1 1,1 10,0 10,0 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(5 5,4 4,4 6,5 6,5 5)) POLYGON((5 6,5 5,4 4,6 4,6 6,5 6)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10)) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6))) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((1 0,10 0,10 5,10 10,0 10,0 1,1 1,1 0),(5 5,4 4,4 6,5 6,5 5)) POLYGON((5 6,5 5,4 4,6 4,6 6,5 6)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((0 10,0 0,10 0,10 5,10 10,0 10),(5 5,4 4,4 6,5 6,5 5)) POLYGON((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10)) MULTIPOLYGON(((6 6,7 6,7 7,6 7,6 6)),((5 10,0 10,0 1,1 1,1 0,10 0,10 5,5 5,4 4,4 6,5 6,5 10))) MULTIPOLYGON(((1 10,0 10,0 1,1 1,1 10)),((10 1,1 1,1 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6))) POLYGON((4 4,6 4,6 5,5 5,4 4)) GEOMETRYCOLLECTION EMPTY MULTIPOLYGON(((10 1,1 1,1 10,0 10,0 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6))) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)),((1 1,0 1,0 0,1 0,1 1))) POLYGON((1 10,0 10,0 0,10 0,10 1,1 1,1 10)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((1 1,0 1,0 0,1 0,1 1))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((1 1,0 1,0 0,1 0,1 1)),((6 6,7 6,7 7,6 7,6 6))) POLYGON((1 1,0 1,0 0,1 0,1 1)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)),((1 1,0 1,0 0,1 0,1 1))) POLYGON((1 10,0 10,0 0,10 0,10 1,1 1,1 10)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) POLYGON((1 1,10 1,10 10,1 10,1 1),(4 4,4 6,6 6,6 4,4 4)) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((1 1,0 1,0 0,1 0,1 1))) MULTIPOLYGON(((5 6,5 10,1 10,1 1,10 1,10 5,6 5,6 4,4 4,4 6,5 6)),((5 6,5 5,6 5,6 6,5 6)),((1 1,0 1,0 0,1 0,1 1)),((6 6,7 6,7 7,6 7,6 6))) POLYGON((1 1,0 1,0 0,1 0,1 1)) MULTIPOLYGON(((10 1,1 1,1 10,0 10,0 0,10 0,10 1)),((5 6,5 5,6 5,6 6,5 6))) MULTIPOLYGON(((10 1,1 1,1 10,0 10,0 0,10 0,10 1)),((5 6,5 5,4 4,6 4,6 6,5 6))) GEOMETRYCOLLECTION EMPTY #clean up DROP TABLE gis_geometrycollection; DROP TABLE gis_geometrycollection_2; DROP TABLE t1; # # Bug #21263152 ST_SYMDIFFERENCE(POLYGON, POLYGON) MAY RETURN AN INVALID # MULTIPOLYGON # SELECT ST_ISVALID( ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'), ST_GEOMFROMTEXT('POLYGON((1 0, 1 1, 2 1, 2 0, 1 0))') ) ) AS valid; valid 1 SELECT ST_ISVALID( ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'), ST_GeomFromText('POLYGON((1 0, 1 1, 0 1, 0 2, 2 2, 2 0, 1 0))') ) ) AS valid; valid 1 SELECT ST_ASTEXT( ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POLYGON((52 18, 66 23, 73 9, 48 6, 52 18), (59 18, 67 18, 67 13, 59 13, 59 18))'), ST_GEOMFROMTEXT('POLYGON((62 48, 84 48, 84 30, 56 30, 56 34, 62 48))') ) ) AS r; r MULTIPOLYGON(((52 18,48 6,73 9,66 23,52 18),(59 18,67 18,67 13,59 13,59 18)),((62 48,56 34,56 30,84 30,84 48,62 48))) # # Bug#21927639 ST_SYMDIFFERENCE(POLYGON, POLYGON) RETURNS INVALID # MULTIPOLYGOM GEOMETRY # SELECT ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((6 7,18 14,-8 1,0 0,18 -8,6 7),(6 0,-4 3,5 3,6 0))'), ST_GEOMFROMTEXT('POLYGON((0 7,-5 6,11 -13,0 7))'))); ST_ASTEXT(ST_SYMDIFFERENCE(ST_GEOMFROMTEXT('POLYGON((6 7,18 14,-8 1,0 0,18 -8,6 7),(6 0,-4 3,5 3,6 0))'), ST_GEOMFROMTEXT('POLYGON((0 7,-5 6,11 -13,0 7))'))) MULTIPOLYGON(((0.08411214953271084 -0.03738317757009302,-1.9577464788732395 2.387323943661972,-4 3,-8 1,0 0,0.08411214953271084 -0.03738317757009302)),((0.08411214953271084 -0.03738317757009302,11 -13,5.095588235294118 -2.264705882352941,0.08411214953271084 -0.03738317757009302)),((-1.9577464788732395 2.387323943661972,3.4251497005988023 0.7724550898203593,2.2 3,-2.473684210526316 3,-1.9577464788732395 2.387323943661972)),((3.4251497005988023 0.772455089820359,5.095588235294118 -2.264705882352941,18 -8,6 7,18 14,0.8627450980392162 5.431372549019606,2.2 3,5 3,6 0,3.4251497005988023 0.772455089820359)),((0.8627450980392157 5.431372549019608,0 7,-5 6,-2.9259259259259256 3.537037037037038,0.8627450980392157 5.431372549019608)),((-2.473684210526316 3,-2.925925925925926 3.537037037037037,-4 3,-2.473684210526316 3))) # # WL#8579 Spatial Reference Systems # # SRID 0 (should pass) SELECT ST_ASTEXT(ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POINT(0 0)', 0), ST_GEOMFROMTEXT('POINT(0 0)', 0) )); ST_ASTEXT(ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POINT(0 0)', 0), ST_GEOMFROMTEXT('POINT(0 0)', 0) )) GEOMETRYCOLLECTION EMPTY # Projected SRS (should pass) SELECT ST_ASTEXT(ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POINT(0 0)', 2000), ST_GEOMFROMTEXT('POINT(0 0)', 2000) )); ST_ASTEXT(ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POINT(0 0)', 2000), ST_GEOMFROMTEXT('POINT(0 0)', 2000) )) GEOMETRYCOLLECTION EMPTY # Geographic SRS (should fail) SELECT ST_ASTEXT(ST_SYMDIFFERENCE( ST_GEOMFROMTEXT('POINT(0 0)', 4326), ST_GEOMFROMTEXT('POINT(0 0)', 4326) )); ERROR 22S00: st_symdifference(POINT, POINT) has not been implemented for geographic spatial reference systems. # # Bug #25510403 SRID OF RESULT OF SET OPERATION IS DIFFERENT FROM INPUT # GEOMETRIES # SELECT ST_SRID(ST_SymDifference( ST_GeomFromText("LINESTRING(1 1, 2 2)", 2000), ST_GeomFromText("MULTIPOLYGON(((0 0, 0 1, 1 1, 0 0)))", 2000) )) AS result; result 2000 SELECT ST_SRID(ST_SymDifference( ST_GeomFromText("MULTIPOLYGON(((0 0, 0 1, 1 1, 0 0)))", 2000), ST_GeomFromText("MULTILINESTRING((1 1, 2 2))", 2000) )) AS result; result 2000 SELECT ST_SRID(ST_SymDifference( ST_GeomFromText("MULTIPOLYGON(((0 0, 0 1, 1 1, 0 0)))", 2000), ST_GeomFromText("LINESTRING(1 1, 2 2)", 2000) )) AS result; result 2000 SELECT ST_SRID(ST_SymDifference( ST_GeomFromText("MULTILINESTRING((1 1, 2 2))", 2000), ST_GeomFromText("MULTIPOLYGON(((0 0, 0 1, 1 1, 0 0)))", 2000) )) AS result; result 2000 # # WL#11096 Don't do Cartesian computations on geographic geometries # # Assume SRID 10 is not defined. DO ST_SYMDIFFERENCE( x'0A000000010100000000000000000000000000000000000000', x'0A000000010100000000000000000000000000000000000000' ); ERROR SR001: There's no spatial reference system with SRID 10.