Class StationData



  • public class StationData
    extends java.lang.Object
    Template
    • Field Detail

      • data

        public double[][] data
      • stations

        public java.util.List<java.lang.String> stations
      • dataExtent

        public Extent dataExtent
      • missingValue

        public double missingValue
    • Constructor Detail

      • StationData

        public StationData​()
        Constructor
      • StationData

        public StationData​(ucar.ma2.Array a,
                           ucar.ma2.Array x,
                           ucar.ma2.Array y,
                           java.lang.Number missingv)
        Constructor
        Parameters:
        a - Array data
        x - Array x
        y - Array y
        missingv - Missing value
      • StationData

        public StationData​(StationData aStData)
        Constructor
        Parameters:
        aStData - Station data
    • Method Detail

      • getStNum

        public int getStNum​()
        Get station number
        Returns:
        Station number
      • getX

        public double[] getX​()
        Get X coordinates array
        Returns:
        X array
      • getXList

        public java.util.List<java.lang.Double> getXList​()
        Get X coordinates array
        Returns:
        X array
      • getY

        public double[] getY​()
        Get Y coordinates array
        Returns:
        Y array
      • getYList

        public java.util.List<java.lang.Double> getYList​()
        Get Y coordinates array
        Returns:
        Y array
      • setData

        public void setData​(double[][] value)
        Set data array
        Parameters:
        value - Data array
      • add

        public StationData add​(StationData bStData)
        Add operator with another station data
        Parameters:
        bStData - Station data
        Returns:
        Result station data
      • add

        public StationData add​(double value)
        Add operator with a double value
        Parameters:
        value - The value
        Returns:
        Result station data
      • sub

        public StationData sub​(StationData bStData)
        Subtract operator with another station data
        Parameters:
        bStData - Station data
        Returns:
        Result station data
      • sub

        public StationData sub​(double value)
        Subtract operator with a double value
        Parameters:
        value - The value
        Returns:
        Result station data
      • mul

        public StationData mul​(StationData bStData)
        multiply operator with another station data
        Parameters:
        bStData - Station data
        Returns:
        Result station data
      • mul

        public StationData mul​(double value)
        Multiply operator with a double value
        Parameters:
        value - The value
        Returns:
        Result station data
      • div

        public StationData div​(StationData bStData)
        Divide operator with another station data
        Parameters:
        bStData - Station data
        Returns:
        Result station data
      • div

        public StationData div​(double value)
        Divide operator with a double value
        Parameters:
        value - The value
        Returns:
        Result station data
      • abs

        public StationData abs​()
        Calculate abstract station data
        Returns:
        Result station data
      • acos

        public StationData acos​()
        Calculate anti-cosine station data
        Returns:
        Result station data
      • asin

        public StationData asin​()
        Calculate anti-sine station data
        Returns:
        Result station data
      • atan

        public StationData atan​()
        Calculate anti-tangent station data
        Returns:
        Result station data
      • cos

        public StationData cos​()
        Calculate cosine station data
        Returns:
        Result station data
      • sin

        public StationData sin​()
        Calculate sine station data
        Returns:
        Result station data
      • tan

        public StationData tan​()
        Calculate tangent station data
        Returns:
        Result station data
      • exp

        public StationData exp​()
        Calculate e raised specific power value of station data
        Returns:
        Result station data
      • pow

        public StationData pow​(double p)
        Calculate power station data
        Parameters:
        p - Power value
        Returns:
        Result station data
      • sqrt

        public StationData sqrt​()
        Calculate square root station data
        Returns:
        Result station data
      • log

        public StationData log​()
        Calculate logrithm station data
        Returns:
        Result station data
      • log10

        public StationData log10​()
        Calculate base 10 logrithm station data
        Returns:
        Result station data
      • addData

        public void addData​(java.lang.String id,
                            double x,
                            double y,
                            double value)
        Add a data
        Parameters:
        id - Data identifer
        x - X coordinate
        y - Y coordinate
        value - Value
      • getStid

        public java.lang.String getStid​(int idx)
        Get station identifer by index
        Parameters:
        idx - Index
        Returns:
        Station identifer
      • setStid

        public void setStid​(int idx,
                            java.lang.String value)
        Set station identifer by index
        Parameters:
        idx - Index
        value - Station identifer
      • getX

        public double getX​(int idx)
        Get x coordinate by index
        Parameters:
        idx - Index
        Returns:
        X coordinate
      • getY

        public double getY​(int idx)
        Get y coordinate by index
        Parameters:
        idx - Index
        Returns:
        Y coordinate
      • getValue

        public double getValue​(int idx)
        Get data value by index
        Parameters:
        idx - Index
        Returns:
        Data value
      • setValue

        public void setValue​(int idx,
                             double value)
        Set data value by index
        Parameters:
        idx - Index
        value - Data value
      • getValues

        public java.util.List<java.lang.Double> getValues​()
        Get values
        Returns:
        Values
      • getValidValues

        public java.util.List<java.lang.Double> getValidValues​()
        Get valid values
        Returns:
        Values
      • indexOf

        public int indexOf​(int stid)
        Index of - by station identifer
        Parameters:
        stid - Station identifer
        Returns:
        Data index
      • saveAsCSVFile

        public void saveAsCSVFile​(java.lang.String fileName,
                                  java.lang.String fieldName)
        Save station data to a CVS file
        Parameters:
        fileName - File name
        fieldName - Field name
      • saveAsCSVFile

        public void saveAsCSVFile​(java.lang.String fileName,
                                  java.lang.String fieldName,
                                  boolean saveMissingData)
        Save station data to a CVS file
        Parameters:
        fileName - File name
        fieldName - Field name
        saveMissingData - If save missing data
      • maskout

        public StationData maskout​(PolygonShape polygonShape)
        Maskout station data
        Parameters:
        polygonShape - Mask polygon shape
        Returns:
        Result station data
      • maskout

        public StationData maskout​(java.util.List<PolygonShape> polygonShapes)
        Maskout station data
        Parameters:
        polygonShapes - Mask polygon shapes
        Returns:
        Result station data
      • maskout

        public StationData maskout​(VectorLayer maskLayer)
        Maskout station data
        Parameters:
        maskLayer - Mask layer
        Returns:
        Result station data
      • maskin

        public StationData maskin​(PolygonShape polygonShape)
        Maskin station data
        Parameters:
        polygonShape - Mask polygon shape
        Returns:
        Result station data
      • maskin

        public StationData maskin​(java.util.List<PolygonShape> polygonShapes)
        Maskin station data
        Parameters:
        polygonShapes - Mask polygon shapes
        Returns:
        Result station data
      • maskin

        public StationData maskin​(VectorLayer maskLayer)
        Maskin station data
        Parameters:
        maskLayer - Mask layer
        Returns:
        Result station data
      • filter

        public StationData filter​(java.util.List<java.lang.String> stations)
        Filter station data
        Parameters:
        stations - Station identifer list
        Returns:
        Result station data
      • join

        public StationData join​(StationData indata)
        Join an other station data
        Parameters:
        indata - Other station data
        Returns:
        Joined station data
      • project

        public StationData project​(ProjectionInfo fromProj,
                                   ProjectionInfo toProj)
        Project station data
        Parameters:
        fromProj - From projection info
        toProj - To projection info
        Returns:
        Projected station data
      • getStidIndex

        public int getStidIndex​(java.lang.String stid)
        Get station identifer index
        Parameters:
        stid - Station identifer
        Returns:
        Index
      • updateExtent

        public void updateExtent​()
        Update data extent
      • interpolateData

        public GridData interpolateData​(InterpolationSetting interSet)
        Interpolate to grid data
        Parameters:
        interSet - Interpolation setting
        Returns:
        Grid data
      • interpolate_Radius

        public GridData interpolate_Radius​(double[][] S,
                                           double[] X,
                                           double[] Y,
                                           int minPNum,
                                           double radius,
                                           double missingValue)
        Interpolate by IDW radius method
        Parameters:
        S - Station data array
        X - X coordinate array
        Y - Y coordinate array
        minPNum - Minimum point number
        radius - Radius
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Radius

        public GridData interpolate_Radius​(java.util.List<java.lang.Number> X,
                                           java.util.List<java.lang.Number> Y,
                                           int minPNum,
                                           double radius,
                                           double missingValue)
        Interpolate by IDW radius method
        Parameters:
        X - X coordinate array
        Y - Y coordinate array
        minPNum - Minimum point number
        radius - Radius
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Neighbor

        public GridData interpolate_Neighbor​(double[][] S,
                                             double[] X,
                                             double[] Y,
                                             int pNum,
                                             double missingValue)
        Interpolate by IDW_Neighbor method
        Parameters:
        S - Station data array
        X - X coordinate array
        Y - Y coordinate array
        pNum - Point number
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Neighbor

        public GridData interpolate_Neighbor​(java.util.List<java.lang.Number> X,
                                             java.util.List<java.lang.Number> Y,
                                             int pNum,
                                             double missingValue)
        Interpolate by IDW_Neighbor method
        Parameters:
        X - X coordinate array
        Y - Y coordinate array
        pNum - Point number
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Cressman

        public GridData interpolate_Cressman​(double[][] S,
                                             double[] X,
                                             double[] Y,
                                             java.util.List<java.lang.Double> radList,
                                             double missingValue)
        Interpolation by Cressman method
        Parameters:
        S - Station data array
        X - X coordinate array
        Y - Y coordinate array
        radList - Radius list
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Cressman

        public GridData interpolate_Cressman​(java.util.List<java.lang.Number> X,
                                             java.util.List<java.lang.Number> Y,
                                             java.util.List<java.lang.Number> radList,
                                             double missingValue)
        Interpolation by Cressman method
        Parameters:
        X - X coordinate array
        Y - Y coordinate array
        radList - Radius list
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Assign

        public GridData interpolate_Assign​(double[][] S,
                                           double[] X,
                                           double[] Y,
                                           double missingValue)
        Interpolation by assign method
        Parameters:
        S - Station data array
        X - X coordinate array
        Y - Y coordinate array
        missingValue - Missing value
        Returns:
        Grid data
      • interpolate_Assign

        public GridData interpolate_Assign​(java.util.List<java.lang.Number> X,
                                           java.util.List<java.lang.Number> Y,
                                           double missingValue)
        Interpolation by assign method
        Parameters:
        X - X coordinate array
        Y - Y coordinate array
        missingValue - Missing value
        Returns:
        Grid data
      • createGridXY

        public java.util.List<double[]> createGridXY​(GridDataSetting gSet)
        Create grid X/Y coordinate
        Parameters:
        gSet -
        Returns:
        X/Y coordinate array list
      • filterData_Radius

        public void filterData_Radius​(double radius,
                                      Extent aExtent)
        Filte station data by radius and extent
        Parameters:
        radius - Radius
        aExtent - Data extent
      • getMinValue

        public double getMinValue​()
        Get minimum value
        Returns:
        Minimum value
      • getMaxValue

        public double getMaxValue​()
        Get maximum value
        Returns:
        Maximum value
      • getMinValueIndex

        public java.lang.Object[] getMinValueIndex​()
        Get minimum value and index
        Returns:
        Minimum value and index
      • getMaxValueIndex

        public java.lang.Object[] getMaxValueIndex​()
        Get maximum value and index
        Returns:
        Maximum value and index
      • getMaxMinValue

        public boolean getMaxMinValue​(double[] maxmin)
        Get maximum and minimum values
        Parameters:
        maxmin - Maximum and minimum value array
        Returns:
        Has missing value or not
      • average

        public double average​()
        Calculate average value
        Returns:
        Average value
      • sum

        public double sum​()
        Calculate summary value
        Returns:
        Summary value