|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.geotools.referencing.wkt.Formattable org.geotools.referencing.operation.transform.AbstractMathTransform org.geotools.referencing.operation.transform.NADCONTransform
Transform backed by the North American Datum Conversion grid. The North American Datum Conversion (NADCON) Transform (EPSG code 9613) is a two dimentional datum shift method, created by the National Geodetic Survey (NGS), that uses interpolated values from two grid shift files. This method is used to transform NAD27 (EPSG code 4267) datum coordinates (and some others) to NAD83 (EPSG code 4267) within the United States. There are two set of grid shift files: NADCON and High Accuracy Reference Networks (HARN). NADCON shfts from NAD27 (and some others) to NAD83 while HARN shifts from the NADCON NAD83 to an improved NAD83. Both sets of grid shift files may be downloaded from www.ngs.noaa.gov/PC_PROD/NADCON/.
Some of the NADCON grids, their areas of use, and source datums are shown in the following table.
Shift File Name | Area | Source Datum | Accuracy at 67% confidence (m) |
---|---|---|---|
CONUS | Conterminous U S (lower 48 states) | NAD27 | 0.15 |
ALASKA | Alaska, incl. Aleutian Islands | NAD27 | 0.5 |
HAWAII | Hawaiian Islands | Old Hawaiian (4135) | 0.2 |
STLRNC | St. Lawrence Is., AK | St. Lawrence Island (4136) | -- |
STPAUL | St. Paul Is., AK | St. Paul Island (4137) | -- |
STGEORGE | St. George Is., AK | St. George Island (4138) | -- |
PRVI | Puerto Rico and the Virgin Islands | Puerto Rico (4139) | 0.05 |
Grid shift files come in two formats: binary and text. The files from the NGS are binary and have (latitude shift) and (longitude shift) extentions. Text grids may be created with the NGS nadgrd program and have (latitude shift) and (longitude shift) file extentions. Both types of files may be used here.
The grid names to use for transforming are parameters of this
MathTransform
. This parameter may be the full name and path to the grids
or just the name of the grids if the default location of the grids was set
as a preference. This preference may be set with the main method of this
class.
Transformations here have been tested to be within 0.00001 seconds of values given by the NGS ndcon210 program for NADCON grids. American Samoa and HARN shifts have not yet been tested. References:
Nested Class Summary | |
static class |
NADCONTransform.Provider
The provider for NADCONTransform . |
Constructor Summary | |
NADCONTransform(java.lang.String latGridName,
java.lang.String longGridName)
Constructs a from the specified grid shift files. |
Method Summary | |
boolean |
equals(java.lang.Object object)
Compares the specified object with this math transform for equality. |
org.opengis.parameter.ParameterDescriptorGroup |
getParameterDescriptors()
Returns the parameter descriptors for this math transform. |
org.opengis.parameter.ParameterValueGroup |
getParameterValues()
Returns the parameter values for this math transform. |
int |
getSourceDimensions()
Gets the dimension of input points (always 2). |
int |
getTargetDimensions()
Gets the dimension of output points (always 2). |
int |
hashCode()
Returns a hash value for this transform. |
org.opengis.referencing.operation.MathTransform |
inverse()
Returns the inverse of this transform. |
void |
inverseTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Transforms nad83 values to nad27. |
static void |
main(java.lang.String[] args)
Used to set the preference for the default grid shift file location. |
void |
transform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Transforms a list of coordinate point ordinal values. |
Methods inherited from class org.geotools.referencing.operation.transform.AbstractMathTransform |
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getDimSource, getDimTarget, isIdentity, needCopy, rollLongitude, transform, transform, transform |
Methods inherited from class org.geotools.referencing.wkt.Formattable |
toString, toWKT, toWKT, toWKT |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.opengis.referencing.operation.MathTransform2D |
createTransformedShape, derivative, transform |
Methods inherited from interface org.opengis.referencing.operation.MathTransform |
derivative, isIdentity, toWKT, transform, transform |
Constructor Detail |
public NADCONTransform(java.lang.String latGridName, java.lang.String longGridName) throws org.opengis.parameter.ParameterNotFoundException, org.opengis.referencing.FactoryException
latGridName
- path and name (or just name if #GRID_LOCATION
is set) to the latitude difference file. This will have a or
file extention.longGridName
- path and name (or just name if #GRID_LOCATION
is set) to the longitude difference file. This will have a
or file extention.
org.opengis.parameter.ParameterNotFoundException
- if a math transform parameter cannot be found.
org.opengis.referencing.FactoryException
- if there is a problem creating this math transform
(ie file extentions are unknown or there is an error reading the
grid files)Method Detail |
public org.opengis.parameter.ParameterDescriptorGroup getParameterDescriptors()
getParameterDescriptors
in class AbstractMathTransform
OperationMethod.getParameters()
public org.opengis.parameter.ParameterValueGroup getParameterValues()
getParameterValues
in class AbstractMathTransform
Operation.getParameterValues()
public int getSourceDimensions()
getSourceDimensions
in interface org.opengis.referencing.operation.MathTransform
getSourceDimensions
in class AbstractMathTransform
public int getTargetDimensions()
getTargetDimensions
in interface org.opengis.referencing.operation.MathTransform
getTargetDimensions
in class AbstractMathTransform
public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws org.opengis.referencing.operation.TransformException
transform
in interface org.opengis.referencing.operation.MathTransform
srcPts
- the array containing the source point coordinates.srcOff
- the offset to the first point to be transformed in the
source array.dstPts
- the array into which the transformed point coordinates are
returned. May be the same than .dstOff
- the offset to the location of the first transformed point
that is stored in the destination array.numPts
- the number of point objects to be transformed.
org.opengis.referencing.operation.TransformException
- if the input point is outside the area
covered by this grid.public void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws org.opengis.referencing.operation.TransformException
srcPts
- the array containing the source point coordinates.srcOff
- the offset to the first point to be transformed in the
source array.dstPts
- the array into which the transformed point coordinates are
returned. May be the same than .dstOff
- the offset to the location of the first transformed point
that is stored in the destination array.numPts
- the number of point objects to be transformed.
org.opengis.referencing.operation.TransformException
- if the input point is outside the area
covered by this grid.public org.opengis.referencing.operation.MathTransform inverse()
inverse
in interface org.opengis.referencing.operation.MathTransform
inverse
in class AbstractMathTransform
public final int hashCode()
hashCode
in class AbstractMathTransform
public final boolean equals(java.lang.Object object)
equals
in class AbstractMathTransform
object
- the object to compare to
public static void main(java.lang.String[] args)
Example:
java org.geotools.referencing.operation.transform.NADCONTransform file:///home/rschulz/GIS/NADCON/data
args
- a single argument for the defualt location of grid shift
files
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |