org.deegree_impl.model.cs
Class ProjectedCoordinateSystem

java.lang.Object
  extended byorg.deegree_impl.model.cs.Info
      extended byorg.deegree_impl.model.cs.CoordinateSystem
          extended byorg.deegree_impl.model.cs.HorizontalCoordinateSystem
              extended byorg.deegree_impl.model.cs.ProjectedCoordinateSystem
All Implemented Interfaces:
Dimensioned, java.io.Serializable

public class ProjectedCoordinateSystem
extends HorizontalCoordinateSystem

A 2D cartographic coordinate system. Projected coordinates are the two-dimensional cartesian coordinates typically found on maps and computer displays. The cartesian axes are often called "paper coordinates" or "display coordinates." The conversions from a three-dimensional curvilinear coordinate system (whether ellipsoidal or spherical) to projected coordinates may be assumed to be well known. Examples of projected coordinate systems are: Lambert, Mercator, and transverse Mercator. Conversions to, and conversions between, projected spatial coordinate systems often do not preserve distances, areas and angles.

Version:
1.00
Author:
OpenGIS (www.opengis.org), Martin Desruisseaux
See Also:
CS_ProjectedCoordinateSystem, Serialized Form

Nested Class Summary
private  class ProjectedCoordinateSystem.Export
          Wrap a ProjectedCoordinateSystem object for use with OpenGIS.
 
Nested classes inherited from class org.deegree_impl.model.cs.Info
Info.AngularUnit, Info.LinearUnit
 
Field Summary
private  GeographicCoordinateSystem gcs
          Geographic coordinate system to base projection on.
private  Projection projection
          projection Projection from geographic to projected coordinate system.
private static long serialVersionUID
          Serial number for interoperability with different versions.
private  Unit unit
          The angular unit.
 
Fields inherited from class org.deegree_impl.model.cs.HorizontalCoordinateSystem
 
Fields inherited from class org.deegree_impl.model.cs.Info
pool
 
Constructor Summary
(package private) ProjectedCoordinateSystem(java.util.Map properties, GeographicCoordinateSystem gcs, Projection projection, Unit unit, AxisInfo axis0, AxisInfo axis1)
          Creates a projected coordinate system using a projection object.
  ProjectedCoordinateSystem(java.lang.String name, GeographicCoordinateSystem gcs, Projection projection)
          Creates a projected coordinate system using the specified geographic system.
  ProjectedCoordinateSystem(java.lang.String name, GeographicCoordinateSystem gcs, Projection projection, Unit unit, AxisInfo axis0, AxisInfo axis1)
          Creates a projected coordinate system using a projection object.
 
Method Summary
(package private)  java.lang.String addString(java.lang.StringBuffer buffer)
          Fill the part inside "[...]".
 boolean equivalents(CoordinateSystem cs)
          Returns true if this coordinate system is equivalents to the specified coordinate system.
 GeographicCoordinateSystem getGeographicCoordinateSystem()
          Returns the geographic coordinate system.
 Projection getProjection()
          Gets the projection.
 Unit getUnits(int dimension)
          Gets units for dimension within coordinate system.
(package private)  java.lang.Object toOpenGIS(java.lang.Object adapters)
          Returns an OpenGIS interface for this projected coordinate system.
 
Methods inherited from class org.deegree_impl.model.cs.HorizontalCoordinateSystem
getAxis, getDatum, getDimension, getHorizontalDatum
 
Methods inherited from class org.deegree_impl.model.cs.CoordinateSystem
checkAxis, equals, getDefaultEnvelope, getUnits
 
Methods inherited from class org.deegree_impl.model.cs.Info
addUnit, cachedOpenGIS, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, getAbbreviation, getAlias, getAuthority, getAuthorityCode, getName, getRemarks, hashCode, readResolve, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Serial number for interoperability with different versions.

See Also:
Constant Field Values

unit

private final Unit unit
The angular unit.


gcs

private final GeographicCoordinateSystem gcs
Geographic coordinate system to base projection on.


projection

private final Projection projection
projection Projection from geographic to projected coordinate system.

Constructor Detail

ProjectedCoordinateSystem

public ProjectedCoordinateSystem(java.lang.String name,
                                 GeographicCoordinateSystem gcs,
                                 Projection projection)
Creates a projected coordinate system using the specified geographic system. Projected coordinates will be in meters, x values increasing east and y values increasing north.

Parameters:
name - Name to give new object.
gcs - Geographic coordinate system to base projection on.
projection - Projection from geographic to projected coordinate system.

ProjectedCoordinateSystem

public ProjectedCoordinateSystem(java.lang.String name,
                                 GeographicCoordinateSystem gcs,
                                 Projection projection,
                                 Unit unit,
                                 AxisInfo axis0,
                                 AxisInfo axis1)
Creates a projected coordinate system using a projection object.

Parameters:
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 created PCS.
axis0 - Details of 0th ordinates in created PCS coordinates.
axis1 - Details of 1st ordinates in created PCS coordinates.

ProjectedCoordinateSystem

ProjectedCoordinateSystem(java.util.Map properties,
                          GeographicCoordinateSystem gcs,
                          Projection projection,
                          Unit unit,
                          AxisInfo axis0,
                          AxisInfo axis1)
Creates a projected coordinate system using a projection object.

Parameters:
properties - The set of properties (see Info).
gcs - Geographic coordinate system to base projection on.
projection - Projection from geographic to projected coordinate system.
unit - Linear units of created PCS.
axis0 - Details of 0th ordinates in created PCS coordinates.
axis1 - Details of 1st ordinates in created PCS coordinates.
Method Detail

getGeographicCoordinateSystem

public GeographicCoordinateSystem getGeographicCoordinateSystem()
Returns the geographic coordinate system.

See Also:
CS_ProjectedCoordinateSystem.getGeographicCoordinateSystem()

getProjection

public Projection getProjection()
Gets the projection.

See Also:
CS_ProjectedCoordinateSystem.getProjection()

getUnits

public Unit getUnits(int dimension)
Gets units for dimension within coordinate system. This linear unit is the same for all axis.

Specified by:
getUnits in class CoordinateSystem
Parameters:
dimension - Zero based index of axis.
See Also:
CS_CoordinateSystem.getUnits(int), CS_ProjectedCoordinateSystem.getLinearUnit()

equivalents

public boolean equivalents(CoordinateSystem cs)
Returns true if this coordinate system is equivalents to the specified coordinate system. Two coordinate systems are considered equivalent if the CoordinateTransformation from this to cs would be the identity transform. The default implementation compare datum, units and axis, but ignore name, alias and other meta-data informations.

Overrides:
equivalents in class HorizontalCoordinateSystem
Parameters:
cs - The coordinate system (may be null).
Returns:
true if both coordinate systems are equivalent.

addString

java.lang.String addString(java.lang.StringBuffer buffer)
Fill the part inside "[...]". Used for formatting Well Know Text (WKT).

Overrides:
addString in class HorizontalCoordinateSystem

toOpenGIS

final java.lang.Object toOpenGIS(java.lang.Object adapters)
Returns an OpenGIS interface for this projected coordinate system. The returned object is suitable for RMI use. Note: The returned type is a generic Object in order to avoid too early class loading of OpenGIS interface.

Overrides:
toOpenGIS in class HorizontalCoordinateSystem