/** * Reads the world map image from disk if not yet loaded, otherwise * it is just returning the image. * <p> * If the world map image cannot be read an image with an error message is returned. * * @param highRes specifies if the high-resolution image shall be returned, * * @return the world map image */ public static BufferedImage getWorldMapImage(boolean highRes) { if (worldMapImage == null || isHighRes() != highRes) { setHighRes(highRes); LayerType layerType = LayerTypeRegistry.getLayerType("org.esa.snap.worldmap.BlueMarbleLayerType"); if (layerType == null) { worldMapImage = createErrorImage(); } else { final CollectionLayer rootLayer = new CollectionLayer(); Layer worldMapLayer = layerType.createLayer(new WorldMapLayerContext(rootLayer), new PropertyContainer()); Dimension dimension = highRes ? HI_RES_DIMENSION : LOW_RES_DIMENSION; final BufferedImageRendering biRendering = new BufferedImageRendering(dimension.width, dimension.height); biRendering.getViewport().setModelYAxisDown(false); biRendering.getViewport().zoom(worldMapLayer.getModelBounds()); worldMapLayer.render(biRendering); worldMapImage = biRendering.getImage(); } } return worldMapImage; }
/** * Reads the world map image from disk if not yet loaded, otherwise * it is just returning the image. * <p/> * If the world map image cannot be read an image with an error message is returned. * * @param highRes specifies if the high-resolution image shall be returned, * * @return the world map image */ public static BufferedImage getWorldMapImage(boolean highRes) { if (worldMapImage == null || isHighRes() != highRes) { setHighRes(highRes); LayerType layerType = LayerTypeRegistry.getLayerType("org.esa.beam.worldmap.BlueMarbleLayerType"); if (layerType == null) { worldMapImage = createErrorImage(); } else { final CollectionLayer rootLayer = new CollectionLayer(); Layer worldMapLayer = layerType.createLayer(new WorldMapLayerContext(rootLayer), new PropertyContainer()); Dimension dimension = highRes ? HI_RES_DIMENSION : LOW_RES_DIMENSION; final BufferedImageRendering biRendering = new BufferedImageRendering(dimension.width, dimension.height); biRendering.getViewport().setModelYAxisDown(false); biRendering.getViewport().zoom(worldMapLayer.getModelBounds()); worldMapLayer.render(biRendering); worldMapImage = biRendering.getImage(); } } return worldMapImage; }