Hello all

There is a quick update of recent work:

 * Fixed a rounding error in AngleFormat.
 * Fixed a formatting error in String representation of matrices.
 * Extended arithmetic precision in square root (for magnitude
   computations).
 * Additional minor math functions: isPositiveZero, isNegativeZero,
   fractionDigitsForValue.
 * Bug fixes in one minor I/O utility and a math function.
 * More extensive Javadoc, especially around Geodetic Datum.
 * Added Longitude.normalize(double) and Latitude.clamp(double)
   convenience methods.
 * Geographic Bounding Box now support spanning over the anti-meridian
   (it was the case of Envelope, but not bounding box).


Note: difference between GeographicBoundingBox and Envelope
-----------------------------------------------------------
The ISO specifications define two objects which seem very similar: Envelope and GeographicBoundingBox. Both of them represent a rectangle over some area. Both of them may span the anti-meridian. The difference between those two objects is that GeographicBoundingBox is restricted to longitude and latitude values in degrees in the [-180 ... 180]° and [-90 ... 90]° ranges respectively, with longitudes relative to Greenwich and increasing toward east, and latitudes increasing toward north. On the other hand, Envelope can be in any Coordinate Reference System (e.g. map projections), using any units of measurement, with axes in any direction (e.g. South Oriented map).

GeographicBoundingBox are easier to use but are by definition only approximative, because they do not specify the Geographic CRS in used (i.e. which geodetic datum). GeographicBoundingBox are used in metadata for giving an easy-to-use approximative indication of data location. For specifying a rectangular area accurately, the intended class is rather Envelope.

    Martin

Reply via email to