Package org.apache.sis.storage.landsat
Class LandsatStore
- All Implemented Interfaces:
AutoCloseable,Aggregate,Resource,Localized
Reads Landsat metadata and bands.
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:
- 1.1
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionLandsatStore(LandsatStoreProvider provider, StorageConnector connector) Creates a new Landsat store from the given file, URL, stream or character reader. -
Method Summary
Modifier and TypeMethodDescription<T extends StoreEvent>
voidaddListener(Class<T> eventType, StoreListener<? super T> listener) Registers a listener to notify when the specified kind of event occurs in this data store.voidclose()Closes this Landsat store and releases any underlying resources.Returns the resources for each group of Landsat bands.final StringReturns the name of the directory that contains this data set.Returns the value associated toLANDSAT_SCENE_IDin the Landsat metadata file.Returns information about the dataset as a whole.Returns the parameters used to open this Landsat data store.Methods inherited from class DataStore
findResource, getLocale, getNativeMetadata, getProvider, removeListener, setLocale, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Resource
removeListener
-
Constructor Details
-
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 invokesStorageConnector.closeAllExcept(Object), keeping open only the needed resource.- Parameters:
provider- the factory that created thisDataStoreinstance, ornullif unspecified.connector- information about the storage (URL, stream, reader instance, etc).- Throws:
DataStoreException- if an error occurred while opening the Landsat file.
-
-
Method Details
-
getDisplayName
Returns the name of the directory that contains this data set. The directory may not exist, for example if the data are read from a ZIP file. The returned name can be used in user interfaces or in error messages.- Overrides:
getDisplayNamein classDataStore- Returns:
- a short name of label for this data store, or
nullif unknown. - See Also:
-
getOpenParameters
Returns the parameters used to open this Landsat data store. The parameters are described byLandsatStoreProvider.getOpenParameters()and contains at least a parameter named "location" with aURIvalue. The return value may be empty if the storage input cannot be described by a URI (for example a Landsat file reading directly from aReadableByteChannel).- Specified by:
getOpenParametersin classDataStore- Returns:
- parameters used for opening this data store.
- Since:
- 0.8
- See Also:
-
getIdentifier
Returns the value associated toLANDSAT_SCENE_IDin the Landsat metadata file. This value is fetched fromgetMetadata()/identificationInfo/citation/identifier.- Specified by:
getIdentifierin interfaceResource- Overrides:
getIdentifierin classDataStore- Returns:
- the identifier fetched from metadata, or
nullif none. - Throws:
DataStoreException- if an error occurred while reading the metadata.- Since:
- 1.0
- See Also:
-
getMetadata
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:
getMetadatain interfaceResource- Specified by:
getMetadatain classDataStore- Returns:
- information about the dataset.
- Throws:
DataStoreException- if an error occurred while reading the metadata.- See Also:
-
components
Returns the resources for each group of Landsat bands.- Specified by:
componentsin interfaceAggregate- Returns:
- all group of bands that are components of this aggregate. Never
null. - Throws:
DataStoreException- if an error occurred while fetching the components.- Since:
- 1.1
-
addListener
public <T extends StoreEvent> void addListener(Class<T> eventType, StoreListener<? super T> listener) Registers a listener to notify when the specified kind of event occurs in this data store. The current implementation of this data store can emit onlyWarningEvents; any listener specified for another kind of events will be ignored.- Specified by:
addListenerin interfaceResource- Overrides:
addListenerin classDataStore- Type Parameters:
T- compile-time value of theeventTypeargument.- Parameters:
eventType- type ofStoreEventto listen (cannot benull).listener- listener to notify about events.
-
close
Closes this Landsat store and releases any underlying resources. This method can be invoked asynchronously for interrupting a long reading process.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein classDataStore- Throws:
DataStoreException- if an error occurred while closing the Landsat file.- See Also:
-