Class InterpolationTableLoader

  • All Implemented Interfaces:
    DataLoader

    public class InterpolationTableLoader
    extends Object
    implements DataLoader
    Used to read an interpolation table from a data file.
    Author:
    Thomas Neidhart
    • Constructor Detail

      • InterpolationTableLoader

        public InterpolationTableLoader()
        Empty constructor.

        This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.

        Since:
        12.0
    • Method Detail

      • getAbscissaGrid

        public double[] getAbscissaGrid()
        Returns a copy of the abscissa grid for the interpolation function.
        Returns:
        the abscissa grid for the interpolation function, or null if the file could not be read
      • getOrdinateGrid

        public double[] getOrdinateGrid()
        Returns a copy of the ordinate grid for the interpolation function.
        Returns:
        the ordinate grid for the interpolation function, or null if the file could not be read
      • getValuesSamples

        public double[][] getValuesSamples()
        Returns a copy of the values samples for the interpolation function.
        Returns:
        the values samples for the interpolation function, or null if the file could not be read
      • stillAcceptsData

        public boolean stillAcceptsData()
        Check if the loader still accepts new data.

        This method is used to speed up data loading by interrupting crawling the data sets as soon as a loader has found the data it was waiting for. For loaders that can merge data from any number of sources (for example JPL ephemerides or Earth Orientation Parameters that are split among several files), this method should always return true to make sure no data is left over.

        Specified by:
        stillAcceptsData in interface DataLoader
        Returns:
        true while the loader still accepts new data
      • loadData

        public void loadData​(InputStream input,
                             String name)
                      throws IOException,
                             ParseException
        Loads an bi-variate interpolation table from the given InputStream. The format of the table is as follows (number of rows/columns can be extended):
          Table: tableName
        
              | 0.0 |  60.0 |  66.0
          -------------------------
            0 | 0.0 | 0.003 | 0.006
          500 | 0.0 | 0.003 | 0.006
         
        Specified by:
        loadData in interface DataLoader
        Parameters:
        input - the input stream to read data from
        name - the name of the input file
        Throws:
        IOException - if data can't be read
        ParseException - if data can't be parsed