Class ALcdObliqueCylindrical

java.lang.Object
com.luciad.projection.ALcdProjection
com.luciad.projection.ALcdObliqueCylindrical
All Implemented Interfaces:
ILcdObliqueCylindrical, ILcdProjection, ILcdPropertyChangeSource, Serializable, Cloneable
Direct Known Subclasses:
TLcdObliqueMercator, TLcdSwissObliqueMercator

public abstract class ALcdObliqueCylindrical extends ALcdProjection implements ILcdObliqueCylindrical, Cloneable
An ALcdObliqueCylindrical is an ILcdProjection that is obtained by wrapping a cylinder around the globe.

An ALcdObliqueCylindrical has a standardParallel, which is determined by a latitude. For a tangent cylindrical projection, the standard parallel is the equator, i.e., aLat == 0.0

An ALcdObliqueCylindrical has a centralMeridian, which is determined by a longitude. The central meridian determines the position of the origin, which is always on the equator.

An ALcdObliqueCylindrical has an azimuth. The azimuth (east of north) determines the central line.

See Also:
  • Constructor Details

    • ALcdObliqueCylindrical

      public ALcdObliqueCylindrical()
  • Method Details

    • setStandardParallel

      public void setStandardParallel(double aLat)
      Description copied from interface: ILcdObliqueCylindrical
      Sets the standardParallel of this ILcdObliqueCylindrical to the parallel with latitude aLatitude.
      Specified by:
      setStandardParallel in interface ILcdObliqueCylindrical
      Parameters:
      aLat - The new standardParallel value.
      See Also:
    • setCentralMeridian

      public void setCentralMeridian(double aLon)
      Description copied from interface: ILcdObliqueCylindrical
      Sets the centralMeridian of this ILcdObliqueCylindrical to the meridian with longitude aLongitude.
      Specified by:
      setCentralMeridian in interface ILcdObliqueCylindrical
      Parameters:
      aLon - The new centralMeridian value.
      See Also:
    • setAzimuth

      public void setAzimuth(double aAzimuth)
      Description copied from interface: ILcdObliqueCylindrical
      Sets the azimuth of this ILcdObliqueCylindrical to aAzimuth.
      Specified by:
      setAzimuth in interface ILcdObliqueCylindrical
      Parameters:
      aAzimuth - The new azimuth value.
      See Also:
    • getStandardParallel

      public double getStandardParallel()
      Description copied from interface: ILcdObliqueCylindrical
      Gets the latitude of the standardParallel of this ILcdObliqueCylindrical.
      Specified by:
      getStandardParallel in interface ILcdObliqueCylindrical
      Returns:
      the latitude of the standardParallel of this ILcdObliqueCylindrical.
      See Also:
    • getCentralMeridian

      public double getCentralMeridian()
      Description copied from interface: ILcdObliqueCylindrical
      Gets the longitude of the centralMeridian of this ILcdObliqueCylindrical.
      Specified by:
      getCentralMeridian in interface ILcdObliqueCylindrical
      Returns:
      the longitude of the centralMeridian of this ILcdObliqueCylindrical.
      See Also:
    • getAzimuth

      public double getAzimuth()
      Description copied from interface: ILcdObliqueCylindrical
      Gets the azimuth of this ILcdObliqueCylindrical.
      Specified by:
      getAzimuth in interface ILcdObliqueCylindrical
      Returns:
      the azimuth of this ILcdObliqueCylindrical.
      See Also:
    • getOrigin

      public ILcdPoint getOrigin()
      Description copied from interface: ILcdProjection
      Origin of the projection is the ILcd2DEditablePoint that corresponds with origin (0, 0) of the cartesian coordinate system of the projection.
      Specified by:
      getOrigin in interface ILcdProjection
      Returns:
      the origin of the projection.
    • isContinuous

      public boolean isContinuous()
      Description copied from interface: ILcdProjection
      An ILcdProjection is continuous if there are no interruptions in the world coordinates. Most projections are continuous.
      Specified by:
      isContinuous in interface ILcdProjection
      Returns:
      true if the projection is continuous, false otherwise.
    • loadProperties

      public void loadProperties(String aPrefix, Properties aProperty) throws IllegalArgumentException
      Loads the 3 properties of an ALcdObliqueCylindrical: the centralMeridian, the azimuth and the standardParallel. This method will, given aPrefix, analyze the aProperties object to set the properties of this ALcdObliqueCylindrical. The values of following keys are retrieved:
      • <aPrefix><the name of the class that extends this abstract class>.centralMeridian
      • <aPrefix><the name of the class that extends this abstract class>.standardParallel
      • <aPrefix><the name of the class that extends this abstract class>.azimuth
      Specified by:
      loadProperties in interface ILcdProjection
      Parameters:
      aPrefix - prefix of the property names.
      aProperty - Properties object containing the serialized properties.
      Throws:
      IllegalArgumentException - if the projection cannot be created.
    • writePropertiesSFCT

      public void writePropertiesSFCT(String aPrefix, Properties aPropertySFCT)
      Writes the 3 properties of an ALcdObliqueCylindrical: the centralMeridian, the azimuth and the standardParallel. This method will, given aPrefix, store the properties of this ALcdObliqueCylindrical into the aProperties object. The values of following keys are stored:
      • <aPrefix><the name of the class that extends this abstract class>.centralMeridian
      • <aPrefix><the name of the class that extends this abstract class>.standardParallel
      • <aPrefix><the name of the class that extends this abstract class>.azimuth
      Specified by:
      writePropertiesSFCT in interface ILcdProjection
      Parameters:
      aPrefix - prefix for the property names.
      aPropertySFCT - Properties object to store the serialized properties by side effect.
    • calculateCachedValues

      protected void calculateCachedValues()
      Constants based on the longitude, latitude, standard parallel, and azimuth of the projection don't have to be recalculated every time a method is called. They only have to be calculated when the projection properties change. Within the methods the precalculated values then can be used in order to gain efficiency.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object aObject)
      Description copied from interface: ILcdProjection
      Checks if this ILcdProjection equals some other Object.
      Specified by:
      equals in interface ILcdProjection
      Overrides:
      equals in class Object
      Parameters:
      aObject - Object to compare with.
      Returns:
      true if the Object is an instance of the same ILcdProjection class and having the same projection properties, false otherwise.
    • clone

      public Object clone()
      Description copied from interface: ILcdProjection
      Makes a deep clone of this ILcdProjection.
      Specified by:
      clone in interface ILcdProjection
      Overrides:
      clone in class ALcdProjection
      Returns:
      deep clone of this ILcdProjection.