Package org.locationtech.proj4j.datum
Class NTV2
java.lang.Object
org.locationtech.proj4j.datum.NTV2
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
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final int
private static final int
private static final int
private static final byte[]
private static final int
private static final int
private static final int
private static final double
private static final int
private static final int
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static double
doubleFromBytes
(byte[] b, int offset, ByteOrder order) private static ByteOrder
guessByteOrder
(byte[] header) Guess byte order / endianness by checking first bytes in headerstatic Grid.ConversionTable
init
(DataInputStream instream) Initialize conversion tablestatic void
load
(DataInputStream instream, Grid grid) Load grid(sub)file into gridstatic boolean
testHeader
(byte[] header) Use header to check file type
-
Field Details
-
MAGIC
private static final byte[] MAGIC -
SEC_RAD
private static final double SEC_RAD- See Also:
-
HEADER_SIZE
private static final int HEADER_SIZE- See Also:
-
SUB_HEADER_SIZE
private static final int SUB_HEADER_SIZE- See Also:
-
VALUES_PER_CELL
private static final int VALUES_PER_CELL- See Also:
-
NUM_OREC
private static final int NUM_OREC- See Also:
-
S_LAT
private static final int S_LAT- See Also:
-
N_LAT
private static final int N_LAT- See Also:
-
E_LONG
private static final int E_LONG- See Also:
-
W_LONG
private static final int W_LONG- See Also:
-
LAT_INC
private static final int LAT_INC- See Also:
-
LONG_INC
private static final int LONG_INC- See Also:
-
-
Constructor Details
-
NTV2
public NTV2()
-
-
Method Details
-
testHeader
public static boolean testHeader(byte[] header) Use header to check file type- Parameters:
header
-- Returns:
- true if format is NTv2
-
init
Initialize conversion table- Parameters:
instream
-- Returns:
- Throws:
IOException
-
load
Load grid(sub)file into grid- Parameters:
instream
-grid
-- Throws:
IOException
-
guessByteOrder
Guess byte order / endianness by checking first bytes in header- Parameters:
header
-- Returns:
- endianness
-
doubleFromBytes
-