|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.deegree.model.csct.cs.CoordinateSystemFactory
public class CoordinateSystemFactory
Builds up complex objects from simpler objects or values. CoordinateSystemFactory
allows applications to make coordinate systems that cannot be created by a
CoordinateSystemAuthorityFactory
. This factory is very flexible, whereas the authority
factory is easier to use.
So CoordinateSystemAuthorityFactory
can be used to make 'standard' coordinate systems,
and CoordinateSystemFactory
can be used to make "special" coordinate systems.
For example, the EPSG authority has codes for USA state plane coordinate systems using the NAD83
datum, but these coordinate systems always use meters. EPSG does not have codes for NAD83 state
plane coordinate systems that use feet units. This factory lets an application create such a
hybrid coordinate system.
Constructor Summary | |
---|---|
protected |
CoordinateSystemFactory()
Default constructor. |
Method Summary | |
---|---|
CompoundCoordinateSystem |
createCompoundCoordinateSystem(String name,
CoordinateSystem head,
CoordinateSystem tail)
Creates a compound coordinate system. |
Ellipsoid |
createEllipsoid(String name,
double semiMajorAxis,
double semiMinorAxis,
Unit unit)
Creates an ellipsoid from radius values. |
Ellipsoid |
createFlattenedSphere(String name,
double semiMajorAxis,
double inverseFlattening,
Unit unit)
Creates an ellipsoid from an major radius, and inverse flattening. |
GeographicCoordinateSystem |
createGeographicCoordinateSystem(String name,
HorizontalDatum datum)
Creates a geographic coordinate system. |
GeographicCoordinateSystem |
createGeographicCoordinateSystem(String name,
Unit unit,
HorizontalDatum datum,
PrimeMeridian meridian,
AxisInfo axis0,
AxisInfo axis1)
Creates a geographic coordinate system, which could be latitude/longiude or longitude/latitude. |
HorizontalDatum |
createHorizontalDatum(String name,
DatumType.Horizontal type,
Ellipsoid ellipsoid,
WGS84ConversionInfo toWGS84)
Creates horizontal datum from ellipsoid and Bursa-Wolf parameters. |
HorizontalDatum |
createHorizontalDatum(String name,
Ellipsoid ellipsoid)
Creates horizontal datum from an ellipsoid. |
LocalCoordinateSystem |
createLocalCoordinateSystem(String name,
LocalDatum datum,
Unit unit,
AxisInfo[] axes)
Creates a local coordinate system. |
LocalDatum |
createLocalDatum(String name,
DatumType.Local type)
Creates a local datum. |
PrimeMeridian |
createPrimeMeridian(String name,
Unit unit,
double longitude)
Creates a prime meridian, relative to Greenwich. |
ProjectedCoordinateSystem |
createProjectedCoordinateSystem(String name,
GeographicCoordinateSystem gcs,
Projection projection)
Creates a projected coordinate system using the specified geographic system. |
ProjectedCoordinateSystem |
createProjectedCoordinateSystem(String name,
GeographicCoordinateSystem gcs,
Projection projection,
Unit unit,
AxisInfo axis0,
AxisInfo axis1)
Creates a projected coordinate system using a projection object. |
Projection |
createProjection(String name,
String classification,
Ellipsoid ellipsoid,
Point2D centre,
Point2D translation,
double scaleFactor)
Convenience method for constructing a projection using the specified ellipsoid. |
Projection |
createProjection(String name,
String classification,
javax.media.jai.ParameterList parameters)
Creates a projection. |
javax.media.jai.ParameterList |
createProjectionParameterList(String classification)
Returns a default parameter list for the specified projection. |
VerticalCoordinateSystem |
createVerticalCoordinateSystem(String name,
VerticalDatum datum)
Creates a vertical coordinate system from a datum. |
VerticalCoordinateSystem |
createVerticalCoordinateSystem(String name,
VerticalDatum datum,
Unit unit,
AxisInfo axis)
Creates a vertical coordinate system from a datum and linear units. |
VerticalDatum |
createVerticalDatum(String name,
DatumType.Vertical type)
Creates a vertical datum from an enumerated type value. |
static CoordinateSystemFactory |
getDefault()
Returns the default coordinate system factory. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected CoordinateSystemFactory()
Method Detail |
---|
public static CoordinateSystemFactory getDefault()
public GeographicCoordinateSystem createGeographicCoordinateSystem(String name, HorizontalDatum datum)
name
- Name to give new object.datum
- Horizontal datum for created coordinate system.public GeographicCoordinateSystem createGeographicCoordinateSystem(String name, Unit unit, HorizontalDatum datum, PrimeMeridian meridian, AxisInfo axis0, AxisInfo axis1)
name
- Name to give new object.unit
- Angular units for created coordinate system.datum
- Horizontal datum for created coordinate system.meridian
- Prime Meridian for created coordinate system.axis0
- Details of 0th ordinates.axis1
- Details of 1st ordinates.public ProjectedCoordinateSystem createProjectedCoordinateSystem(String name, GeographicCoordinateSystem gcs, Projection projection)
name
- Name to give new object.gcs
- Geographic coordinate system to base projection on.projection
- Projection from geographic to projected coordinate system.public ProjectedCoordinateSystem createProjectedCoordinateSystem(String name, GeographicCoordinateSystem gcs, Projection projection, Unit unit, AxisInfo axis0, AxisInfo axis1)
name
- Name to give new object.gcs
- Geographic coordinate system to base projection on.projection
- Projection from geographic to projected coordinate system.unit
- Linear units of returned PCS.axis0
- Details of 0th ordinates in returned PCS coordinates.axis1
- Details of 1st ordinates in returned PCS coordinates.public VerticalCoordinateSystem createVerticalCoordinateSystem(String name, VerticalDatum datum)
name
- Name to give new object.datum
- Datum to use for new coordinate system.public VerticalCoordinateSystem createVerticalCoordinateSystem(String name, VerticalDatum datum, Unit unit, AxisInfo axis)
name
- Name to give new object.datum
- Datum to use for new coordinate system.unit
- Units to use for new coordinate system.axis
- Axis to use for new coordinate system.public CompoundCoordinateSystem createCompoundCoordinateSystem(String name, CoordinateSystem head, CoordinateSystem tail)
name
- Name to give new object.head
- Coordinate system to use for earlier ordinates.tail
- Coordinate system to use for later ordinates.public LocalCoordinateSystem createLocalCoordinateSystem(String name, LocalDatum datum, Unit unit, AxisInfo[] axes)
name
- Name to give new object.datum
- Local datum to use in created CS.unit
- Units to use for all axes in created CS.axes
- Axes to use in created CS.public Ellipsoid createEllipsoid(String name, double semiMajorAxis, double semiMinorAxis, Unit unit)
name
- Name to give new object.semiMajorAxis
- Equatorial radius in supplied linear units.semiMinorAxis
- Polar radius in supplied linear units.unit
- Linear units of ellipsoid axes.public Ellipsoid createFlattenedSphere(String name, double semiMajorAxis, double inverseFlattening, Unit unit)
name
- Name to give new object.semiMajorAxis
- Equatorial radius in supplied linear units.inverseFlattening
- Eccentricity of ellipsoid.unit
- Linear units of major axis.public PrimeMeridian createPrimeMeridian(String name, Unit unit, double longitude)
name
- Name to give new object.unit
- Angular units of longitude.longitude
- Longitude of prime meridian in supplied angular units East of Greenwich.public Projection createProjection(String name, String classification, javax.media.jai.ParameterList parameters)
"semi_major"
and "semi_minor"
parameters. The set of legal
parameters and their default values can be queried using
createProjectionParameterList(java.lang.String)
. Example:
{link ParameterList} param =createProjectionParameterList
("Transverse_Mercator") .setParameter("semi_major", 6378206.4) .setParameter("semi_minor", 6356583.8);Projection
proj = createProjection("My projection", "Transverse_Mercator", param);
name
- Name to give new object.classification
- Classification string for projection (e.g. "Transverse_Mercator").parameters
- Parameters to use for projection. A default set of parameters can be constructed
using createProjectionParameterList
(classification)
and initialized using a chain of setParameter(...)
calls.public Projection createProjection(String name, String classification, Ellipsoid ellipsoid, Point2D centre, Point2D translation, double scaleFactor)
name
- Name to give new object.classification
- Classification string for projection (e.g. "Transverse_Mercator").ellipsoid
- Ellipsoid parameter. If non-null, then "semi_major"
and
"semi_minor"
parameters will be set according.centre
- Central meridian and latitude of origin, in degrees. If non-null, then
"central_meridian"
and "latitude_of_origin"
will be
set according.translation
- False easting and northing, in metres. If non-null, then
"false_easting"
and "false_northing"
will be set
according.public javax.media.jai.ParameterList createProjectionParameterList(String classification)
classification
- Classification string for projection (e.g. "Transverse_Mercator").
createProjection(String, String, ParameterList)
public HorizontalDatum createHorizontalDatum(String name, DatumType.Horizontal type, Ellipsoid ellipsoid, WGS84ConversionInfo toWGS84)
DatumType.Horizontal.OTHER
as the horizontalDatumType, or create it
via WKT.
name
- Name to give new object.type
- Type of horizontal datum to create.ellipsoid
- Ellipsoid to use in new horizontal datum.toWGS84
- Suggested approximate conversion from new datum to WGS84.public HorizontalDatum createHorizontalDatum(String name, Ellipsoid ellipsoid)
DatumType.Horizontal.OTHER
.
name
- Name to give new object.ellipsoid
- Ellipsoid to use in new horizontal datum.public VerticalDatum createVerticalDatum(String name, DatumType.Vertical type)
name
- Name to give new object.type
- Type of vertical datum to create.public LocalDatum createLocalDatum(String name, DatumType.Local type)
name
- Name to give new object.type
- Type of local datum to create.
|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://deegree.sourceforge.net