/** * Writes the POLYGON * * @param geometry * @param writer * @throws IOException */ public void writePolygon( Polygon geometry, Writer writer ) throws IOException { writer.append( "POLYGON " ); if ( flags.contains( WKTFlag.USE_DKT ) ) { appendObjectProps( writer, geometry ); } writePolygonWithoutPrefix( geometry, writer ); }
/** * Writes the multiPolygon. * * @param geometry * @param writer * @throws IOException */ public void writeMultiPolygon( MultiPolygon geometry, Writer writer ) throws IOException { writer.append( "MULTIPOLYGON " ); if ( flags.contains( WKTFlag.USE_DKT ) ) { appendObjectProps( writer, geometry ); } writer.append( '(' ); for ( int i = 0; i < geometry.size(); i++ ) { writePolygonWithoutPrefix( geometry.get( i ), writer ); if ( i < geometry.size() - 1 ) { writer.append( ',' ); } } writer.append( ')' ); }
/** * Writes a multiSurface. * * @param geometry * @param writer * @throws IOException */ public void writeMultiSurface( MultiSurface<Surface> geometry, Writer writer ) throws IOException { writer.append( "MULTIPOLYGON " ); if ( flags.contains( WKTFlag.USE_DKT ) ) { appendObjectProps( writer, geometry ); } writer.append( '(' ); for ( int i = 0; i < geometry.size(); i++ ) { writePolygonWithoutPrefix( geometry.get( i ), writer ); if ( i < geometry.size() - 1 ) { writer.append( ',' ); } } writer.append( ')' ); }
private void writePolygonPatch( String id, ICRS crs, PrecisionModel pm, PolygonPatch polyPatch, Writer writer ) throws IOException { PolygonPatchType type = polyPatch.getPolygonPatchType(); Polygon poly = null; switch ( type ) { case POLYGON_PATCH: case RECTANGLE: case TRIANGLE: poly = new DefaultPolygon( id, crs, pm, polyPatch.getExteriorRing(), polyPatch.getInteriorRings() ); break; } writePolygonWithoutPrefix( poly, writer ); }