Class GridArray



  • public class GridArray
    extends java.lang.Object
    • Field Detail

      • data

        public ucar.ma2.Array data
        Grid data
      • xArray

        public double[] xArray
      • yArray

        public double[] yArray
      • missingValue

        public double missingValue
      • fieldName

        public java.lang.String fieldName
    • Constructor Detail

      • GridArray

        public GridArray​()
        Constructor
      • GridArray

        public GridArray​(GridArray aGridData)
        Constructor
        Parameters:
        aGridData - The grid data
      • GridArray

        public GridArray​(double xStart,
                         double xDelt,
                         int xNum,
                         double yStart,
                         double yDelt,
                         int yNum)
        Constructor
        Parameters:
        xStart - xArray start
        xDelt - xArray delt
        xNum - xArray number
        yStart - yArray start
        yDelt - yArray delt
        yNum - yArray number
      • GridArray

        public GridArray​(ucar.ma2.Array array,
                         java.util.List<java.lang.Number> xdata,
                         java.util.List<java.lang.Number> ydata,
                         double missingValue,
                         ProjectionInfo projInfo)
        Constructor
        Parameters:
        array - Data array
        xdata - X data
        ydata - Y data
        missingValue - Missing value
        projInfo - Projection info
      • GridArray

        public GridArray​(ucar.ma2.Array array,
                         ucar.ma2.Array xdata,
                         ucar.ma2.Array ydata,
                         java.lang.Number missingValue)
        Constructor
        Parameters:
        array - Data array
        xdata - X data
        ydata - Y data
        missingValue - Missing value
    • Method Detail

      • getXNum

        public int getXNum​()
        Get xArray number
        Returns:
        xArray number
      • getYNum

        public int getYNum​()
        Get yArray number
        Returns:
        yArray number
      • getXDelt

        public double getXDelt​()
        Get xArray delt
        Returns:
        xArray delt
      • getYDelt

        public double getYDelt​()
        Get yArray delt
        Returns:
        yArray delt
      • getExtent

        public Extent getExtent​()
        Get Extent
        Returns:
        Extent
      • isGlobal

        public boolean isGlobal​()
        Get if the data is global
        Returns:
        If the data is global
      • isXStagger

        public boolean isXStagger​()
        Get if is x stagger
        Returns:
        Boolean
      • setXStagger

        public void setXStagger​(boolean value)
        Set if is x stagger
        Parameters:
        value - Boolean
      • isYStagger

        public boolean isYStagger​()
        Get if is y stagger
        Returns:
        Boolean
      • setYStagger

        public void setYStagger​(boolean value)
        Set if is y stagger
        Parameters:
        value - Boolean
      • getValue

        public java.lang.Number getValue​(int i,
                                         int j)
        Get value
        Parameters:
        i - I index
        j - J index
        Returns:
        Value
      • getDoubleValue

        public double getDoubleValue​(int i,
                                     int j)
        Get double value
        Parameters:
        i - I index
        j - J index
        Returns:
        Double value
      • getDimensions

        public java.util.List<Dimension> getDimensions​()
        Get dimensions
        Returns:
        Dimensions
      • getXMin

        public double getXMin​()
        Get minimum x
        Returns:
        Minimum x
      • getXMax

        public double getXMax​()
        Get maximum x
        Returns:
        Maximum x
      • getYMin

        public double getYMin​()
        Get minimum y
        Returns:
        Minimum y
      • getYMax

        public double getYMax​()
        Get maximum y
        Returns:
        Maximum y
      • getBorderXMin

        public double getBorderXMin​()
        Get minimum x of the grid border
        Returns:
        Minimum x of the grid border
      • getBorderXMax

        public double getBorderXMax​()
        Get maximum x of the grid border
        Returns:
        Maximum x of the grid border
      • getBorderYMin

        public double getBorderYMin​()
        Get minimum y of the grid border
        Returns:
        Minimum y of the grid border
      • getBorderYMax

        public double getBorderYMax​()
        Get maximum y of the grid border
        Returns:
        Maximum y of the grid border
      • getIJIndex

        public int[] getIJIndex​(double x,
                                double y)
        Get i/j index of a point in the grid
        Parameters:
        x - The x coordinate
        y - The y coordinate
        Returns:
        I/J index array
      • testUniqueValues

        public boolean testUniqueValues​()
        Test unique values
        Returns:
        True if unique value number less then 20
      • getUniqueValues

        public java.util.List<java.lang.Number> getUniqueValues​()
        Get unique values
        Returns:
        Unique values
      • getGridDataSetting

        public GridDataSetting getGridDataSetting​()
        Get grid data setting
        Returns:
        Grid data setting
      • getMaxMinValue

        public boolean getMaxMinValue​(double[] maxmin)
        Get maximum and minimum values
        Parameters:
        maxmin - Max/Min array
        Returns:
        If has undefine data
      • min

        public double min​()
        Minimum
        Returns:
        Minimum value
      • max

        public double max​()
        Maximum
        Returns:
        Maximum value
      • hasNaN

        public boolean hasNaN​()
        Get if has NaN value
        Returns:
        Boolean
      • project

        public GridArray project​(ProjectionInfo toProj)
                          throws ucar.ma2.InvalidRangeException
        Project grid data
        Parameters:
        toProj - To projection
        Returns:
        Projected grid data
        Throws:
        ucar.ma2.InvalidRangeException
      • project

        public GridArray project​(ProjectionInfo fromProj,
                                 ProjectionInfo toProj)
                          throws ucar.ma2.InvalidRangeException
        Project grid data
        Parameters:
        fromProj - From projection
        toProj - To projection
        Returns:
        Porjected grid data
        Throws:
        ucar.ma2.InvalidRangeException
      • project

        public GridArray project​(ProjectionInfo fromProj,
                                 ProjectionInfo toProj,
                                 ResampleMethods resampleMethod)
                          throws ucar.ma2.InvalidRangeException
        Project grid data
        Parameters:
        fromProj - From projection
        toProj - To projection
        resampleMethod - Interpolation method
        Returns:
        Porjected grid data
        Throws:
        ucar.ma2.InvalidRangeException
      • saveAsSurferASCIIFile

        public void saveAsSurferASCIIFile​(java.lang.String aFile)
        Save as Surfer ASCII data file
        Parameters:
        aFile - File path
      • saveAsESRIASCIIFile

        public void saveAsESRIASCIIFile​(java.lang.String aFile)
        Save as ESRI ASCII data file
        Parameters:
        aFile - File path
      • saveAsBILFile

        public void saveAsBILFile​(java.lang.String fileName)
                           throws java.io.IOException
        Save as BIL data file
        Parameters:
        fileName - File path
        Throws:
        java.io.IOException
      • saveAsMICAPS4File

        public void saveAsMICAPS4File​(java.lang.String aFile,
                                      java.lang.String description,
                                      java.util.Date aTime,
                                      int hours,
                                      int level,
                                      float smooth,
                                      float boldValue,
                                      java.lang.String floatFormat)
                               throws java.io.IOException
        Save as MICAPS 4 data file
        Parameters:
        aFile - File path
        description - Description
        aTime - Data time
        hours - Hours
        level - Levels
        smooth - Smooth coefficient
        boldValue - Bold value
        floatFormat - Float format
        Throws:
        java.io.IOException
      • saveAsMICAPS4File

        public void saveAsMICAPS4File​(java.lang.String aFile,
                                      java.lang.String description,
                                      java.util.Date aTime,
                                      int hours,
                                      int level,
                                      float smooth,
                                      float boldValue,
                                      java.lang.String floatFormat,
                                      ProjectionInfo projInfo)
                               throws java.io.IOException
        Save as MICAPS 4 data file
        Parameters:
        aFile - File path
        description - Description
        aTime - Data time
        hours - Hours
        level - Levels
        smooth - Smooth coefficient
        boldValue - Bold value
        floatFormat - Float format
        projInfo - Projection info
        Throws:
        java.io.IOException
      • clone

        public java.lang.Object clone​()
        Clone
        Overrides:
        clone in class java.lang.Object
        Returns:
        Grid data object