org.apache.sis.storage.earthobservation

## Class LandsatStore

- Object
- - DataStore
  - - LandsatStore

- All Implemented Interfaces:
    AutoCloseable, Resource, Localized

      public class LandsatStore
      extends DataStore

  Parses Landsat metadata as ISO-19115 Metadata object. Landsat data are distributed as a collection of TIFF files, together with a single text file like below:

      GROUP = L1_METADATA_FILE
        GROUP = METADATA_FILE_INFO
          ORIGIN = "Image courtesy of the U.S. Geological Survey"
          REQUEST_ID = "0501403126384_00011"
          LANDSAT_SCENE_ID = "LC81230522014071LGN00"
          FILE_DATE = 2014-03-12T06:06:35Z
          STATION_ID = "LGN"
          PROCESSING_SOFTWARE_VERSION = "LPGS_2.3.0"
        END_GROUP = METADATA_FILE_INFO
        GROUP = PRODUCT_METADATA
          DATA_TYPE = "L1T"
          ELEVATION_SOURCE = "GLS2000"
          OUTPUT_FORMAT = "GEOTIFF"
          SPACECRAFT_ID = "LANDSAT_8"
          SENSOR_ID = "OLI_TIRS"
          etc...

  This class reads the content from the given input until the first occurrence of the `END` keyword. Lines beginning with the `#` character (ignoring spaces) are treated as comment lines and ignored.
  Since:
    0.8

  Defined in the `sis-earth-observation` module

- - ### Field Summary

    - ### Fields inherited from class DataStore

      `listeners, provider`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LandsatStore(LandsatStoreProvider provider, StorageConnector connector)` Creates a new Landsat store from the given file, URL, stream or character reader.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes this Landsat store and releases any underlying resources.
    `Metadata` | `getMetadata()` Returns information about the dataset as a whole.
    `ParameterValueGroup` | `getOpenParameters()` Returns the parameters used to open this Landsat data store.
    `String` | `toString()` Returns a string representation of this Landsat store for debugging purpose.

    - ### Methods inherited from class DataStore

      `addWarningListener, findResource, getDisplayName, getLocale, getProvider, removeWarningListener, setLocale`

    - ### Methods inherited from class Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### LandsatStore

          public LandsatStore(LandsatStoreProvider provider,
                              StorageConnector connector)
                       throws DataStoreException

      Creates a new Landsat store from the given file, URL, stream or character reader. This constructor invokes `StorageConnector​.closeAllExcept(Object)`, keeping open only the needed resource.
      Parameters:
        `provider` - the factory that created this `DataStore` instance, or `null` if unspecified.
        `connector` - information about the storage (URL, stream, reader instance, etc).
      Throws:
        `DataStoreException` - if an error occurred while opening the Landsat file.

  - ### Method Detail

    - #### getMetadata

          public Metadata getMetadata()
                               throws DataStoreException

      Returns information about the dataset as a whole. The returned metadata object can contain information such as the spatiotemporal extent of the dataset, contact information about the creator or distributor, data quality, usage constraints and more.
      Specified by:
        `getMetadata` in interface `Resource`
      Specified by:
        `getMetadata` in class `DataStore`
      Returns:
        information about the dataset.
      Throws:
        `DataStoreException` - if an error occurred while reading the data.
      See Also:
        `Resource​.getMetadata()`

    - #### getOpenParameters

          public ParameterValueGroup getOpenParameters()

      Returns the parameters used to open this Landsat data store. If non-null, the parameters are described by `LandsatStoreProvider​.getOpenParameters()` and contains at least a parameter named "location" with a `URI` value. This method may return `null` if the storage input can not be described by a URI (for example a Landsat file reading directly from a `ReadableByteChannel`).
      Specified by:
        `getOpenParameters` in class `DataStore`
      Returns:
        parameters used for opening this data store, or `null` if not available.
      Since:
        0.8
      See Also:
        `DataStoreProvider​.getOpenParameters()`

    - #### close

          public void close()
                     throws DataStoreException

      Closes this Landsat store and releases any underlying resources.
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in class `DataStore`
      Throws:
        `DataStoreException` - if an error occurred while closing the Landsat file.

    - #### toString

          @Debug
          public String toString()

      Returns a string representation of this Landsat store for debugging purpose. The content of the string returned by this method may change in any future SIS version.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this datastore for debugging purpose.

Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.