Package org.meteoinfo.data
Class StationData
- java.lang.Object
-
- org.meteoinfo.data.StationData
-
public class StationData extends java.lang.ObjectTemplate
-
-
Field Summary
Fields Modifier and Type Field Description double[][]dataExtentdataExtentdoublemissingValueProjectionInfoprojInfoProjection informationjava.util.List<java.lang.String>stations
-
Constructor Summary
Constructors Constructor Description StationData()ConstructorStationData(StationData aStData)ConstructorStationData(ucar.ma2.Array a, ucar.ma2.Array x, ucar.ma2.Array y, java.lang.Number missingv)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StationDataabs()Calculate abstract station dataStationDataacos()Calculate anti-cosine station dataStationDataadd(double value)Add operator with a double valueStationDataadd(StationData bStData)Add operator with another station datavoidaddData(java.lang.String id, double x, double y, double value)Add a dataStationDataasin()Calculate anti-sine station dataStationDataatan()Calculate anti-tangent station datadoubleaverage()Calculate average valueStationDatacos()Calculate cosine station datajava.util.List<double[]>createGridXY(GridDataSetting gSet)Create grid X/Y coordinateStationDatadiv(double value)Divide operator with a double valueStationDatadiv(StationData bStData)Divide operator with another station dataStationDataexp()Calculate e raised specific power value of station dataStationDatafilter(java.util.List<java.lang.String> stations)Filter station datavoidfilterData_Radius(double radius, Extent aExtent)Filte station data by radius and extentbooleangetMaxMinValue(double[] maxmin)Get maximum and minimum valuesdoublegetMaxValue()Get maximum valuejava.lang.Object[]getMaxValueIndex()Get maximum value and indexdoublegetMinValue()Get minimum valuejava.lang.Object[]getMinValueIndex()Get minimum value and indexjava.lang.StringgetStid(int idx)Get station identifer by indexintgetStidIndex(java.lang.String stid)Get station identifer indexintgetStNum()Get station numberjava.util.List<java.lang.Double>getValidValues()Get valid valuesdoublegetValue(int idx)Get data value by indexjava.util.List<java.lang.Double>getValues()Get valuesdouble[]getX()Get X coordinates arraydoublegetX(int idx)Get x coordinate by indexjava.util.List<java.lang.Double>getXList()Get X coordinates arraydouble[]getY()Get Y coordinates arraydoublegetY(int idx)Get y coordinate by indexjava.util.List<java.lang.Double>getYList()Get Y coordinates arrayintindexOf(int stid)Index of - by station identiferGridDatainterpolate_Assign(double[][] S, double[] X, double[] Y, double missingValue)Interpolation by assign methodGridDatainterpolate_Assign(java.util.List<java.lang.Number> X, java.util.List<java.lang.Number> Y, double missingValue)Interpolation by assign methodGridDatainterpolate_Cressman(double[][] S, double[] X, double[] Y, java.util.List<java.lang.Double> radList, double missingValue)Interpolation by Cressman methodGridDatainterpolate_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 methodGridDatainterpolate_Neighbor(double[][] S, double[] X, double[] Y, int pNum, double missingValue)Interpolate by IDW_Neighbor methodGridDatainterpolate_Neighbor(java.util.List<java.lang.Number> X, java.util.List<java.lang.Number> Y, int pNum, double missingValue)Interpolate by IDW_Neighbor methodGridDatainterpolate_Radius(double[][] S, double[] X, double[] Y, int minPNum, double radius, double missingValue)Interpolate by IDW radius methodGridDatainterpolate_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 methodGridDatainterpolateData(InterpolationSetting interSet)Interpolate to grid dataStationDatajoin(StationData indata)Join an other station dataStationDatalog()Calculate logrithm station dataStationDatalog10()Calculate base 10 logrithm station dataStationDatamaskin(java.util.List<PolygonShape> polygonShapes)Maskin station dataStationDatamaskin(VectorLayer maskLayer)Maskin station dataStationDatamaskin(PolygonShape polygonShape)Maskin station dataStationDatamaskout(java.util.List<PolygonShape> polygonShapes)Maskout station dataStationDatamaskout(VectorLayer maskLayer)Maskout station dataStationDatamaskout(PolygonShape polygonShape)Maskout station dataStationDatamul(double value)Multiply operator with a double valueStationDatamul(StationData bStData)multiply operator with another station dataStationDatapow(double p)Calculate power station dataStationDataproject(ProjectionInfo fromProj, ProjectionInfo toProj)Project station datavoidsaveAsCSVFile(java.lang.String fileName, java.lang.String fieldName)Save station data to a CVS filevoidsaveAsCSVFile(java.lang.String fileName, java.lang.String fieldName, boolean saveMissingData)Save station data to a CVS filevoidsetData(double[][] value)Set data arrayvoidsetStid(int idx, java.lang.String value)Set station identifer by indexvoidsetValue(int idx, double value)Set data value by indexStationDatasin()Calculate sine station dataStationDatasqrt()Calculate square root station dataStationDatasub(double value)Subtract operator with a double valueStationDatasub(StationData bStData)Subtract operator with another station datadoublesum()Calculate summary valueStationDatatan()Calculate tangent station datavoidupdateExtent()Update data extent
-
-
-
Field Detail
-
data
public double[][] data
-
stations
public java.util.List<java.lang.String> stations
-
dataExtent
public Extent dataExtent
-
missingValue
public double missingValue
-
projInfo
public ProjectionInfo projInfo
Projection information
-
-
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 datax- Array xy- Array ymissingv- 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 identiferx- X coordinatey- Y coordinatevalue- 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- Indexvalue- 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- Indexvalue- 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 namefieldName- 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 namefieldName- Field namesaveMissingData- 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 infotoProj- 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 arrayX- X coordinate arrayY- Y coordinate arrayminPNum- Minimum point numberradius- RadiusmissingValue- 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 arrayY- Y coordinate arrayminPNum- Minimum point numberradius- RadiusmissingValue- 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 arrayX- X coordinate arrayY- Y coordinate arraypNum- Point numbermissingValue- 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 arrayY- Y coordinate arraypNum- Point numbermissingValue- 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 arrayX- X coordinate arrayY- Y coordinate arrayradList- Radius listmissingValue- 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 arrayY- Y coordinate arrayradList- Radius listmissingValue- 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 arrayX- X coordinate arrayY- Y coordinate arraymissingValue- 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 arrayY- Y coordinate arraymissingValue- 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- RadiusaExtent- 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
-
-