|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectFactory
ReferencingFactory
DatumAliases
@ThreadSafe public class DatumAliases
A datum factory that add aliases to a datum name before to delegates the datum creation to an other factory. Aliases are especially important for datum since their name are often the only way to differentiate them.
Two datum with different names are considered incompatible, unless some datum shift method
are specified (e.g. Bursa-Wolf
parameters). Unfortunately, different softwares often use different names for the same datum,
which result in OperationNotFoundException when
attempting to convert coordinates from one
coordinate reference system
to an other one. For example "Nouvelle Triangulation Française (Paris)" and
"NTF (Paris meridian)" are actually the same datum. This DatumAliases
class provides a way to handle that.
DatumAliases is a class that determines if a datum name is in our list of aliases
and constructs a value for the aliases property
(as generic names). The default implementation is backed by the
"DatumAliasesTable.csv" text file. The first uncommented non-blank line in this
text file must be the authority names. All other lines are the aliases.
Since DatumAliases is a datum factory, any
authority factory or any
WKT parser using this factory
will takes advantage of the aliases table.
| referencing/geotk-referencing (download) | View source code for this class |
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class Factory |
|---|
Factory.Availability, Factory.Organizer |
| Field Summary |
|---|
| Fields inherited from class ReferencingFactory |
|---|
LOGGER |
| Fields inherited from class Factory |
|---|
EMPTY_HINTS, hints |
| Constructor Summary | |
|---|---|
DatumAliases()
Constructs a new datum factory with the default backing factory and alias table. |
|
DatumAliases(DatumFactory factory)
Constructs a new datum factory using the specified factory and the default alias table. |
|
DatumAliases(DatumFactory factory,
URL aliasURL)
Constructs a new datum factory which delegates its work to the specified factory. |
|
| Method Summary | |
|---|---|
Ellipsoid |
createEllipsoid(Map<String,?> properties,
double semiMajorAxis,
double semiMinorAxis,
Unit<Length> unit)
Creates an ellipsoid from radius values. |
EngineeringDatum |
createEngineeringDatum(Map<String,?> properties)
Creates an engineering datum. |
Ellipsoid |
createFlattenedSphere(Map<String,?> properties,
double semiMajorAxis,
double inverseFlattening,
Unit<Length> unit)
Creates an ellipsoid from an major radius, and inverse flattening. |
GeodeticDatum |
createGeodeticDatum(Map<String,?> properties,
Ellipsoid ellipsoid,
PrimeMeridian primeMeridian)
Creates geodetic datum from ellipsoid and (optionally) Bursa-Wolf parameters. |
ImageDatum |
createImageDatum(Map<String,?> properties,
PixelInCell pixelInCell)
Creates an image datum. |
PrimeMeridian |
createPrimeMeridian(Map<String,?> properties,
double longitude,
Unit<Angle> angularUnit)
Creates a prime meridian, relative to Greenwich. |
TemporalDatum |
createTemporalDatum(Map<String,?> properties,
Date origin)
Creates a temporal datum from an enumerated type value. |
VerticalDatum |
createVerticalDatum(Map<String,?> properties,
VerticalDatumType type)
Creates a vertical datum from an enumerated type value. |
protected void |
setOrdering(Factory.Organizer organizer)
Invoked by FactoryRegistry in order to set the ordering relative
to other factories. |
| Methods inherited from class ReferencingFactory |
|---|
ensureNonNull, getVendor |
| Methods inherited from class Factory |
|---|
availability, dispose, equals, getImplementationHints, hasCompatibleHints, hashCode, toString |
| Methods inherited from class Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface Factory |
|---|
getVendor |
| Constructor Detail |
|---|
public DatumAliases()
public DatumAliases(DatumFactory factory)
factory - The factory to use for datum creation.
public DatumAliases(DatumFactory factory,
URL aliasURL)
factory - The factory to use for datum creation.aliasURL - The URL to the alias table.| Method Detail |
|---|
protected void setOrdering(Factory.Organizer organizer)
FactoryRegistry in order to set the ordering relative
to other factories. The current implementation specifies that this factory should have
precedence over ReferencingObjectFactory.
setOrdering in class Factory
public EngineeringDatum createEngineeringDatum(Map<String,?> properties)
throws FactoryException
createEngineeringDatum in interface DatumFactoryproperties - Name and other properties to give to the new object.
FactoryException - if the object creation failed.
public GeodeticDatum createGeodeticDatum(Map<String,?> properties,
Ellipsoid ellipsoid,
PrimeMeridian primeMeridian)
throws FactoryException
createGeodeticDatum in interface DatumFactoryproperties - Name and other properties to give to the new object.ellipsoid - Ellipsoid to use in new geodetic datum.primeMeridian - Prime meridian to use in new geodetic datum.
FactoryException - if the object creation failed.
public ImageDatum createImageDatum(Map<String,?> properties,
PixelInCell pixelInCell)
throws FactoryException
createImageDatum in interface DatumFactoryproperties - Name and other properties to give to the new object.pixelInCell - Specification of the way the image grid is associated
with the image data attributes.
FactoryException - if the object creation failed.
public TemporalDatum createTemporalDatum(Map<String,?> properties,
Date origin)
throws FactoryException
createTemporalDatum in interface DatumFactoryproperties - Name and other properties to give to the new object.origin - The date and time origin of this temporal datum.
FactoryException - if the object creation failed.
public VerticalDatum createVerticalDatum(Map<String,?> properties,
VerticalDatumType type)
throws FactoryException
createVerticalDatum in interface DatumFactoryproperties - Name and other properties to give to the new object.type - The type of this vertical datum (often geoidal).
FactoryException - if the object creation failed.
public Ellipsoid createEllipsoid(Map<String,?> properties,
double semiMajorAxis,
double semiMinorAxis,
Unit<Length> unit)
throws FactoryException
createEllipsoid in interface DatumFactoryproperties - Name and other properties to give to the new object.semiMajorAxis - Equatorial radius in supplied linear units.semiMinorAxis - Polar radius in supplied linear units.unit - Linear units of ellipsoid axes.
FactoryException - if the object creation failed.
public Ellipsoid createFlattenedSphere(Map<String,?> properties,
double semiMajorAxis,
double inverseFlattening,
Unit<Length> unit)
throws FactoryException
createFlattenedSphere in interface DatumFactoryproperties - Name and other properties to give to the new object.semiMajorAxis - Equatorial radius in supplied linear units.inverseFlattening - Eccentricity of ellipsoid.unit - Linear units of major axis.
FactoryException - if the object creation failed.
public PrimeMeridian createPrimeMeridian(Map<String,?> properties,
double longitude,
Unit<Angle> angularUnit)
throws FactoryException
createPrimeMeridian in interface DatumFactoryproperties - Name and other properties to give to the new object.longitude - Longitude of prime meridian in supplied angular units East of Greenwich.angularUnit - Angular units of longitude.
FactoryException - if the object creation failed.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||