@Override public ProductNode getProductNode() { return getRaster(); }
private Layer createBaseImageLayer() { final Layer layer; if (getRasters().length == 1) { final RasterImageLayerType type = LayerTypeRegistry.getLayerType(RasterImageLayerType.class); layer = type.createLayer(getRaster(), coloredBandImageMultiLevelSource); } else { final RgbImageLayerType type = LayerTypeRegistry.getLayerType(RgbImageLayerType.class); layer = type.createLayer(getRasters(), coloredBandImageMultiLevelSource); } layer.setName(getName()); layer.setVisible(true); layer.setId(ProductSceneView.BASE_IMAGE_LAYER_ID); applyBaseImageLayerStyle(configuration, layer); return layer; }
@Override public Product getProduct() { return getRaster().getProduct(); }
private boolean mustEnableMaskCollectionLayer() { return getRaster().getOverlayMaskGroup().getNodeCount() > 0; }
private boolean mustEnableVectorDataCollectionLayer() { return getRaster().getProduct().getVectorDataGroup().getNodeCount() > 0; }
private synchronized Layer createMaskCollectionLayer() { final LayerType maskCollectionType = LayerTypeRegistry.getLayerType(MaskCollectionLayerType.class); final PropertySet layerConfig = maskCollectionType.createLayerConfig(null); layerConfig.setValue(MaskCollectionLayerType.PROPERTY_NAME_RASTER, getRaster()); final Layer maskCollectionLayer = maskCollectionType.createLayer(this, layerConfig); ProductNodeGroup<Mask> productNodeGroup = getRaster().getProduct().getMaskGroup(); final RasterDataNode raster = getRaster(); for (int i = 0; i < productNodeGroup.getNodeCount(); i++) { final Mask mask = productNodeGroup.get(i); //todo add all mask layers as soon as the masks have been scaled to fit the raster if (raster.getRasterSize().equals(mask.getRasterSize())) { Layer layer = MaskLayerType.createLayer(raster, mask); maskCollectionLayer.getChildren().add(layer); } } return maskCollectionLayer; }
private synchronized Layer createVectorDataCollectionLayer() { final LayerType collectionLayerType = LayerTypeRegistry.getLayerType(VectorDataCollectionLayerType.class); final Layer collectionLayer = collectionLayerType.createLayer(this, collectionLayerType.createLayerConfig(this)); final ProductNodeGroup<VectorDataNode> vectorDataGroup = getRaster().getProduct().getVectorDataGroup(); final VectorDataNode[] vectorDataNodes = vectorDataGroup.toArray(new VectorDataNode[vectorDataGroup.getNodeCount()]); for (final VectorDataNode vectorDataNode : vectorDataNodes) { final Layer layer = VectorDataLayerType.createLayer(this, vectorDataNode); collectionLayer.getChildren().add(layer); } return collectionLayer; }
private Layer createNoDataLayer() { final LayerType noDataType = LayerTypeRegistry.getLayerType(NoDataLayerType.class); final PropertySet configTemplate = noDataType.createLayerConfig(null); final Color color = configuration.getPropertyColor("noDataOverlay.color", Color.ORANGE); configTemplate.setValue(NoDataLayerType.PROPERTY_NAME_COLOR, color); configTemplate.setValue(NoDataLayerType.PROPERTY_NAME_RASTER, getRaster()); final Layer layer = noDataType.createLayer(this, configTemplate); final double transparency = configuration.getPropertyDouble("noDataOverlay.transparency", 0.3); layer.setTransparency(transparency); return layer; }
private GraticuleLayer createGraticuleLayer(AffineTransform i2mTransform) { final LayerType layerType = LayerTypeRegistry.getLayerType(GraticuleLayerType.class); final PropertySet template = layerType.createLayerConfig(null); template.setValue(GraticuleLayerType.PROPERTY_NAME_RASTER, getRaster()); final GraticuleLayer graticuleLayer = (GraticuleLayer) layerType.createLayer(null, template); graticuleLayer.setId(ProductSceneView.GRATICULE_LAYER_ID); graticuleLayer.setVisible(false); graticuleLayer.setName("Graticule"); applyGraticuleLayerStyle(configuration, graticuleLayer); return graticuleLayer; }