Class TLcdTopocentricReference

java.lang.Object
com.luciad.reference.ALcdGeoReference
com.luciad.reference.TLcdTopocentricReference
All Implemented Interfaces:
ILcdExtendedModelReference, ILcdModelReference, ILcdGeoReference, ILcdTopocentricReference, ILcdCloneable, ILcdXYZWorldReference, Serializable, Cloneable

public class TLcdTopocentricReference extends ALcdGeoReference implements ILcdTopocentricReference, ILcdXYZWorldReference

A TLcdTopocentricReference is an implementation of an ILcdTopocentricReference.

A topocentric coordinate system is a right-handed cartesian coordinate system with the following properties:

  • Its origin is defined by a lon-lat-height point on the ellipsoid.
  • The y-axis is directed northwards and aligned to intersect with the polar rotational axis of the ellipsoid.
  • The x-axis if directed eastwards.
  • The x-y plane is tangential to the ellipsoid at the origin.
  • The z-axis is perpendicular to the ellipsoid at the origin, and points outwards. In other words, the z-axis is perpendicular to the x-y plane.

This reference is also referred as an ENU (East-North-Up) projection.

See Also:
  • Constructor Details

    • TLcdTopocentricReference

      public TLcdTopocentricReference()
      Default constructor with null ILcdGeodeticDatum and null ILcdPoint.
    • TLcdTopocentricReference

      public TLcdTopocentricReference(ILcdGeodeticDatum aGeodeticDatum, ILcdPoint aOrigin)
      Constructor with an ILcdGeodeticDatum and an ILcd3DEditablePoint as origin.
      Parameters:
      aGeodeticDatum - the geodetic datum of this reference.
      aOrigin - a 3D point (lonLatHeight) w.r.t. the geodetic datum that is the origin of the topocentric reference.
  • Method Details

    • getOrigin

      public ILcdPoint getOrigin()
      Description copied from interface: ILcdTopocentricReference
      Returns the 3D origin of this ILcdTopocentricReference.
      Specified by:
      getOrigin in interface ILcdTopocentricReference
      Returns:
      the 3D origin of this ILcdTopocentricReference.
      See Also:
    • getCoordinateType

      public int getCoordinateType()
      Description copied from interface: ILcdGeoReference
      Returns the type of coordinates used with this ILcdGeoReference: CARTESIAN or GEODETIC.
      Specified by:
      getCoordinateType in interface ILcdGeoReference
      Returns:
      the type of coordinates used with this ILcdGeoReference: CARTESIAN or GEODETIC.
    • makeModelPoint

      public ILcdPoint makeModelPoint()
      Description copied from interface: ILcdModelReference
      Creates a model point that is compatible with this model reference. It is unspecified how (which coordinates) the point is initialized. Users should initialize the point correctly before inserting it into a model.
      Specified by:
      makeModelPoint in interface ILcdModelReference
      Returns:
      a point that is compatible with this model reference.
    • loadProperties

      public void loadProperties(String aPrefix, Properties aProperties) throws IllegalArgumentException
      This method will, given aPrefix, analyze the Properties object aProperties to set the properties of this TLcdTopocentricReference. The values of following keys are retrieved for setting the property origin:
      • <aPrefix>TLcdTopocentricReference.origin.lon
      • <aPrefix>TLcdTopocentricReference.origin.lat
      • <aPrefix>TLcdTopocentricReference.origin.height
      • <aPrefix>TLcdTopocentricReference.<TLcdModelReferenceMetadata>
      To be able to set the property geodeticDatum the aProperties should contain entries which will be analyzed by the TLcdGeodeticDatumFactory. The keys of those entries should begin with '<aPrefix>TLcdGridReference.geodeticDatum.'. The decoding of the model meta-data is delegated to TLcdModelReferenceMetadata class.
      Specified by:
      loadProperties in interface ILcdModelReference
      Parameters:
      aPrefix - a common prefix for all property names that are read.
      aProperties - the properties to be parsed.
      Throws:
      IllegalArgumentException - if the model reference cannot be constructed from the properties.
      See Also:
    • writePropertiesSFCT

      public void writePropertiesSFCT(String aPrefix, Properties aPropertiesSFCT) throws IllegalArgumentException
      Description copied from interface: ILcdModelReference
      Stores the properties that define this model reference into the specified Properties object as a side effect. Each particular implementation of this interface can define which properties it stores.
      Specified by:
      writePropertiesSFCT in interface ILcdModelReference
      Parameters:
      aPrefix - a common prefix for all property names written.
      aPropertiesSFCT - the properties that will contain the serialized properties for this model reference, as a side effect.
      Throws:
      IllegalArgumentException - if the model reference cannot be serialized into properties.
      See Also:
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class ALcdGeoReference
    • clone

      public Object clone()
      Description copied from interface: ILcdCloneable

      Makes Object.clone() public.

      When for example extending from java.lang.Object, it can be implemented like this:
      
       public Object clone() {
         try {
           return super.clone();
         } catch ( CloneNotSupportedException e ) {
           // Cannot happen: extends from Object and implements Cloneable (see also Object.clone)
           throw new RuntimeException( e );
         }
       }
       
      Specified by:
      clone in interface ILcdCloneable
      Overrides:
      clone in class ALcdGeoReference
      See Also:
    • equals

      public boolean equals(Object aObject)
      Overrides:
      equals in class ALcdGeoReference