Class DefaultOperationMethod

All Implemented Interfaces:
Serializable, Formattable, Deprecable, Lenient­Comparable, Identified­Object, Operation­Method

public class DefaultOperationMethod extends AbstractIdentifiedObject implements OperationMethod
Describes the algorithm and parameters used to perform a coordinate operation. An Operation­Method is a kind of metadata: it does not perform any coordinate operation (e.g. map projection) by itself, but tells us what is needed in order to perform such operation.

The most important parts of an Operation­Method are its name and its group of parameter descriptors. The parameter descriptors do not contain any value, but tell us what are the expected parameters, together with their units of measurement.

In Apache SIS implementation, the name is the only mandatory property. However, it is recommended to provide also identifiers (e.g. “EPSG:9804” in the following example) because names can sometimes be ambiguous or be spelled in different ways.

Example

An operation method named “Mercator (variant A)” (EPSG:9804) expects the following parameters:
  • Latitude of natural origin” in degrees. Default value is 0°.
  • Longitude of natural origin” in degrees. Default value is 0°.
  • Scale factor at natural origin” as a dimensionless number. Default value is 1.
  • False easting” in metres. Default value is 0 m.
  • False northing” in metres. Default value is 0 m.

Departure from the ISO 19111 standard

The following properties are mandatory according ISO 19111, but may be missing under some conditions in Apache SIS:

Relationship with other classes or interfaces

Operation­Method describes parameters without providing any value (except sometimes default values). When values have been assigned to parameters, the result is a Single­Operation. Note that there is different kinds of Single­Operation depending on the nature and accuracy of the coordinate operation. See get­Operation­Type() for more information.

The interface performing the actual work of taking coordinates in the source CRS and calculating the new coordinates in the target CRS is Math­Transform. In order to allow Apache SIS to instantiate those Math­Transforms from given parameter values, Default­Operation­Method subclasses should implement the Math­Transform­Provider interface.

Immutability and thread safety

This class is immutable and thread-safe if all properties given to the constructor are also immutable and thread-safe. It is strongly recommended for all subclasses to be thread-safe, especially the Math­Transform­Provider implementations to be used with Default­Math­Transform­Factory.
Since:
0.5
See Also: