Release 2.0 of GeoAPI contained the interfaces developed by the GeoAPI project and accepted
by the Open Geospatial Consortium with the final draft of the implementation specification
GO-1 Application Objects and therefore considered by the GeoAPI project as one
of its official releases.
This release came in two flavors: geoapi.jar required a Java environment J2SE 1.4 or higher
while geoapi-tiger.jar requires a Java environment Java 5 or higher.
Set references by Collection, except in the very few places where ISO 19115 defines explicitly the collection type.URL references by URI.SingleCRS interface. This change reflect a part of ISO 19111 which was omitted in previous release.ObliqueCartesianCS as AffineCS. This reflect a change in OGC Topic 2 voted in July 16, 2004.TemporalCS as TimeCS. This reflect a change in OGC Topic 2 voted in July 16, 2004.Info as IdentifiedObject. This reflect a change in OGC Topic 2 voted in July 16, 2004.AffineCS. This change is required for type safety and was forgotten in previous release.UserDefinedCS creation. This part was forgotten in previous release.toWKT() method in IdentifiedObject.NoSuchClassificationException as NoSuchIdentifierException.IdentifiedObject.getIdentifiers(), IdentifiedObject.getAlias() CompoundCRS.getCoordinateReferenceSystems(), ConcatenatedOperation.getOperations(), CoordinateOperation.getPositionalAccuracy().org.opengis.referencing.quality package. This package is now replaced by org.opengis.metadata.quality. This reflect a change in OGC Topic 2 voted in July 16, 2004.OperationParameter interfaces as ParameterDescriptor. This is because many users expect a parameter to contains a value. The ParameterDescriptor name make it clearer that this interface contains metadata about parameter, not the actual parameter value. It also consistent with usage in other Java libraries like citeJava Advanced Imaging/cite.OperationMethod, changed the GeneralParameterDescriptor[] return type to ParameterDescriptorGroup. Generally speaking, this change was applied for most processing methods in GeoAPI returning parameters. This is a slight departure from specifications, which usually returns a sequence of parameter rather than a group.getParameter(String) in ParameterDescriptor. This change make the convenience method more... convenient.getValue(String) in ParameterValue. This change make the convenience method more... convenient. Also renamed the method as parameter, which avoid strange expression like getValue("some_name").setValue(someValue). The idiom is now parameter("some_name").setValue(someValue) instead.Locale argument, removed this argument and replaced the String return type by InternationalString. This change was done for consistency with the metadata package.valueFile() method, replaced the URL return type by URI.Point interfaces instead of an union of them. The union type do no exists in Java and this change lead to a more object oriented approach. This change was done after a comment on the GeoAPI mailing list.Envelope interface, added convenience methods getMinimum, getMaximum, getCenter and getLength.GenericCurve, renamed the getParam and getConstructiveParam method as forParam and forConstructiveParam respectively. The former names was misleading since those methods do not return a constructive parameter; they expect it as argument instead.Complex, renamed the getSuperComplexex method as getSuperComplexes. The former was a typo.Coverage interface (method getDimensionNames), replaced the String returns type by InternationalString. This change is required for localization support and was forgotten in previous release.Coverage interface, changed the return type from double[] to float[] for the method evaluate(DirectPosition, float[]). Previous return type was wrong.Coverage, merged getNumSources() and getSource(int) methods into a single getSources() method.GridRange, renamed getLower() and getUpper() as getLowers() and getUppers().GridRange, added getLower(int), getUpper(int), getLength(int) and getDimension convenience methods.Operation, changed the GeneralParameterValue[], return type to ParameterValueGroup. Generally speaking, this change was applied for most processing methods in GeoAPI returning parameters. This is a slight departure from specifications, which usually returns a sequence of parameter values.GridAnalysis, renamed the analyse method as analyze. The former was a typo.