|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectucar.nc2.dt.TypedDatasetImpl
ucar.nc2.dt.point.PointObsDatasetImpl
ucar.nc2.dt.point.StationObsDatasetImpl
ucar.nc2.dt.point.OldUnidataStationObsDataset
public class OldUnidataStationObsDataset
This handles datasets in the old metar2nc format. It identifies them by looking at the title, expecting "METAR definition", "SYNOPTIC definition", or "BUOY definition". It uses an NcML file to identify the names of the lat, lon, etc variables.
Since there is no other way to find what the stations are, or to find what data belongs to what station, we read through the entire dataset at open. We construct the list of StationObsDatatype records, but without the data cached.
| Field Summary |
|---|
| Fields inherited from class ucar.nc2.dt.point.StationObsDatasetImpl |
|---|
stationHelper, stations |
| Fields inherited from class ucar.nc2.dt.point.PointObsDatasetImpl |
|---|
formatter, meterUnit, timeUnit |
| Fields inherited from class ucar.nc2.dt.TypedDatasetImpl |
|---|
boundingBox, dataVariables, desc, endDate, location, ncfile, parseInfo, startDate, title |
| Constructor Summary | |
|---|---|
OldUnidataStationObsDataset()
|
|
OldUnidataStationObsDataset(NetcdfDataset ds)
|
|
OldUnidataStationObsDataset(NetcdfDataset ds,
java.lang.String ncmlURL)
|
|
| Method Summary | |
|---|---|
java.util.List |
getData(CancelTask cancel)
Get all data, allow user to cancel. |
java.util.List |
getData(LatLonRect boundingBox,
CancelTask cancel)
Get all data within the specified bounding box, allow user to cancel. |
java.util.List |
getData(LatLonRect boundingBox,
java.util.Date start,
java.util.Date end,
CancelTask cancel)
Get all data within the specified bounding box and date range, allow user to cancel. |
java.util.List |
getData(Station s,
CancelTask cancel)
Get all data for this Station, allow user to cancel. |
int |
getDataCount()
Get estimate of number of data records (may not be exact). |
DataIterator |
getDataIterator(int bufferSize)
Get an efficient iterator over all the data in the Collection. |
int |
getStationDataCount(Station s)
How many Data objects are available for this Station? |
protected void |
init(java.lang.String ncmlURL)
|
boolean |
isMine(NetcdfDataset ds)
Determine if this dataset belongs to you |
static boolean |
isValidFile(NetcdfFile ds)
|
TypedDataset |
open(NetcdfDataset ncd,
CancelTask task,
java.lang.StringBuffer errlog)
Open a NetcdfDataset as a TypedDataset. |
protected void |
setBoundingBox()
|
protected void |
setEndDate()
|
protected void |
setStartDate()
|
protected void |
setTimeUnits()
|
| Methods inherited from class ucar.nc2.dt.point.StationObsDatasetImpl |
|---|
getData, getData, getData, getData, getData, getData, getData, getDataClass, getDataIterator, getDataIterator, getDetailInfo, getScientificDataType, getStation, getStations, getStations, getStations, getStations, sortByTime |
| Methods inherited from class ucar.nc2.dt.point.PointObsDatasetImpl |
|---|
getData, getData, getData, getMetersConversionFactor, getTime, getTimeUnits |
| Methods inherited from class ucar.nc2.dt.TypedDatasetImpl |
|---|
close, findGlobalAttributeIgnoreCase, getBoundingBox, getDataVariable, getDataVariables, getDescription, getEndDate, getGlobalAttributes, getLocationURI, getNetcdfFile, getStartDate, getTitle, removeDataVariable, setDescription, setLocationURI, setTitle |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface ucar.nc2.dt.TypedDatasetFactoryIF |
|---|
getScientificDataType |
| Methods inherited from interface ucar.nc2.dt.TypedDataset |
|---|
close, findGlobalAttributeIgnoreCase, getBoundingBox, getDataVariable, getDataVariables, getDescription, getEndDate, getGlobalAttributes, getLocationURI, getNetcdfFile, getStartDate, getTitle |
| Methods inherited from interface ucar.nc2.dt.PointCollection |
|---|
getData, getData, getData, getTimeUnits |
| Constructor Detail |
|---|
public OldUnidataStationObsDataset()
public OldUnidataStationObsDataset(NetcdfDataset ds)
throws java.io.IOException
java.io.IOException
public OldUnidataStationObsDataset(NetcdfDataset ds,
java.lang.String ncmlURL)
throws java.io.IOException
java.io.IOException| Method Detail |
|---|
public static boolean isValidFile(NetcdfFile ds)
public boolean isMine(NetcdfDataset ds)
TypedDatasetFactoryIF
isMine in interface TypedDatasetFactoryIFds - examine this NetcdfDataset to see if it belongs to this class.
public TypedDataset open(NetcdfDataset ncd,
CancelTask task,
java.lang.StringBuffer errlog)
throws java.io.IOException
TypedDatasetFactoryIF
open in interface TypedDatasetFactoryIFncd - already opened NetcdfDataset.task - use may cancelerrlog - place errors here
java.io.IOException - on error
protected void init(java.lang.String ncmlURL)
throws java.io.IOException
java.io.IOExceptionprotected void setTimeUnits()
setTimeUnits in class PointObsDatasetImplprotected void setStartDate()
setStartDate in class TypedDatasetImplprotected void setEndDate()
setEndDate in class TypedDatasetImplprotected void setBoundingBox()
setBoundingBox in class TypedDatasetImpl
public java.util.List getData(CancelTask cancel)
throws java.io.IOException
PointCollection
getData in interface PointCollectioncancel - allow user to cancel. Implementors should return ASAP.
java.io.IOExceptionas a (possibly) more efficient alternativepublic int getDataCount()
PointCollection
getDataCount in interface PointCollection
public java.util.List getData(LatLonRect boundingBox,
CancelTask cancel)
throws java.io.IOException
PointCollection
getData in interface PointCollectiongetData in class StationObsDatasetImplcancel - allow user to cancel. Implementors should return ASAP.
java.io.IOExceptionas a (possibly) more efficient alternative
public java.util.List getData(LatLonRect boundingBox,
java.util.Date start,
java.util.Date end,
CancelTask cancel)
throws java.io.IOException
PointCollection
getData in interface PointCollectiongetData in class StationObsDatasetImplcancel - allow user to cancel. Implementors should return ASAP.
java.io.IOExceptionas a (possibly) more efficient alternativepublic int getStationDataCount(Station s)
StationCollection
getStationDataCount in interface StationCollectiongetStationDataCount in class StationObsDatasetImpls - station
public java.util.List getData(Station s,
CancelTask cancel)
throws java.io.IOException
StationCollection
getData in interface StationCollectioncancel - allow user to cancel. Implementors should return ASAP.
java.io.IOException
public DataIterator getDataIterator(int bufferSize)
throws java.io.IOException
PointCollectionWe dont need a cancelTask, just stop the iteration if the user want to cancel.
Example for point observations:
Iterator iter = pointObsDataset.getDataIterator();
while (iter.hasNext()) {
PointObsDatatype pobs = (PointObsDatatype) iter.next();
StructureData sdata = pobs.getData();
// process fully
}
getDataIterator in interface PointCollectionbufferSize - if > 0, the internal buffer size, else use the default. Typically 100k - 1M for best results.
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||