Release Notes

JViews 5.0 Maps Release Notes

This document describes the main changes that have been made to the JViews Maps Module since version 4.0.

Incompatibilities
General Changes
Library Changes
New Packages

New Classes and Interfaces Modified Classes and Interfaces New Projections

Deprecated

Example Changes

Bug Fixes


Incompatibilities

This class contains the major incompatibilities of the Maps package. The signature of the method makeGraphic has changed

from: public IlvGraphic makeGraphic(IlvMapFeature feature, IlvProjection targetProjection)

to: public IlvGraphic makeGraphic(IlvMapFeature feature, IlvCoordinateTransformation t)

To migrate your renderers (all the classes implementing the IlvFeatureRenderer interface, or extending one of the predefined renderers) from JViews 4.0 to version 5.0, you have to:

All classes implementing this interface should now implement the getCoordinateSystem() method. A quick way of migrating your JViews 4.0 feature iterator is to use the IlvProjectionUtil.GetCoordinateSystemFromProjection(IlvProjection) static method in order to translate your IlvProjection into a coordinate system. The skipNextFeature() and getNextFeatureId() throw IlvSDOExceptions so that IlvObjectSDOFeatureIterator implements IlvLookAheadFeatureIterator. The skipNextFeature() and getNextFeatureId() throw IOException, and skipNextFeature() returns a Boolean so that these two classes implement IlvLookAheadFeatureIterator.
The skipNextFeature() now returns a boolean set to true if more features are available.

General Changes

The main general changes are the following:

Library Changes

New Packages

ilog.views.maps.srs.coordsys

This new package contains all the necessary classes for handling coordinate systems (Spatial Reference Systems).
ilog.views.maps.srs.coordtrans
This new package contains all the necessary classes for handling coordinate transformations between coordinate systems.
ilog.views.maps.srs.wkt
This new package provides classes to help translate coordinate systems and transformations to and from the OpenGIS Well-Known Text (WKT) encoding.
ilog.views.maps.format.midmif
This new package implements a new reader for MapInfo® Mid/Mif files.
ilog.views.maps.format.image
This new package implements a framework for loading images on demand.
ilog.views.maps.graphic
This new package contains a set of graphic objects such as labels, decorated paths, and so on.
ilog.views.maps.labelling
This new package contains classes for map label layout.
New Classes and Interfaces

ilog.views.maps.IlvCoordinateSystemProperty

This class is used to store coordinate system information into a manager. It replaces the class IlvProjectionProperty, which is limited to the storing of projected coordinate systems. All new classes dealing with georeferenced views use this class instead of IlvProjectionProperty. To keep backward compatibility, the static method returning the coordinate system of the manager can handle managers holding an IlvProjectionProperty instead of IlvCoordinateSystemProperty.
ilog.views.maps.IlvUnit
ilog.views.maps.IlvAngularUnit
ilog.views.maps.IlvLinearUnit
These new classes replace the IlvUnitConverter class (which consequently is deprecated) to represent units.
ilog.views.maps.srs.coordsys.IlvCoordinateSystem
This class is the base class of all coordinate systems. IlvCoordinateSystem is an abstract class that only defines the dimension, the units, and the axis names of a coordinate system.
ilog.views.maps.srs.coordsys.IlvGeocentricCoordinateSystem
This class defines a 3D Cartesian coordinate system whose origin is the center of the earth, with the x-axis positive towards the intersection between the equator and the Greenwich meridian, the y-axis positive towards the intersection between the equator and the meridian 90 degrees east of Greenwich, and the z-axis positive towards the North pole.
ilog.views.maps.srs.coordsys.IlvGeographicCoordinateSystem
This class defines a coordinate system in which the x-coordinate of points represented by IlvCoordinate is the longitude of these points and the y-coordinate of points the geodetic latitude of points. Additionally, the ellipsoid height (the height above the ellipsoid) can be stored as the z-coordinate.
ilog.views.maps.srs.coordsys.IlvProjectedCoordinateSystem
This class defines a 2D Cartesian coordinate system corresponding to the transformation of geographic coordinates by an IlvProjection.
ilog.views.maps.srs.coordtrans.IlvCoordinateTransformation
This class describes a coordinate transformation. You can build a coordinate transformation by using the GetTransformation(IlvCoordinateSystem source, IlvCoordinateSystem target) static method. Then, call the transform method that will transform an IlvCoordinate from the Source coordinate system to the Target coordinate system.
ilog.views.maps.format.shapefile.IlvShapeFileTiler
This class is a helper to make JViews Maps Shapefile index files (.idx) needed for load-on-demand.
ilog.views.maps.beans.IlvCoordinateViewer
ilog.views.maps.beans.IlvJCompass
ilog.views.maps.beans.IlvJScaleBar
These objects have been added in order to complete the beans package for both AWT and Swing.
ilog.views.maps.format.IlvMapDataPathManager
ilog.views.maps.format.IlvMapDataPathResolver
ilog.views.maps.format.IlvDefaultDataPathResolver
These objects have been added to manage data paths for tile loaders. When built-in tile loaders of JViews Maps need to access files, they now first check that the path name of files to be read are absolute path names. If these path names are not absolute, the load-on-demand mechanism will try to use the IlvMapDataPathManager to resolve the paths. If the tile loader is being read from an .ivl, and path names cannot be resolved using the IlvMapDataPathManager, these path names will be considered as relative to the .ivl.


Modified Classes

In general, all the methods of the classes using directly an IlvProjection have been deprecated in order to use ilog.views.maps.srs package objects.

ilog.views.maps.IlvScaleController

ilog.views.maps.IlvFeatureRenderer

ilog.views.maps.IlvMapFeatureIterator

ilog.views.maps.format.shapefile.IlvShapeFileTileLoader

This tile loader now uses the IlvMapDataPathManager mechanism to resolve the path name of Shapefiles being read.
New Projections

A set of 6 new pseudo-cylindrical projections has been added:

ilog.views.maps.projection.IlvMollweideProjection
ilog.views.maps.projection.IlvRobinsonProjection
ilog.views.maps.projection.IlvWagner4Projection
ilog.views.maps.projection.IlvEckert4Projection
ilog.views.maps.projection.IlvEckert6Projection
ilog.views.maps.projection.IlvSinusoidalProjection

Deprecated

In general, all the methods using directly an IlvProjection have been deprecated in order to use ilog.views.maps.srs package objects.

ilog.views.maps.IlvProjectionProperty

This class has been replaced by the new ilog.views.maps.IlvCoordinateSystemProperty class.
ilog.views.maps.IlvUnitConverter
This class is now replaced by the ilog.views.maps.IlvUnit and ilog.views.maps.IlvLinearUnit classes.
ilog.views.maps.projection.IlvGeographicProjection
This class was used to represent coordinates in a Geographic coordinate system. The class ilog.views.maps.srs.coordsys.IlvGeographicCoordinateSystem is now used to represent Geographic coordinate systems.

Example Changes

A common framework has been added and is now used by most of the examples.

Bug Fixes

The following bugs have been fixed: