ucar.unidata.data.gis
Class DemDataSource

java.lang.Object
  extended by ucar.unidata.collab.SharableImpl
      extended by ucar.unidata.data.DataSourceImpl
          extended by ucar.unidata.data.FilesDataSource
              extended by ucar.unidata.data.gis.DemDataSource
All Implemented Interfaces:
Sharable, DataSource, DataSourceFactory, XmlPersistable

public class DemDataSource
extends FilesDataSource

DataSource for Digital Elevation Model (DEM) files. Handles USGS 7.5 minute DEMs, and Arc ASCIIGRID files.

Version:
$Revision: 1.16 $
Author:
IDV development team

Field Summary
 
Fields inherited from class ucar.unidata.data.FilesDataSource
adapters, oldSourceFromBundles, sources
 
Fields inherited from class ucar.unidata.data.DataSourceImpl
changeDataPathsCbx, dataCacheKey, dataChoices, geoSelectionPanel, haveBeenUnPersisted, okToContinue, PARAM_SHOW_HIDE, PARAM_SHOW_NO, PARAM_SHOW_YES
 
Fields inherited from interface ucar.unidata.data.DataSource
DATAPATH_DATE_FORMAT, DATAPATH_DATE_PATTERN, MOST_RECENT, ordinalNames, PROP_AUTOCREATEDISPLAY, PROP_BASEDIRECTORY, PROP_CACHEABLE, PROP_DATACHOICENAME, PROP_DISPLAYPROPERTIES, PROP_DOCUMENTLINKS, PROP_FILEPATTERN, PROP_GEOLOCATION, PROP_ICON, PROP_NAME, PROP_POLLINFO, PROP_RESOLVERURL, PROP_SERVICE_HTTP, PROP_SUBPROPERTIES, PROP_TIMELABELS, PROP_TITLE
 
Constructor Summary
DemDataSource()
          Dummy constructor so this object can get unpersisted.
DemDataSource(DataSourceDescriptor descriptor, String source, Hashtable properties)
          Create a DemDataSource from the specification given.
 
Method Summary
 boolean canSaveDataToLocalDisk()
          Is this data source capable of saving its data to local disk
protected  void doMakeDataChoices()
          Make the DataChoices associated with this source.
protected  List doMakeDateTimes()
          Make the list of available times for this data source.
protected  Data getDataInner(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties)
          Actually get the data identified by the given DataChoce.
 String getDateTimePattern()
          pattern for parsing date/time string from filenames recognized pattern characters: y, Y : Year m, M : Month d, D : Day h, H : Hour n, N : Minute (m is already in use for MONTH) s, S : Seconds Other characters are used as place holders.
 boolean getUseFilenameForTime()
          Flag indicating if the date/time should be parsed from the filename
 void initAfterUnpersistence()
          Initialize after we have been unpersisted
 void setDateTimePattern(String dateTimePattern)
          pattern for parsing date/time string from filenames recognized pattern characters: y, Y : Year m, M : Month d, D : Day h, H : Hour n, N : Minute (m is already in use for MONTH) s, S : Seconds Other characters are used as place holders.
 void setUseFilenameForTime(boolean useFilenameForTime)
          Flag indicating if the date/time should be parsed from the filename
 
Methods inherited from class ucar.unidata.data.FilesDataSource
doRemove, equals, getDataFileExtension, getDataPaths, getFilePath, getFullDescription, getInputStreams, getLocationsForPolling, getPartialDescription, getSource, getSources, haveSources, initAfterCreation, initWithPollingInfo, isFileBased, newFilesFromPolling, processDataFilename, propertiesChanged, reloadData, reloadData, saveDataToLocalDisk, setNewFiles, setSource, setSources, sourcesChanged, updateState
 
Methods inherited from class ucar.unidata.data.DataSourceImpl
addActions, addDataChangeListener, addDataChoice, addPropertiesTabs, addReloadTab, applyFieldMask, applyProperties, beginWritingDataToLocalDisk, canAddCurrentName, canCacheDataToDisk, canChangeData, canDoFieldMask, canDoGeoSelection, canDoGeoSelectionMap, canDoGeoSelectionStride, canPoll, canShowParameter, checkForInitAfterUnPersistence, clearCachedData, clearFileCache, clearTimes, convertSourceFile, convertToFilesIfDirectory, createAutoDisplay, createCacheKey, createElement, decrOutstandingGetDataCalls, doDirectory, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSubsetPropertiesComponent, endWritingDataToLocalDisk, expandIfNeeded, findDataChoice, findDataChoices, flushCache, getAbsoluteDateTimes, getActions, getAlias, getAllDateTimes, getAllDateTimes, getAllLevels, getAllLevels, getAllTimesForTimeDriver, getCache, getCache, getCacheClearDelay, getCacheDataToDisk, getCompositeDataChoices, getData, getData, getDataCachePath, getDataChangeListeners, getDataChoices, getDataContext, getDataInner, getDataIsEditable, getDataPrefix, getDataSelection, getDataSelectionComponents, getDataSource, getDateTimes, getDateTimeSelection, getDescription, getDescriptor, getErrorMessage, getEverChangedName, getExtraGeoSelectionComponent, getExtraTimesComponent, getFileFilterForPolling, getid, getIdv, getInError, getLocalDirectory, getLocationForPolling, getMostRecentFiles, getName, getNameForDataSource, getNeedToShowErrorToUser, getNextId, getOutstandingGetDataCalls, getPassword, getPathsThatCanBeRelative, getPollingInfo, getProperties, getPropertiesComponents, getPropertiesHeader, getProperty, getProperty, getProperty, getProperty, getProperty, getProperty, getProperty, getRelativePaths, getSampleDataProjection, getSaveDataFileLabel, getSelectedDateTimes, getSelectedDateTimes, getTimesFromDataSelection, getTmpPaths, getTypeName, getUserName, handlePropertiesAction, hasPollingInfo, holdsDateTimes, holdsIndices, identifiedBy, identifiedByName, incrOutstandingGetDataCalls, initAfter, initDataChoice, initDataSelectionComponents, initFromXml, isPolling, loadFieldMask, loadFieldMask, loadLatestFile, logException, logException, makeDerivedDataChoices, makeSaveLocalActions, newFileFromPolling, notifyDataChange, putCache, putCache, reloadProperties, removeCache, removeDataChangeListener, removeDataChoice, removeProperty, replaceDataChoice, resetTmpState, saveDataToLocalDisk, saveDataToLocalDisk, selectTimesFromList, setAlias, setAskToUpdate, setCacheClearDelay, setCacheDataToDisk, setDataEditableStrings, setDataIsEditable, setDataIsRelative, setDataRelativeStrings, setDataSelection, setDateTimeSelection, setDescription, setDescriptor, setDirectory, setEverChangedName, setInError, setInError, setInError, setName, setObjectProperties, setObjectProperty, setPassword, setPollingInfo, setPollLocation, setProperties, setProperty, setProperty, setRelativePaths, setTemplateName, setTmpPaths, setUserName, shouldCache, shouldCache, showPasswordDialog, showPropertiesDialog, showPropertiesDialog, showPropertiesDialog, showWaitDialog, tick, toString, toStringTruncated, updateDetailsText, writeFieldMaskFile, writeFieldMaskFile
 
Methods inherited from class ucar.unidata.collab.SharableImpl
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, receiveShareData, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialog
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ucar.unidata.data.DataSource
getUniqueId
 

Constructor Detail

DemDataSource

public DemDataSource()
Dummy constructor so this object can get unpersisted.


DemDataSource

public DemDataSource(DataSourceDescriptor descriptor,
                     String source,
                     Hashtable properties)
              throws VisADException
Create a DemDataSource from the specification given.

Parameters:
descriptor - description of the source
source - of file filename
properties - extra properties
Throws:
VisADException - VisAD problem
Method Detail

getDateTimePattern

public String getDateTimePattern()
pattern for parsing date/time string from filenames recognized pattern characters:
  • y, Y : Year
  • m, M : Month
  • d, D : Day
  • h, H : Hour
  • n, N : Minute (m is already in use for MONTH)
  • s, S : Seconds Other characters are used as place holders. The pattern does not support wildcard characters.

    Returns:
    the current date/time pattern

  • setDateTimePattern

    public void setDateTimePattern(String dateTimePattern)
    pattern for parsing date/time string from filenames recognized pattern characters:
  • y, Y : Year
  • m, M : Month
  • d, D : Day
  • h, H : Hour
  • n, N : Minute (m is already in use for MONTH)
  • s, S : Seconds Other characters are used as place holders. The pattern does not support wildcard characters.

    Parameters:
    dateTimePattern - the new date/time pattern

  • getUseFilenameForTime

    public boolean getUseFilenameForTime()
    Flag indicating if the date/time should be parsed from the filename

    Returns:
    true: filename contains date/time

    setUseFilenameForTime

    public void setUseFilenameForTime(boolean useFilenameForTime)
    Flag indicating if the date/time should be parsed from the filename

    Parameters:
    useFilenameForTime - set to true if the filename contains the date/time

    canSaveDataToLocalDisk

    public boolean canSaveDataToLocalDisk()
    Is this data source capable of saving its data to local disk

    Specified by:
    canSaveDataToLocalDisk in interface DataSource
    Overrides:
    canSaveDataToLocalDisk in class DataSourceImpl
    Returns:
    Can save to local disk

    initAfterUnpersistence

    public void initAfterUnpersistence()
    Initialize after we have been unpersisted

    Specified by:
    initAfterUnpersistence in interface DataSource
    Overrides:
    initAfterUnpersistence in class FilesDataSource

    doMakeDataChoices

    protected void doMakeDataChoices()
    Make the DataChoices associated with this source.

    Overrides:
    doMakeDataChoices in class DataSourceImpl

    getDataInner

    protected Data getDataInner(DataChoice dataChoice,
                                DataCategory category,
                                DataSelection dataSelection,
                                Hashtable requestProperties)
                         throws VisADException,
                                RemoteException
    Actually get the data identified by the given DataChoce. The default is to call the getDataInner that does not take the requestProperties. This allows other, non unidata.data DataSource-s (that follow the old API) to work.

    Overrides:
    getDataInner in class DataSourceImpl
    Parameters:
    dataChoice - The data choice that identifies the requested data.
    category - The data category of the request.
    dataSelection - Identifies any subsetting of the data.
    requestProperties - Hashtable that holds any detailed request properties.
    Returns:
    The visad.Data object
    Throws:
    RemoteException - Java RMI problem
    VisADException - VisAD problem

    doMakeDateTimes

    protected List doMakeDateTimes()
    Make the list of available times for this data source.

    Overrides:
    doMakeDateTimes in class DataSourceImpl
    Returns:
    list of available data times