## visad.data.gis
Class DemFamily

    java.lang.Object
      visad.data.FormNode
          visad.data.FormFamily
              visad.data.FunctionFormFamily
                  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);

See Also:
  `visad.data.gis.UsgsDemForm;`, `visad.data.gis.ArcAsciiGridForm;`

Nested Class Summary

Nested classes inherited from class visad.data.FunctionFormFamily
``

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 ...
`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`