visad.data.gis
Class DemFamily

java.lang.Object
  extended by visad.data.FormNode
      extended by visad.data.FormFamily
          extended by visad.data.FunctionFormFamily
              extended by visad.data.gis.DemFamily
All Implemented Interfaces:
FormFileInformer

public class DemFamily
extends FunctionFormFamily
implements FormFileInformer

A container for all the supported DEM types. Currently, USGS DEM and Arc ASCIIGRID formats are supported. To read a Data object from a file or URL:

    Data data = new DemFamily("dems").open(string);
 

Version:
$Revision: 1.6 $ $Date: 2009-03-02 23:35:48 $
Author:
Don Murray
See Also:
UsgsDemForm, ArcAsciiGridForm

Field Summary
 
Fields inherited from class visad.data.FormFamily
forms
 
Constructor Summary
DemFamily(String name)
          Construct a family of the supported map datatype Forms
DemFamily(String name, MathType dataFormat)
          Construct a family of the supported map datatype Forms
 
Method Summary
static void addFormToList(FormNode form)
          Add to the family of the supported map datatype Forms
 String[] getDefaultSuffixes()
          Get a list of default suffixes for McIDAS map files
 boolean isThisType(byte[] block)
          Determines if this is a USGS DEM file from the starting block
 boolean isThisType(String name)
          Determines if this is a DEM file from the name
static void main(String[] args)
          Test the DemFamily class run java visad.data.gis.DemFamily dem1 dem2 ... demn
 DataImpl open(String id)
          Open a local data object using the first appropriate map form.
 DataImpl open(URL url)
          Open a remote data object using the first appropriate map form.
 
Methods inherited from class visad.data.FunctionFormFamily
add, save
 
Methods inherited from class visad.data.FormFamily
addFormNode, getForms
 
Methods inherited from class visad.data.FormNode
getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DemFamily

public DemFamily(String name)
Construct a family of the supported map datatype Forms

Parameters:
name - name of the family

DemFamily

public DemFamily(String name,
                 MathType dataFormat)
Construct a family of the supported map datatype Forms

Parameters:
name - name of the family
Method Detail

addFormToList

public static void addFormToList(FormNode form)
                          throws ArrayIndexOutOfBoundsException
Add to the family of the supported map datatype Forms

Parameters:
form - FormNode to add to the list
Throws:
ArrayIndexOutOfBoundsException - If there is no more room in the list.

isThisType

public boolean isThisType(String name)
Determines if this is a DEM file from the name

Specified by:
isThisType in interface FormFileInformer
Parameters:
name - name of the file
Returns:
true if it matches the pattern for USGS DEM files

isThisType

public boolean isThisType(byte[] block)
Determines if this is a USGS DEM file from the starting block

Specified by:
isThisType in interface FormFileInformer
Parameters:
block - block of data to check
Returns:
false - there is no identifying block in a USGS DEM file

getDefaultSuffixes

public String[] getDefaultSuffixes()
Get a list of default suffixes for McIDAS map files

Specified by:
getDefaultSuffixes in interface FormFileInformer
Returns:
valid list of suffixes

open

public DataImpl open(String id)
              throws BadFormException,
                     VisADException
Open a local data object using the first appropriate map form.

Overrides:
open in class FunctionFormFamily
Parameters:
id - String representing the path of the map file
Throws:
BadFormException - - no form is appropriate
VisADException - - VisAD error

open

public DataImpl open(URL url)
              throws BadFormException,
                     VisADException,
                     IOException
Open a remote data object using the first appropriate map form.

Overrides:
open in class FunctionFormFamily
Parameters:
url - URL representing the location of the map file
Throws:
BadFormException - - no form is appropriate
VisADException - - VisAD error
IOException - - file not found

main

public static void main(String[] args)
                 throws BadFormException,
                        IOException,
                        RemoteException,
                        VisADException
Test the DemFamily class run java visad.data.gis.DemFamily dem1 dem2 ... demn

Throws:
BadFormException
IOException
RemoteException
VisADException