/* * Licensed Materials - Property of Perforce Software, Inc. * © Copyright Perforce Software, Inc. 2014, 2021 * © Copyright IBM Corp. 2009, 2014 * © Copyright ILOG 1996, 2009 * All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * The Software and Documentation were developed at private expense and * are "Commercial Items" as that term is defined at 48 CFR 2.101, * consisting of "Commercial Computer Software" and * "Commercial Computer Software Documentation", as such terms are * used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4, * as applicable. */ import java.io.FileNotFoundException; import java.io.IOException; import ilog.views.IlvManager; import ilog.views.IlvRect; import ilog.views.maps.IlvCoordinate; import ilog.views.maps.IlvFeatureRenderer; import ilog.views.maps.IlvMapFeature; import ilog.views.maps.IlvMapRenderException; import ilog.views.maps.format.IlvMapFormatException; import ilog.views.maps.format.image.IlvImageReader; import ilog.views.maps.format.image.IlvImageTileLoader; import ilog.views.maps.srs.coordsys.IlvGeographicCoordinateSystem; import ilog.views.maps.srs.coordtrans.IlvCoordinateTransformation; import ilog.views.maps.srs.coordtrans.IlvCoordinateTransformationException; import ilog.views.maps.srs.coordtrans.IlvMapAffineTransform; import ilog.views.tiling.IlvTiledLayer; import ilog.views.util.IlvProductUtil; /** * Example showing how to use the Image reader package. */ public class ImageReader { IlvManager manager = new IlvManager(); /** * Load a single image. Upper left and lower right coordinates have to be * provided. */ public void loadImage(String imageName, IlvCoordinate ul, IlvCoordinate lr) throws IlvMapFormatException, FileNotFoundException, IOException, IlvMapRenderException, IlvCoordinateTransformationException { // Create image reader. IlvImageReader reader = new IlvImageReader(imageName, ul, lr); // Retreive the unique feature. IlvMapFeature feature = reader.getNextFeature(); // Retreive the default renderer. IlvFeatureRenderer renderer = reader.getDefaultFeatureRenderer(); // No reprojection for images. IlvCoordinateTransformation tr = new IlvCoordinateTransformation(IlvGeographicCoordinateSystem.WGS84, IlvGeographicCoordinateSystem.WGS84, new IlvMapAffineTransform()); // Create the graphic object. renderer.makeGraphic(feature, tr); } /** * Create a load on demand image layer. The pattern, colFmt, rowFmt are used * to retrieve the image file name from the tile coordinates */ public void loadLOD(IlvRect tileOrigin, String pattern, String colFmt, String rowFmt) { // Create the tile loader. IlvImageTileLoader tileLoader = new IlvImageTileLoader(pattern, colFmt, rowFmt); // Create the tiled layer. IlvTiledLayer tiledLayer = new IlvTiledLayer(tileOrigin); // Affect the tile loader to the tiled layer. tiledLayer.setTileLoader(tileLoader); // Add the layer into the manager. manager.addLayer(tiledLayer, -1); } public static void main(String a[]) { // This sample uses JViews Maps features. When deploying an // application that includes this code, you need to be in possession // of a Perforce JViews Maps Deployment license. IlvProductUtil.DeploymentLicenseRequired(IlvProductUtil.JViews_Maps_Deployment); // Sun recommends that to put the entire GUI initialization into the // AWT thread javax.swing.SwingUtilities.invokeLater(new Runnable() { Override public void run() { ImageReader reader = new ImageReader(); IlvCoordinate ul = new IlvCoordinate(77.5, 10); IlvCoordinate lr = new IlvCoordinate(82.5, 5); try { reader.loadImage("../../data/srilanka.jpg", ul, lr); } catch (IlvMapFormatException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (IlvMapRenderException e) { e.printStackTrace(); } catch (IlvCoordinateTransformationException e) { e.printStackTrace(); } } }); } }