The geometries stored in Shapefiles are not necessarily
2-D objects. Each point that makes up a shape object can be associated
with measurements, or with measurements and an elevation.
Measurements are stored in an attribute of type
IlvAttributeArray, which itself is stored in the map feature attribute
of index 0.
The following are the shape types that are associated
with measurements:
POINTZ
POLYLINEZ
POLYGONZ
MULTIPOINTZ
POINTM
POLYLINEM
POLYGONM
MULTIPOINTM
Elevations are stored in an attribute of type
IlvAttributeArray, which itself is stored in the map feature attribute
of index 1.
The following are the shape types that are associated
with measurements and elevations:
POINTZ
POLYLINEZ
POLYGONZ
MULTIPOINTZ
Since the JViews Maps package does not have a predefined
geometry to represent shape objects of type MULTIPATCH
,
which are essentially used for 3-D rendering, these are ignored. It
is possible, however, to modify this behavior by subtyping the class IlvShapeSHPReader
.
Since shape objects are read in protected methods, modifying the reader
to include new geometries requires minimal effort.