private Theme buildAutoTheme( Map<String, LayerStore> stores ) { Description desc = new Description( null, Collections.singletonList( new LanguageString( "root", null ) ), null, null ); LayerMetadata md = new LayerMetadata( null, desc, new SpatialMetadata( null, Collections.<ICRS> emptyList() ) ); List<Theme> themes = new ArrayList<Theme>(); for ( Entry<String, LayerStore> e : stores.entrySet() ) { themes.add( buildAutoTheme( e.getKey(), e.getValue() ) ); } return new StandardTheme( md, themes, new ArrayList<Layer>(), metadata ); }
private Theme buildAutoTheme( String id, LayerStore store ) { Description desc = new Description( id, singletonList( new LanguageString( id, null ) ), null, null ); LayerMetadata md = new LayerMetadata( null, desc, new SpatialMetadata( null, Collections.<ICRS> emptyList() ) ); List<Theme> themes = new ArrayList<Theme>(); for ( Layer l : store.getAll() ) { themes.add( buildAutoTheme( l ) ); } return new StandardTheme( md, themes, new ArrayList<Layer>(), metadata ); }
private Theme buildAutoTheme( Layer layer ) { LayerMetadata md = new LayerMetadata( null, null, null ); LayerMetadata lmd = layer.getMetadata(); md.merge( lmd ); md.setDimensions( new LinkedHashMap<String, Dimension<?>>( lmd.getDimensions() ) ); md.setStyles( new LinkedHashMap<String, Style>( lmd.getStyles() ) ); md.setLegendStyles( new LinkedHashMap<String, Style>( lmd.getLegendStyles() ) ); return new StandardTheme( md, Collections.<Theme> emptyList(), singletonList( layer ), metadata ); }
static LayerMetadata buildMetadataForAutoMode( FeatureStore store, FeatureType ft, String name ) { List<ICRS> crs = new ArrayList<ICRS>(); Envelope envelope = null; try { envelope = store.getEnvelope( ft.getName() ); } catch ( Throwable e ) { LOG.debug( "Could not get envelope from feature store: {}", e.getLocalizedMessage() ); LOG.trace( "Stack trace:", e ); } if ( envelope != null ) { crs.add( envelope.getCoordinateSystem() ); } SpatialMetadata smd = new SpatialMetadata( envelope, crs ); Description desc = new Description( name, Collections.singletonList( new LanguageString( name, null ) ), null, null ); LayerMetadata md = new LayerMetadata( name, desc, smd ); md.getFeatureTypes().add( ft ); return md; }
final Identifier identifier = current.getIdentifier(); final String name = identifier != null ? identifier.getValue() : null; final LayerMetadata md = new LayerMetadata( name, desc, smd ); if ( identifier != null && !identifier.isRequestable() ) { md.setRequestable( false );
LayerStore createFromAutoLayers( AutoLayers cfg ) { String cid = cfg.getCoverageStoreId(); String sid = cfg.getStyleStoreId(); Coverage cov = workspace.getResource( CoverageProvider.class, cid ); StyleStore sstore = null; if ( sid != null ) { sstore = workspace.getResource( StyleStoreProvider.class, sid ); } SpatialMetadata smd = new SpatialMetadata( cov.getEnvelope(), Collections.singletonList( cov.getCoordinateSystem() ) ); Description desc = new Description( cid, Collections.singletonList( new LanguageString( cid, null ) ), null, null ); LayerMetadata md = new LayerMetadata( cid, desc, smd ); md.getFeatureTypes().add( buildFeatureType() ); if ( sstore != null ) { for ( Style s : sstore.getAll( cid ) ) { md.getStyles().put( s.getName(), s ); } } Layer l = new CoverageLayer( md, cov instanceof AbstractRaster ? (AbstractRaster) cov : null, cov instanceof MultiResolutionRaster ? (MultiResolutionRaster) cov : null ); return new SingleLayerStore( l, metadata ); }
private Map<String, LayerMetadata> collectConfiguredLayers() { Map<String, LayerMetadata> configured = new HashMap<String, LayerMetadata>(); if ( cfg.getLayer() != null ) { for ( LayerType l : cfg.getLayer() ) { if ( !client.hasLayer( l.getOriginalName() ) ) { LOG.warn( "Layer {} is not offered by the remote WMS.", l.getOriginalName() ); continue; } String name = l.getName(); SpatialMetadata smd = SpatialMetadataConverter.fromJaxb( l.getEnvelope(), l.getCRS() ); Description desc = null; if ( l.getDescription() != null ) { desc = DescriptionConverter.fromJaxb( l.getDescription().getTitle(), l.getDescription().getAbstract(), l.getDescription().getKeywords() ); } LayerMetadata md = new LayerMetadata( name, desc, smd ); md.setMapOptions( ConfigUtils.parseLayerOptions( l.getLayerOptions() ) ); configured.put( l.getOriginalName(), md ); } } return configured; }
LayerMetadata md = new LayerMetadata( ids, authorities, name, desc, smd );
LayerMetadata md = new LayerMetadata( cfg.getName(), desc, smd ); md.setMapOptions( ConfigUtils.parseLayerOptions( cfg.getLayerOptions() ) ); ScaleDenominatorsType sd = cfg.getScaleDenominators();
static LayerMetadata buildLayerMetadata( CoverageLayerType lay, Coverage cov ) { SpatialMetadata smd = fromJaxb( lay.getEnvelope(), lay.getCRS() ); Description desc = fromJaxb( lay.getTitle(), lay.getAbstract(), lay.getKeywords() ); LayerMetadata md = new LayerMetadata( lay.getName(), desc, smd ); md.setDimensions( parseDimensions( md.getName(), lay.getDimension() ) ); md.setMapOptions( ConfigUtils.parseLayerOptions( lay.getLayerOptions() ) ); md.setMetadataId( lay.getMetadataSetId() ); md.getFeatureTypes().add( buildFeatureType() ); if ( smd.getEnvelope() == null ) { smd.setEnvelope( cov.getEnvelope() ); } if ( smd.getCoordinateSystems() == null || smd.getCoordinateSystems().isEmpty() ) { List<ICRS> crs = new ArrayList<ICRS>(); crs.add( smd.getEnvelope().getCoordinateSystem() ); smd.setCoordinateSystems( crs ); } ScaleDenominatorsType denoms = lay.getScaleDenominators(); if ( denoms != null ) { md.setScaleDenominators( new DoublePair( denoms.getMin(), denoms.getMax() ) ); } return md; }
SpatialMetadata smd = fromJaxb( lay.getEnvelope(), lay.getCRS() ); Description desc = fromJaxb( lay.getTitle(), lay.getAbstract(), lay.getKeywords() ); LayerMetadata md = new LayerMetadata( lay.getName(), desc, smd ); md.setMapOptions( parseLayerOptions( lay.getLayerOptions() ) ); md.setDimensions( parseDimensions( md.getName(), lay.getDimension() ) );
private LayerMetadata buildLayerMetadata( GDALLayerType lay, List<File> datasets ) { SpatialMetadata smd = fromJaxb( lay.getEnvelope(), lay.getCRS() ); Description desc = fromJaxb( lay.getTitle(), lay.getAbstract(), lay.getKeywords() ); LayerMetadata md = new LayerMetadata( lay.getName(), desc, smd ); md.setDimensions( parseDimensions( md.getName(), lay.getDimension() ) ); md.setMapOptions( ConfigUtils.parseLayerOptions( lay.getLayerOptions() ) );
/** * Returns the combined layer metadata for the given theme/sublayers. * * @see LayerMetadata#merge(LayerMetadata) * * @param theme * must not be <code>null</code> * @return combined layer metadata, never <code>null</code> */ LayerMetadata merge( final Theme theme ) { final LayerMetadata themeMetadata = theme.getLayerMetadata(); LayerMetadata layerMetadata = new LayerMetadata( null, null, null ); int queryable = 0; boolean opaque = false; int cascaded = 0; for ( final Layer l : Themes.getAllLayers( theme ) ) { queryable |= analyseQueryable( l.getMetadata() ); if ( checkIfOpaque( l.getMetadata() ) ) opaque = true; if ( checkIfLargerCascadedValue( cascaded, l.getMetadata() ) ) cascaded = l.getMetadata().getCascaded(); layerMetadata.merge( l.getMetadata() ); } themeMetadata.merge( layerMetadata ); adjustMapOptions( themeMetadata, queryable, opaque, cascaded ); return themeMetadata; }