private void exportOrientableSurface( OrientableSurface orientableSurface ) throws XMLStreamException, UnknownCRSException, TransformationException { startGeometry( "OrientableSurface", orientableSurface ); Surface baseSurface = orientableSurface.getBaseSurface(); if ( baseSurface.getId() != null && referenceExportStrategy.isObjectExported( baseSurface.getId() ) ) { writer.writeEmptyElement( gmlNs, "baseSurface" ); writer.writeAttribute( XLNNS, "href", "#" + baseSurface.getId() ); } else { referenceExportStrategy.addExportedId( baseSurface.getId() ); writer.writeStartElement( gmlNs, "baseSurface" ); exportSurface( orientableSurface.getBaseSurface() ); writer.writeEndElement(); } writer.writeEndElement(); }
/** * @param multiSurface * @throws XMLStreamException * @throws UnknownCRSException * @throws TransformationException */ public void exportMultiPolygon( MultiSurface<Surface> multiSurface ) throws XMLStreamException, TransformationException, UnknownCRSException { startGeometry( "MultiPolygon", multiSurface ); for ( Surface polygon : multiSurface ) { if ( polygon.getId() != null && referenceExportStrategy.isObjectExported( polygon.getId() ) ) { writer.writeEmptyElement( "gml", "polygonMember", GML21NS ); writer.writeAttribute( "xlink", XLNNS, "href", "#" + polygon.getId() ); } else { writer.writeStartElement( "gml", "polygonMember", GML21NS ); exportSurface( polygon ); writer.writeEndElement(); } } writer.writeEndElement(); // </gml:MultiPolygon> }
case POLYGON_PATCH: counter++; writePolygonPatch( geometry.getId(), geometry.getCoordinateSystem(), geometry.getPrecision(), (PolygonPatch) p, writer ); break;
Ring exteriorRing = patch.getExteriorRing(); List<Ring> interiorRings = patch.getInteriorRings(); simplified = geomFac.createPolygon( geometry.getId(), geometry.getCoordinateSystem(), exteriorRing, interiorRings ); } else { interiorRings ) ); simplified = geomFac.createMultiPolygon( geometry.getId(), geometry.getCoordinateSystem(), members );
for ( Surface surface : multiSurface ) { writer.writeStartElement( gmlNs, "surfaceMember" ); if ( surface.getId() != null && referenceExportStrategy.isObjectExported( surface.getId() ) ) { writer.writeAttribute( XLNNS, "href", "#" + surface.getId() ); } else if ( surface instanceof CompositeSurface ) { exportCompositeSurface( (CompositeSurface) surface ); for ( Surface surface : multiSurface ) { writer.writeStartElement( gmlNs, "surfaceMember" ); if ( surface.getId() != null && referenceExportStrategy.isObjectExported( surface.getId() ) ) { writer.writeAttribute( XLNNS, "href", "#" + surface.getId() ); } else if ( surface instanceof CompositeSurface ) { exportCompositeSurface( (CompositeSurface) surface );
Surface result = null; SurfaceType surfaceType = surface.getSurfaceType(); String id = surface.getId(); ICRS nCRS = getTargetCRS(); switch ( surfaceType ) {