initial polygon (wkt): POLYGON((0 0,0 10,10 10,10 0,0 0)) initial polygon (dsv): (((0, 0), (0, 10), (10, 10), (10, 0), (0, 0))) first point: POINT(0 0) new first point: POINT(1 1) modified polygon(wkt): POLYGON((1 1,0 10,10 10,10 0,0 0,1 1)) modified polygon(dsv): (((1, 1), (0, 10), (10, 10), (10, 0), (0, 0))) copy of modified via WKT (wkt): POLYGON((1 1,0 10,10 10,10 0,0 0,1 1)) copy of modified via WKT (dsv): (((1, 1), (0, 10), (10, 10), (10, 0), (0, 0), (1, 1))) trying to correct the invalid polygon corrected polygon (wkt): POLYGON((1 1,0 10,10 10,10 0,0 0,1 1)) corrected polygon (dsv): (((1, 1), (0, 10), (10, 10), (10, 0), (0, 0), (1, 1)))