geom = new DefaultLinearRing( null, crs, pm, getAsPoints( jtsLinearRing.getCoordinateSequence(), crs ) ); } else if ( jtsGeom instanceof com.vividsolutions.jts.geom.LineString ) { com.vividsolutions.jts.geom.LineString jtsLineString = (com.vividsolutions.jts.geom.LineString) jtsGeom; geom = new DefaultLineString( null, crs, pm, getAsPoints( jtsLineString.getCoordinateSequence(), crs ) ); } else if ( jtsGeom instanceof com.vividsolutions.jts.geom.Polygon ) { com.vividsolutions.jts.geom.Polygon jtsPolygon = (com.vividsolutions.jts.geom.Polygon) jtsGeom; Points exteriorPoints = getAsPoints( jtsPolygon.getExteriorRing().getCoordinateSequence(), crs ); LinearRing exteriorRing = new DefaultLinearRing( null, crs, pm, exteriorPoints ); List<Ring> interiorRings = new ArrayList<Ring>( jtsPolygon.getNumInteriorRing() ); for ( int i = 0; i < jtsPolygon.getNumInteriorRing(); i++ ) { Points interiorPoints = getAsPoints( jtsPolygon.getInteriorRingN( i ).getCoordinateSequence(), crs ); interiorRings.add( new DefaultLinearRing( null, crs, pm, interiorPoints ) );