Class TransverseMercator

  • All Implemented Interfaces:
    Serializable, Projection

    public class TransverseMercator
    extends ProjectionImpl
    Transverse Mercator projection, spherical earth. Projection plane is a cylinder tangent to the earth at tangentLon. See John Snyder, Map Projections used by the USGS, Bulletin 1532, 2nd edition (1983), p 53
    See Also:
    Serialized Form
    • Constructor Detail

      • TransverseMercator

        public TransverseMercator()
        Constructor with default parameteres
      • TransverseMercator

        public TransverseMercator​(double lat0,
                                  double tangentLon,
                                  double scale)
        Construct a TransverseMercator Projection.
        Parameters:
        lat0 - origin of projection coord system is at (lat0, tangentLon)
        tangentLon - longitude that the cylinder is tangent at ("central meridian")
        scale - scale factor along the central meridian
      • TransverseMercator

        public TransverseMercator​(double lat0,
                                  double tangentLon,
                                  double scale,
                                  double east,
                                  double north)
        Construct a TransverseMercator Projection.
        Parameters:
        lat0 - origin of projection coord system is at (lat0, tangentLon)
        tangentLon - longitude that the cylinder is tangent at ("central meridian")
        scale - scale factor along the central meridian
        east - false easting in km
        north - false northing in km
      • TransverseMercator

        public TransverseMercator​(double lat0,
                                  double tangentLon,
                                  double scale,
                                  double east,
                                  double north,
                                  double radius)
        Construct a TransverseMercator Projection.
        Parameters:
        lat0 - origin of projection coord system is at (lat0, tangentLon)
        tangentLon - longitude that the cylinder is tangent at ("central meridian")
        scale - scale factor along the central meridian
        east - false easting in units of km
        north - false northing in units of km
        radius - earth radius in km
    • Method Detail

      • getScale

        public double getScale()
        Get the scale
        Returns:
        the scale
      • getTangentLon

        public double getTangentLon()
        Get the tangent longitude in degrees
        Returns:
        the origin longitude in degrees.
      • getOriginLat

        public double getOriginLat()
        Get the origin latitude in degrees
        Returns:
        the origin latitude in degrees.
      • getFalseEasting

        public double getFalseEasting()
        Get the false easting, in units of km.
        Returns:
        the false easting.
      • getFalseNorthing

        public double getFalseNorthing()
        Get the false northing, in units of km
        Returns:
        the false northing.
      • getEarthRadius

        public double getEarthRadius()
      • setScale

        @Deprecated
        public void setScale​(double scale)
        Deprecated.
        Set the scale
        Parameters:
        scale - the scale
      • setOriginLat

        @Deprecated
        public void setOriginLat​(double lat)
        Deprecated.
        Set the origin latitude
        Parameters:
        lat - the origin latitude
      • setTangentLon

        @Deprecated
        public void setTangentLon​(double lon)
        Deprecated.
        Set the tangent longitude
        Parameters:
        lon - the tangent longitude
      • setFalseEasting

        @Deprecated
        public void setFalseEasting​(double falseEasting)
        Deprecated.
        Set the false_easting, in km. natural_x_coordinate + false_easting = x coordinate
        Parameters:
        falseEasting - x offset
      • setFalseNorthing

        @Deprecated
        public void setFalseNorthing​(double falseNorthing)
        Deprecated.
        Set the false northing, in km. natural_y_coordinate + false_northing = y coordinate
        Parameters:
        falseNorthing - y offset
      • toString

        public String toString()
        Description copied from class: ProjectionImpl
        Get a String representation of this projection.
        Overrides:
        toString in class ProjectionImpl
        Returns:
        the name of the projection. This is what gets displayed when you add the projection object to a UI widget (e.g. label, combobox)
      • crossSeam

        public boolean crossSeam​(ProjectionPoint pt1,
                                 ProjectionPoint pt2)
        Does the line between these two points cross the projection "seam".
        Specified by:
        crossSeam in interface Projection
        Specified by:
        crossSeam in class ProjectionImpl
        Parameters:
        pt1 - the line goes between these two points
        pt2 - the line goes between these two points
        Returns:
        false if there is no seam
      • equals

        public boolean equals​(Object o)
        Description copied from class: ProjectionImpl
        Returns true if this represents the same Projection as proj.
        Specified by:
        equals in interface Projection
        Specified by:
        equals in class ProjectionImpl
        Parameters:
        o - projection in question
        Returns:
        true if this represents the same Projection as proj.
      • hashCode

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

        public LatLonPoint projToLatLon​(ProjectionPoint world,
                                        LatLonPointImpl result)
        Convert projection coordinates to a LatLonPoint Note: a new object is not created on each call for the return value.
        Specified by:
        projToLatLon in interface Projection
        Specified by:
        projToLatLon in class ProjectionImpl
        Parameters:
        world - convert from these projection coordinates
        result - the object to write to
        Returns:
        LatLonPoint convert to these lat/lon coordinates
      • latLonToProj

        public float[][] latLonToProj​(float[][] from,
                                      float[][] to,
                                      int latIndex,
                                      int lonIndex)
        Convert lat/lon coordinates to projection coordinates.
        Overrides:
        latLonToProj in class ProjectionImpl
        Parameters:
        from - array of lat/lon coordinates: from[2][n], where from[0][i], from[1][i] is the (lat,lon) coordinate of the ith point
        to - resulting array of projection coordinates, where to[0][i], to[1][i] is the (x,y) coordinate of the ith point
        latIndex - index of latitude in "from"
        lonIndex - index of longitude in "from"
        Returns:
        the "to" array.
      • projToLatLon

        public float[][] projToLatLon​(float[][] from,
                                      float[][] to)
        Convert lat/lon coordinates to projection coordinates.
        Overrides:
        projToLatLon in class ProjectionImpl
        Parameters:
        from - array of lat/lon coordinates: from[2][n], where (from[0][i], from[1][i]) is the (lat,lon) coordinate of the ith point
        to - resulting array of projection coordinates: to[2][n] where (to[0][i], to[1][i]) is the (x,y) coordinate of the ith point
        Returns:
        the "to" array
      • latLonToProj

        public double[][] latLonToProj​(double[][] from,
                                       double[][] to,
                                       int latIndex,
                                       int lonIndex)
        Convert lat/lon coordinates to projection coordinates.
        Overrides:
        latLonToProj in class ProjectionImpl
        Parameters:
        from - array of lat/lon coordinates: from[2][n], where from[0][i], from[1][i] is the (lat,lon) coordinate of the ith point
        to - resulting array of projection coordinates, where to[0][i], to[1][i] is the (x,y) coordinate of the ith point
        latIndex - index of latitude in "from"
        lonIndex - index of longitude in "from"
        Returns:
        the "to" array.
      • projToLatLon

        public double[][] projToLatLon​(double[][] from,
                                       double[][] to)
        Convert lat/lon coordinates to projection coordinates.
        Overrides:
        projToLatLon in class ProjectionImpl
        Parameters:
        from - array of lat/lon coordinates: from[2][n], where (from[0][i], from[1][i]) is the (lat,lon) coordinate of the ith point
        to - resulting array of projection coordinates: to[2][n] where (to[0][i], to[1][i]) is the (x,y) coordinate of the ith point
        Returns:
        the "to" array