Class 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|
     
    • 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 header
      static Grid.ConversionTable init​(java.io.DataInputStream instream)
      Initialize conversion table
      static void load​(java.io.DataInputStream instream, Grid grid)
      Load grid(sub)file into grid
      static boolean testHeader​(byte[] header)
      Use header to check file type
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NTV2

        public NTV2()
    • 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)