Class UtmProjection

  • All Implemented Interfaces:
    Serializable, Projection

    public class UtmProjection
    extends ProjectionImpl
    Universal Transverse Mercator. Ellipsoidal earth.

    Origin of coordinate system is relative to the point where the central meridian and the equator cross. This point has x,y value = (500, 0) km for north hemisphere. and (500, 10,0000) km for south hemisphere. Increasing values always go north and east.

    The central meridian = (zone * 6 - 183) degrees, where zone in [1,60].

    See Also:
    Serialized Form
    • Constructor Detail

      • UtmProjection

        public UtmProjection()
        Constructor with default parameters
      • UtmProjection

        public UtmProjection​(int zone,
                             boolean isNorth)
        Constructor with default WGS 84 ellipsoid.
        Parameters:
        zone - the UTM zone number (1-60)
        isNorth - true if the UTM coordinate is in the northern hemisphere
      • UtmProjection

        public UtmProjection​(double a,
                             double f,
                             int zone,
                             boolean isNorth)
        Construct a Universal Transverse Mercator Projection.
        Parameters:
        a - the semi-major axis (meters) for the ellipsoid
        f - the inverse flattening for the ellipsoid
        zone - the UTM zone number (1-60)
        isNorth - true if the UTM coordinate is in the northern hemisphere
    • Method Detail

      • getZone

        public int getZone()
        Get the zone number = [1,60]
        Returns:
        zone number
      • isNorth

        public boolean isNorth()
        Get whether in North or South Hemisphere.
        Returns:
        true if north
      • getCentralMeridian

        public double getCentralMeridian()
      • 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
      • latLonToProj

        public double[][] latLonToProj​(double[][] from,
                                       double[][] to,
                                       int latIndex,
                                       int lonIndex)
        Description copied from class: ProjectionImpl
        Convert lat/lon coordinates to projection coordinates.
        Overrides:
        latLonToProj in class ProjectionImpl
        Parameters:
        from - array of lat/lon coordinates: from[2][n], where (from[latIndex][i], from[lonIndex][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
        latIndex - index of lat coordinate; must be 0 or 1
        lonIndex - index of lon coordinate; must be 0 or 1
        Returns:
        the "to" array
      • latLonToProj

        public float[][] latLonToProj​(float[][] from,
                                      float[][] to,
                                      int latIndex,
                                      int lonIndex)
        Description copied from class: ProjectionImpl
        Convert lat/lon coordinates to projection coordinates.
        Overrides:
        latLonToProj in class ProjectionImpl
        Parameters:
        from - array of lat/lon coordinates: from[2][n], where (from[latIndex][i], from[lonIndex][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
        latIndex - index of lat coordinate; must be 0 or 1
        lonIndex - index of lon coordinate; must be 0 or 1
        Returns:
        the "to" array
      • 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
      • projToLatLon

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

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