@Override public Ring getExteriorRing() { return getReferencedObject().getExteriorRing(); }
private Polygon transform( Polygon polygon, Transformation trans ) throws TransformationException { Ring exterior = polygon.getExteriorRing(); LinearRing tExteriorRing = transform( exterior, trans ); List<Ring> interiorRings = polygon.getInteriorRings(); List<Ring> tInteriorRings = new ArrayList<Ring>( interiorRings == null ? 0 : interiorRings.size() ); if ( interiorRings != null && !interiorRings.isEmpty() ) { for ( Ring interior : interiorRings ) { if ( interior != null ) { tInteriorRings.add( transform( interior, trans ) ); } } } return geomFactory.createPolygon( polygon.getId(), getTargetCRS(), tExteriorRing, tInteriorRings ); }
private static Geometry fixOrientation( Polygon geom, ICRS defaultCrs ) { ICRS crs = geom.getCoordinateSystem(); if ( crs == null ) { crs = defaultCrs; } Ring exteriorRing = fixOrientation( geom.getExteriorRing(), false ); List<Ring> interiorRings = fixInteriorOrientation( geom.getInteriorRings(), crs ); return new DefaultPolygon( null, crs, null, exteriorRing, interiorRings ); }
Ring outerRing = polygon.getExteriorRing(); if ( outerRing.getId() != null && referenceExportStrategy.isObjectExported( outerRing.getId() ) ) { writer.writeEmptyElement( "gml", "outerBoundaryIs", GML21NS );
private void exportPolygon( Polygon polygon ) throws XMLStreamException, UnknownCRSException, TransformationException { startGeometry( "Polygon", polygon ); Ring exteriorRing = polygon.getExteriorRing(); if ( exteriorRing.getId() != null && referenceExportStrategy.isObjectExported( exteriorRing.getId() ) ) { writer.writeEmptyElement( gmlNs, "exterior" ); writer.writeAttribute( XLNNS, "href", "#" + exteriorRing.getId() ); } else { referenceExportStrategy.addExportedId( exteriorRing.getId() ); writer.writeStartElement( gmlNs, "exterior" ); exportRing( exteriorRing ); writer.writeEndElement(); } if ( polygon.getInteriorRings() != null ) { for ( Ring ring : polygon.getInteriorRings() ) { if ( ring.getId() != null && referenceExportStrategy.isObjectExported( ring.getId() ) ) { writer.writeEmptyElement( gmlNs, "interior" ); writer.writeAttribute( XLNNS, "href", "#" + ring.getId() ); } else { referenceExportStrategy.addExportedId( ring.getId() ); writer.writeStartElement( gmlNs, "interior" ); exportRing( ring ); writer.writeEndElement(); } } } exportAdditionalProps( polygon ); writer.writeEndElement(); }
case Polygon: { Polygon polygon = (Polygon) surface; Ring exteriorRing = polygon.getExteriorRing(); Ring linearizedExteriorRing = (Ring) curveLinearizer.linearize( exteriorRing, crit ); List<Ring> interiorRings = polygon.getInteriorRings();
case Polygon: Polygon p = (Polygon) s; if ( p.getExteriorRing() != null ) { traverse( p.getExteriorRing() );
GeometryFactory geomFac = new GeometryFactory(); List<SurfacePatch> patches = new ArrayList<SurfacePatch>(); patches.add( geomFac.createPolygonPatch( p.getExteriorRing(), p.getInteriorRings() ) ); geom = geomFac.createSurface( geom.getId(), patches, geom.getCoordinateSystem() ); } else if ( hierarchy.getCurveSubstitutions().contains( particle.getName() ) && geom instanceof LineString ) {