/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © 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 ilog.views.maps.IlvAngularUnit;
import ilog.views.maps.IlvCoordinate;
import ilog.views.maps.IlvLinearUnit;
import ilog.views.maps.projection.IlvMercatorProjection;
import ilog.views.maps.srs.coordsys.IlvCoordinateSystem;
import ilog.views.maps.srs.coordsys.IlvGeographicCoordinateSystem;
import ilog.views.maps.srs.coordsys.IlvProjectedCoordinateSystem;
import ilog.views.maps.srs.coordtrans.IlvCoordinateTransformation;
import ilog.views.maps.srs.coordtrans.IlvCoordinateTransformationException;
import ilog.views.util.IlvProductUtil;
/**
* This is a very simple sample code showing how to convert coordinates between
* two coordinate systems. Basically, we will convert between geographic
* coordinates (lat,lon) and some projected coordinates (here, to a Mercator
* projection coordinate system).
*/
public class Sample1 {
static public void main(String argv[]) {
// This sample uses JViews Maps features. When deploying an
// application that includes this code, you need to be in possession
// of a Rogue Wave JViews Maps Deployment license.
IlvProductUtil.DeploymentLicenseRequired(IlvProductUtil.JViews_Maps_Deployment);
// The source coordinate system : the default geographic one is ok.
IlvCoordinateSystem sourceCS = IlvGeographicCoordinateSystem.WGS84;
// The target coordinate system : a projected coordinate system with
// a mercator projection
IlvCoordinateSystem targetCS = new IlvProjectedCoordinateSystem("Mercator", IlvGeographicCoordinateSystem.WGS84,
new IlvMercatorProjection(), IlvLinearUnit.METER, "X", // The X axis
// name
"Y"); // The Y axis name
// The coordinate to convert : 45W, 30N
IlvCoordinate coord = new IlvCoordinate(-45D, 30D);
// The transformation
IlvCoordinateTransformation CT = IlvCoordinateTransformation.CreateTransformation(sourceCS, targetCS);
// Transform a point
try {
coord = CT.transform(coord, coord); // put the result in coord
} catch (IlvCoordinateTransformationException e) {
System.out.println("Transformation exception for this data");
}
System.out.println("The Mercator coordinates of 45W 30N is ");
System.out.println("x = " + (int) coord.x + " m");
System.out.println("y = " + (int) coord.y + " m");
// Get the inverse transformation
IlvCoordinateTransformation invCT = CT.getInverse();
// Transform the point
try {
coord = invCT.transform(coord, coord); // put the result in coord
} catch (IlvCoordinateTransformationException e) {
System.out.println("TransformationException exception for this data");
}
System.out.println("The inverse projection is " + IlvAngularUnit.DEGREE.toDMS(coord.x, false) + " "
+ IlvAngularUnit.DEGREE.toDMS(coord.y, true));
}
}