private int analyseQueryable( LayerMetadata m ) { if ( m.getMapOptions() == null ) return QUERYABLE_DEFAULT_MASK; int r = m.getMapOptions().getFeatureInfoRadius(); if ( r < 0 ) return QUERYABLE_DEFAULT_MASK; else if ( r == 0 ) return QUERYABLE_DISABLED_MASK; else return QUERYABLE_ENABLED_MASK; }
private boolean checkIfOpaque( LayerMetadata metadata ) { return metadata != null && metadata.getMapOptions() != null && metadata.getMapOptions().isOpaque(); }
private void adjustMapOptions( LayerMetadata themeMetadata, int queryable, boolean opaque, int cascaded ) { if ( themeMetadata.getMapOptions() == null ) { themeMetadata.setMapOptions( new MapOptions( null, null, null, -1, -1 ) ); } if ( queryable == QUERYABLE_DISABLED_MASK ) { themeMetadata.getMapOptions().setFeatureInfoRadius( 0 ); } else { themeMetadata.getMapOptions().setFeatureInfoRadius( -1 ); } themeMetadata.getMapOptions().setOpaque( opaque ); themeMetadata.setCascaded( cascaded ); }
try { int layerRadius = -1; if ( getMetadata().getMapOptions() != null ) { layerRadius = getMetadata().getMapOptions().getFeatureInfoRadius();
private LayerQuery buildQuery( StyleRef style, LayerRef lr, MapOptionsMaps options, List<MapOptions> mapOptions, OperatorFilter f, org.deegree.protocol.wms.ops.GetMap gm ) { for ( org.deegree.layer.Layer l : Themes.getAllLayers( themeMap.get( lr.getName() ) ) ) { insertMissingOptions( l.getMetadata().getName(), options, l.getMetadata().getMapOptions(), defaultLayerOptions ); mapOptions.add( options.get( l.getMetadata().getName() ) ); } LayerQuery query = new LayerQuery( gm.getBoundingBox(), gm.getWidth(), gm.getHeight(), style, f, gm.getParameterMap(), gm.getDimensions(), gm.getPixelSize(), options, gm.getQueryBox() ); return query; }
@Override public FeatureLayerData infoQuery( final LayerQuery query, List<String> headers ) throws OWSException { OperatorFilter filter = this.filter; filter = Filters.and( filter, dimFilterBuilder.getDimensionFilter( query.getDimensions(), headers ) ); StyleRef ref = query.getStyle(); if ( !ref.isResolved() ) { ref.resolve( getMetadata().getStyles().get( ref.getName() ) ); } Style style = ref.getStyle(); style = style.filter( query.getScale() ); filter = Filters.and( filter, getStyleFilters( style, query.getScale() ) ); filter = Filters.and( filter, query.getFilter() ); int layerRadius = -1; if ( getMetadata().getMapOptions() != null ) { layerRadius = getMetadata().getMapOptions().getFeatureInfoRadius(); } final Envelope clickBox = query.calcClickBox( layerRadius > -1 ? layerRadius : query.getLayerRadius() ); filter = (OperatorFilter) addBBoxConstraint( clickBox, filter, null, false ); QName featureType = this.featureType == null ? style.getFeatureType() : this.featureType; filter = Filters.repair( filter, AppSchemas.collectProperyNames( featureStore.getSchema(), featureType ) ); LOG.debug( "Querying the feature store(s)..." ); QueryBuilder builder = new QueryBuilder( featureStore, filter, featureType, clickBox, query, null, sortByFeatureInfo, getMetadata().getName() ); List<Query> queries = builder.buildInfoQueries(); LOG.debug( "Finished querying the feature store(s)." ); return new FeatureLayerData( queries, featureStore, query.getFeatureCount(), style, featureType ); }
writeOpaque( writer, layerMetadata.getMapOptions() != null && layerMetadata.getMapOptions().isOpaque() );
writeOpaque( writer, layerMetadata.getMapOptions() != null && layerMetadata.getMapOptions().isOpaque() );