private Geometry readPolyline( ByteBuffer buffer, boolean z, boolean m, int length ) { Points[] ps = readLines( buffer, m, z, length ); List<LineString> cs = new ArrayList<LineString>( ps.length ); for ( int i = 0; i < ps.length; ++i ) { cs.add( fac.createLineString( null, crs, ps[i] ) ); } return fac.createMultiLineString( null, crs, cs ); }
private MultiLineString transform( MultiLineString geo, Transformation trans ) throws TransformationException { List<LineString> lines = new ArrayList<LineString>( geo.size() ); for ( LineString line : geo ) { lines.add( transform( line, trans ) ); } return geomFactory.createMultiLineString( geo.getId(), getTargetCRS(), lines ); }
/** * @param xmlStream * @param defaultCRS * @return * @throws XMLStreamException */ public MultiLineString parseMultiLineString( XMLStreamReaderWrapper xmlStream, ICRS defaultCRS ) throws XMLStreamException { String gid = parseGeometryId( xmlStream ); ICRS crs = determineActiveCRS( xmlStream, defaultCRS ); xmlStream.nextTag(); List<LineString> members = new LinkedList<LineString>(); if ( xmlStream.isStartElement() ) { do { String localName = xmlStream.getLocalName(); if ( localName.equals( "lineStringMember" ) ) { members.add( parseLineStringProperty( xmlStream, crs ) ); xmlStream.require( END_ELEMENT, GML21NS, "lineStringMember" ); } else { String msg = "Invalid 'gml:MultiLineString' element: unexpected element '" + localName + "'. Expected 'lineStringMember'."; throw new XMLParsingException( xmlStream, msg ); } } while ( xmlStream.nextTag() == START_ELEMENT ); } xmlStream.require( END_ELEMENT, GML21NS, "MultiLineString" ); MultiLineString multiLineString = geomFac.createMultiLineString( gid, crs, members ); idContext.addObject( multiLineString ); return multiLineString; }
simplifiedMembers.add( simplify( member ) ); simplified = geomFac.createMultiLineString( mc.getId(), mc.getCoordinateSystem(), simplifiedMembers ); break;
MultiLineString multiLineString = geomFac.createMultiLineString( gid, crs, members ); multiLineString.setType( type );
homogenized = new GeometryFactory().createMultiLineString( geometry.getId(), geometry.getCoordinateSystem(), (List<LineString>) deepMembers );