ucar.nc2.ft.point.standard
Class NestedTable

java.lang.Object
  extended by ucar.nc2.ft.point.standard.NestedTable

public class NestedTable
extends java.lang.Object

Implements "nested table" views of point feature datasets. A NestedTable is initialized with a TableConfig.

A nested table starts with a leaf table (no children), plus all of its parents. There is a "join" for each child and parent.

Assumes that we have Tables that can be iterated over with a StructureDataIterator. A parent-child join assumes that for each row of the parent, a StructureDataIterator exists that iterates over the rows of the child table for that parent.

Nested Tables must be put in canonical form, based on feature type:

  1. point : obsTable
  2. station : stnTable -> obsTable
  3. traj : trajTable -> obsTable
  4. profile : profileTable -> obsTable
  5. stationProfile : stnTable -> profileTable -> obsTable
  6. section : sectionTable -> trajTable -> obsTable

Since:
Mar 28, 2008
Author:
caron

Method Summary
 void addParentJoin(Cursor cursor)
           
 java.util.List<VariableSimpleIF> getDataVariables()
           
 EarthLocation getEarthLocation(Cursor cursor)
           
 StructureDataIterator getFeatureDataIterator(int bufferSize)
           
 java.lang.String getFeatureName(StructureData sdata)
           
 StructureDataIterator getFeatureObsDataIterator(Cursor cursor, int bufferSize)
           
 FeatureType getFeatureType()
           
 double getLatitude(Cursor cursor)
           
 double getLongitude(Cursor cursor)
           
 java.lang.String getName()
           
 double getNomTime(Cursor cursor)
           
 int getNumberOfLevels()
           
 StructureDataIterator getObsDataIterator(Cursor cursor, int bufferSize)
           
 double getObsTime(Cursor cursor)
           
 StructureDataIterator getStationDataIterator(int bufferSize)
           
 StructureDataIterator getStationObsDataIterator(Cursor cursor, int bufferSize)
           
 StructureDataIterator getStationProfileDataIterator(Cursor cursor, int bufferSize)
           
 StructureDataIterator getStationProfileObsDataIterator(Cursor cursor, int bufferSize)
           
 DateUnit getTimeUnit()
           
 boolean hasCoords()
           
 StructureData makeObsStructureData(Cursor cursor)
           
 Station makeStation(StructureData stationData)
           
 java.util.List<Station> makeStations(int bufferSize)
           
 void show(java.util.Formatter formatter)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getFeatureType

public FeatureType getFeatureType()

getNumberOfLevels

public int getNumberOfLevels()

hasCoords

public boolean hasCoords()

getTimeUnit

public DateUnit getTimeUnit()

getDataVariables

public java.util.List<VariableSimpleIF> getDataVariables()

getName

public java.lang.String getName()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

show

public void show(java.util.Formatter formatter)

getObsDataIterator

public StructureDataIterator getObsDataIterator(Cursor cursor,
                                                int bufferSize)
                                         throws java.io.IOException
Throws:
java.io.IOException

makeStations

public java.util.List<Station> makeStations(int bufferSize)
                                     throws java.io.IOException
Throws:
java.io.IOException

getStationDataIterator

public StructureDataIterator getStationDataIterator(int bufferSize)
                                             throws java.io.IOException
Throws:
java.io.IOException

getStationObsDataIterator

public StructureDataIterator getStationObsDataIterator(Cursor cursor,
                                                       int bufferSize)
                                                throws java.io.IOException
Throws:
java.io.IOException

getFeatureDataIterator

public StructureDataIterator getFeatureDataIterator(int bufferSize)
                                             throws java.io.IOException
Throws:
java.io.IOException

getFeatureObsDataIterator

public StructureDataIterator getFeatureObsDataIterator(Cursor cursor,
                                                       int bufferSize)
                                                throws java.io.IOException
Throws:
java.io.IOException

getStationProfileDataIterator

public StructureDataIterator getStationProfileDataIterator(Cursor cursor,
                                                           int bufferSize)
                                                    throws java.io.IOException
Throws:
java.io.IOException

getStationProfileObsDataIterator

public StructureDataIterator getStationProfileObsDataIterator(Cursor cursor,
                                                              int bufferSize)
                                                       throws java.io.IOException
Throws:
java.io.IOException

getObsTime

public double getObsTime(Cursor cursor)

getNomTime

public double getNomTime(Cursor cursor)

getLatitude

public double getLatitude(Cursor cursor)

getLongitude

public double getLongitude(Cursor cursor)

getEarthLocation

public EarthLocation getEarthLocation(Cursor cursor)

getFeatureName

public java.lang.String getFeatureName(StructureData sdata)

makeStation

public Station makeStation(StructureData stationData)

makeObsStructureData

public StructureData makeObsStructureData(Cursor cursor)

addParentJoin

public void addParentJoin(Cursor cursor)
                   throws java.io.IOException
Throws:
java.io.IOException