/** * Writes a multiCurve. * * @param geometry * @param writer * @throws IOException */ public void writeMultiCurve( MultiCurve<Curve> geometry, Writer writer ) throws IOException { writer.append( "MULTILINESTRING " ); if ( flags.contains( WKTFlag.USE_DKT ) ) { appendObjectProps( writer, geometry ); } writer.append( '(' ); for ( int i = 0; i < geometry.size(); i++ ) { writeCurveGeometryWithoutPrefix( geometry.get( i ), writer ); if ( i < geometry.size() - 1 ) { writer.append( ',' ); } } writer.append( ')' ); }
/** * transforms the submitted multi curve to the target coordinate reference system * * @throws TransformationException */ private MultiCurve<Curve> transform( MultiCurve<Curve> geo, Transformation trans ) throws TransformationException { List<Curve> curves = new ArrayList<Curve>( geo.size() ); for ( Curve curve : geo ) { curves.add( transform( curve, trans ) ); } return geomFactory.createMultiCurve( geo.getId(), getTargetCRS(), curves ); }
List<LineString> simplifiedMembers = new ArrayList<LineString>( mc.size() ); for ( Curve member : mc ) { simplifiedMembers.add( simplify( member ) ); simplified = geomFac.createMultiLineString( mc.getId(), mc.getCoordinateSystem(), simplifiedMembers ); break;
multiCurve.setType( type ); multiCurve.setProperties( props );
} else if ( geom instanceof MultiCurve ) { MultiCurve<Curve> mc = (MultiCurve<Curve>) geom; List<Curve> linearizedMembers = new ArrayList<Curve>( mc.size() ); for ( Curve curve : mc ) { linearizedMembers.add( curveLinearizer.linearize( curve, crit ) );