Package org.locationtech.proj4j.datum
Class NTV2
- java.lang.Object
-
- org.locationtech.proj4j.datum.NTV2
-
public final class NTV2 extends java.lang.Object
Parser for the "National Transformation" v2 format Very basic implementation: only files with 1 subfile are supported, gridshift type is supposed to be in seconds Header structure:0 8 16 |NUM_OREC|iiii | |NUM_SREC|iiii | |NUM_FILE|iiii | |GS_TYPE |ssssssss| |VERSION |ssssssss| |SYSTEM_F|ssssssss| |SYSTEM_T|ssssssss| |MAJOR_F |dddddddd| |MINOR_F |dddddddd| |MAJOR_T |dddddddd| |MINOR_T |dddddddd|
Subfile header:|SUB_NAME|ssssssss| |PARENT |ssssssss| |CREATED |ssssssss| |UPDATED |ssssssss| |S_LAT |dddddddd| |N_LAT |dddddddd| |E_LONG |dddddddd| |W_LONG |dddddddd| |LAT_INC |dddddddd| |LONG_INC|dddddddd| |GS_COUNT|iiii |
Grid shift records|dddd|dddd|dddd|dddd|
End of File record|END |dddddddd|
-
-
Field Summary
Fields Modifier and Type Field Description private static int
E_LONG
private static int
HEADER_SIZE
private static int
LAT_INC
private static int
LONG_INC
private static byte[]
MAGIC
private static int
N_LAT
private static int
NUM_OREC
private static int
S_LAT
private static double
SEC_RAD
private static int
SUB_HEADER_SIZE
private static int
VALUES_PER_CELL
private static int
W_LONG
-
Constructor Summary
Constructors Constructor Description NTV2()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static double
doubleFromBytes(byte[] b, int offset, java.nio.ByteOrder order)
private static java.nio.ByteOrder
guessByteOrder(byte[] header)
Guess byte order / endianness by checking first bytes in headerstatic Grid.ConversionTable
init(java.io.DataInputStream instream)
Initialize conversion tablestatic void
load(java.io.DataInputStream instream, Grid grid)
Load grid(sub)file into gridstatic boolean
testHeader(byte[] header)
Use header to check file type
-
-
-
Field Detail
-
MAGIC
private static final byte[] MAGIC
-
SEC_RAD
private static final double SEC_RAD
- See Also:
- Constant Field Values
-
HEADER_SIZE
private static final int HEADER_SIZE
- See Also:
- Constant Field Values
-
SUB_HEADER_SIZE
private static final int SUB_HEADER_SIZE
- See Also:
- Constant Field Values
-
VALUES_PER_CELL
private static final int VALUES_PER_CELL
- See Also:
- Constant Field Values
-
NUM_OREC
private static final int NUM_OREC
- See Also:
- Constant Field Values
-
S_LAT
private static final int S_LAT
- See Also:
- Constant Field Values
-
N_LAT
private static final int N_LAT
- See Also:
- Constant Field Values
-
E_LONG
private static final int E_LONG
- See Also:
- Constant Field Values
-
W_LONG
private static final int W_LONG
- See Also:
- Constant Field Values
-
LAT_INC
private static final int LAT_INC
- See Also:
- Constant Field Values
-
LONG_INC
private static final int LONG_INC
- See Also:
- Constant Field Values
-
-
Method Detail
-
testHeader
public static boolean testHeader(byte[] header)
Use header to check file type- Parameters:
header
-- Returns:
- true if format is NTv2
-
init
public static Grid.ConversionTable init(java.io.DataInputStream instream) throws java.io.IOException
Initialize conversion table- Parameters:
instream
-- Returns:
- Throws:
java.io.IOException
-
load
public static void load(java.io.DataInputStream instream, Grid grid) throws java.io.IOException
Load grid(sub)file into grid- Parameters:
instream
-grid
-- Throws:
java.io.IOException
-
guessByteOrder
private static java.nio.ByteOrder guessByteOrder(byte[] header)
Guess byte order / endianness by checking first bytes in header- Parameters:
header
-- Returns:
- endianness
-
doubleFromBytes
private static double doubleFromBytes(byte[] b, int offset, java.nio.ByteOrder order)
-
-