Class StatePlaneProjection

All Implemented Interfaces:
Cloneable, ProjectionConstants

public class StatePlaneProjection extends GCTPCStyleProjection
The StatePlaneProjection class performs State Plane map projection calculations.
Since:
3.3.0
Author:
Peter Hollemans
  • Constructor Details

    • StatePlaneProjection

      public StatePlaneProjection(int[] dimensions, AffineTransform affine, long zone, long sphere, String fn27, String fn83) throws NoninvertibleTransformException
      Constructs a map projection from the specified projection and affine transform. The SpheroidConstants and ProjectionConstants class should be consulted for valid parameter constants.
      Parameters:
      dimensions - the dimensions of the data grid as [rows, columns].
      affine - the affine transform for translating data [row, column] to map [x, y].
      zone - the zone number.
      sphere - the spheroid number.
      fn27 - the name of file containing the NAD27 parameters.
      fn83 - the name of file containing the NAD83 parameters.
      Throws:
      NoninvertibleTransformException - if the map projection to data coordinate affine transform is not invertible.
      IllegalArgumentException - if the paramaters have an inconsistency.
  • Method Details

    • projfor

      protected long projfor(double lat, double lon, double[] x, double[] y)
      Description copied from class: GCTPCStyleProjection
      Performs the actual forward calculation as specified in the GCTP C code. This method is as close as possible to the native C function signature.
      Specified by:
      projfor in class GCTPCStyleProjection
      Parameters:
      lat - the latitude to convert.
      lon - the longitude to convert.
      x - the map coordinate x value (modified).
      y - the map coordinate y value (modified).
      Returns:
      OK on success, or not OK on failure.
    • mapTransformFor

      public void mapTransformFor(double[] lonLat, double[] xy)
      Description copied from class: MapProjection
      Performs a forward map transformation from (latitude, longitude) coordinates to map (x, y).
      Overrides:
      mapTransformFor in class GCTPCStyleProjection
      Parameters:
      lonLat - the longitude and latitude in radians.
      xy - the x and y in meters or Double.NaN if the transform could not be computed (modified).
    • projinv

      protected long projinv(double x, double y, double[] lon, double[] lat)
      Description copied from class: GCTPCStyleProjection
      Performs the actual inverse calculation as specified in the GCTP C code. This method is as close as possible to the native C function signature.
      Specified by:
      projinv in class GCTPCStyleProjection
      Parameters:
      x - the map coordinate x value (modified).
      y - the map coordinate y value (modified).
      lon - the longitude to convert.
      lat - the latitude to convert.
      Returns:
      OK on success, or not OK on failure.
    • mapTransformInv

      public void mapTransformInv(double[] xy, double[] lonLat)
      Description copied from class: MapProjection
      Performs an inverse map transformation from map (x, y) coordinates to (latitude, longitude).
      Overrides:
      mapTransformInv in class GCTPCStyleProjection
      Parameters:
      xy - the x and y in meters.
      lonLat - the longitude and latitude in radians or Double.NaN if the transform could not be computed (modified).
    • main

      public static void main(String[] argv) throws Exception
      Tests this class.
      Parameters:
      argv - the array of command line parameters.
      Throws:
      Exception