Changes in
the Maps Module
The Maps module has been enriched with the following functionalities:
Incompatibilities
These major additions to the map module did unfortunately cause some
backward incompatibilities with JViews 2.0.
Map Builder
The old IlvMap application that was dedicated in JViews 2.x to the conversion
of map data loaded from an OGDI Map Server to IVL files has been turned
into a fully functional map builder.
It is now located in <JViewsDir>/bin/ilvmap.
This map builder can be used to create IVL files with data imported
from OGDI, Shapefiles, DTED files, and CADRG files.
It supports Load-on-Demand as well as scale visibility filters.
Beans
In addition to the Beans of the JViews Framework, some specific
beans dedicated to the creation of map applications have been added.
These beans are in the package ilog.views.maps.beans
.
You will find in this package:
- A Compass that can be useful to show the direction of the
geographic north for non-cylindrical projections
- A Legend
- A Coordinate viewer that displays the geographic coordinates
of the mouse
- A Scale bar
- An Overview
The Reader Framework
To provide a common way of handling map readers, a reader framework has been
developed. This framework includes a new class for cartographic objects (the
IlvMapFeature
class located in the
ilog.views.maps package
), a set of predefined map geometries
(located in the ilog.views.maps.geometry
package), and a set
of predefined map attributes (located in the
ilog.views.maps.attribute
package).
The translation of cartographic objects into graphic objects is handled by
renderers. The predefined renderers are located in the
ilog.views.maps.rendering
package.
Finally, the ilog.views.maps.format
package has been created.
This package contains all the predefined implementations of map readers.
Integration of Map Readers in the Library
Now that JViews Maps contains a reader framework, The Shapefile Reader,
the DTED reader, and the CADRG reader are now integrated in the library.
They are in the following packages, respectively:
- ilog.views.maps.format.shapefile
- ilog.views.maps.format.dted
- ilog.views.maps.format.cadrg
An IlvOGDIFeatureIterator
class has also been added to facilitate
the use of an OGDI Map Server. It is located in the
ilog.views.maps.format.ogdi
package.
Load-On-Demand
To support the management of very large maps, a load-on-demand framework has
been added to the JViews Framework in the ilog.views.tiling
package.
Predefined implementations of load-on-demand exist for the CADRG format and
for OGDI.
Scale Visibility Filters
To control more easily the scale of the map views, the
IlvScaleController
class has been added to the
ilog.views.maps
package.
The class IlvScaleVisibilityFilter
has been added to the same
package to automatically restrict the visibility of a layer in a
scale range.
New Projections
The following projections have been added to the
ilog.views.maps.projection
package:
- IlvAlbersEqualAreaProjection
- IlvFrenchLambertProjection
- IlvGeographicProjection
- IlvLambertEqualAreaConicProjection
- IlvPolyConicProjection
A support for datum conversion has been provided in the library, including
a conversion algorithm based on the Molodensky formula.
Integration of JViews Maps with Oracle Spatial
A Sample showing how to integrate JViews Maps with Oracle Spatial is located
in the <JViewsDir>/demos/maps/oracle directory.
It shows:
- how to use the JViews Maps map readers to write into an Oracle
database,
- how to read map data from an Oracle database,
- how to implement load-on-demand with an Oracle database.
The classes to integrate JViews and Oracle spatial are provided in the ilog.views.maps.format.oracle
package.
Incompatibilities
Since they have a general purpose, the following classes have been moved
from the ilog.views.maps.projection
package
to the ilog.views.maps
package
- IlvCoordinate
- IlvUnitConverter