/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2004-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.geometry.iso.operations;
import org.geotools.geometry.iso.coordinate.PolygonImpl;
import org.geotools.geometry.iso.io.wkt.ParseException;
import org.geotools.geometry.iso.io.wkt.WKTReader;
import org.geotools.geometry.iso.primitive.SurfaceImpl;
import org.geotools.geometry.iso.root.GeometryImpl;
import org.geotools.referencing.crs.DefaultGeographicCRS;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import junit.framework.TestCase;
public class UnionPolygonTest extends TestCase {
private SurfaceImpl createPolygonFromWKT(CoordinateReferenceSystem crs, String aWKTpolygon) {
SurfaceImpl surface = null;
WKTReader wktReader = new WKTReader(crs);
try {
surface = (SurfaceImpl) wktReader.read(aWKTpolygon);
} catch (ParseException e) {
e.printStackTrace();
}
return surface;
}
private GeometryImpl _testUnion(GeometryImpl g1, GeometryImpl g2) {
return (GeometryImpl) g1.union(g2);
}
public void testMain() {
CoordinateReferenceSystem crs = DefaultGeographicCRS.WGS84;
String wktPoly1 = "POLYGON((0 0, 110 0, 110 60, 40 60, 180 140, 40 220, 110 260, 0 260, 0 0))";
String wktPoly2 = "POLYGON((220 0, 110 0, 110 60, 180 60, 40 140, 180 220, 110 260, 220 260, 220 0))";
String wktExpectedResult = "POLYGON((110 0, 0 0, 0 260, 110 260, 220 260, 220 0, 110 0), (110 260, 40 220, 110 180, 180 220, 110 260), (110 100, 40 60, 110 60, 180 60, 110 100))";
SurfaceImpl poly1 = this.createPolygonFromWKT(crs, wktPoly1);
SurfaceImpl poly2 = this.createPolygonFromWKT(crs, wktPoly2);
SurfaceImpl expectedResult = this.createPolygonFromWKT(crs, wktExpectedResult);
//GeometryImpl result = this._testUnion(poly1, poly2);
//assertEquals(result, expectedResult);
}
}