Class DefaultImageDescription
- Object
-
- AbstractMetadata
-
- ModifiableMetadata
-
- ISOMetadata
-
- AbstractContentInformation
-
- DefaultCoverageDescription
-
- DefaultImageDescription
-
- All Implemented Interfaces:
Serializable
,Emptiable
,LenientComparable
,IdentifiedObject
,ContentInformation
,CoverageDescription
,ImageDescription
public class DefaultImageDescription extends DefaultCoverageDescription implements ImageDescription
Information about an image's suitability for use. The following property is mandatory in a well-formed metadata according ISO 19115:MD_ImageDescription
└─attributeDescription……
Description of the attribute described by the measurement value.Limitations:
- Instances of this class are not synchronized for multi-threading. Synchronization, if needed, is caller's responsibility.
- Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases.
Serialization support is appropriate for short term storage or RMI between applications running the
same version of Apache SIS. For long term storage, use
XML
instead.
- Since:
- 0.3
- See Also:
- Serialized Form
Defined in the
sis-metadata
module
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ModifiableMetadata
ModifiableMetadata.State
-
-
Field Summary
-
Fields inherited from class ISOMetadata
identifiers
-
-
Constructor Summary
Constructors Constructor Description DefaultImageDescription()
Constructs an initially empty image description.DefaultImageDescription(ImageDescription object)
Constructs a new instance initialized with the values from the specified metadata object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DefaultImageDescription
castOrCopy(ImageDescription object)
Returns a SIS metadata implementation with the values of the given arbitrary implementation.Double
getCloudCoverPercentage()
Returns the area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.Integer
getCompressionGenerationQuantity()
Returns the count of the number of lossy compression cycles performed on the image.Double
getIlluminationAzimuthAngle()
Returns the illumination azimuth measured in degrees clockwise from true north at the time the image is taken.Double
getIlluminationElevationAngle()
Returns the illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface.Identifier
getImageQualityCode()
Returns a code in producer’s codespace that specifies the image quality.ImagingCondition
getImagingCondition()
Returns the conditions which affected the image.Boolean
getTriangulationIndicator()
Returns the indication of whether or not triangulation has been performed upon the image.Boolean
isCameraCalibrationInformationAvailable()
Returns the indication of whether or not constants are available which allow for camera calibration corrections.Boolean
isFilmDistortionInformationAvailable()
Returns the indication of whether or not Calibration Reseau information is available.Boolean
isLensDistortionInformationAvailable()
Returns the indication of whether or not lens aberration correction information is available.Boolean
isRadiometricCalibrationDataAvailable()
Returns the indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.void
setCameraCalibrationInformationAvailable(Boolean newValue)
Sets the indication of whether or not constants are available which allow for camera calibration corrections.void
setCloudCoverPercentage(Double newValue)
Sets the area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.void
setCompressionGenerationQuantity(Integer newValue)
Sets the count of the number the number of lossy compression cycles performed on the image.void
setFilmDistortionInformationAvailable(Boolean newValue)
Sets the indication of whether or not Calibration Reseau information is available.void
setIlluminationAzimuthAngle(Double newValue)
Sets the illumination azimuth measured in degrees clockwise from true north at the time the image is taken.void
setIlluminationElevationAngle(Double newValue)
Sets the illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface.void
setImageQualityCode(Identifier newValue)
Sets a code in producer’s codespace that specifies the image quality.void
setImagingCondition(ImagingCondition newValue)
Sets the conditions that affected the image.void
setLensDistortionInformationAvailable(Boolean newValue)
Sets the indication of whether or not lens aberration correction information is available.void
setRadiometricCalibrationDataAvailable(Boolean newValue)
Sets the indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.void
setTriangulationIndicator(Boolean newValue)
Sets the indication of whether or not triangulation has been performed upon the image.-
Methods inherited from class DefaultCoverageDescription
castOrCopy, getAttributeDescription, getAttributeGroups, getContentType, getDimensions, getProcessingLevelCode, getRangeElementDescriptions, setAttributeDescription, setAttributeGroups, setContentType, setDimensions, setProcessingLevelCode, setRangeElementDescriptions
-
Methods inherited from class AbstractContentInformation
castOrCopy
-
Methods inherited from class ISOMetadata
getIdentifier, getIdentifierMap, getIdentifiers, getStandard, setIdentifier, transitionTo
-
Methods inherited from class ModifiableMetadata
checkWritePermission, checkWritePermission, collectionType, copyCollection, copyList, copyMap, copySet, freeze, isModifiable, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, unmodifiable, writeCollection, writeList, writeMap, writeSet
-
Methods inherited from class AbstractMetadata
asMap, asTreeTable, equals, equals, getInterface, hashCode, isEmpty, prune, toString
-
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface CoverageDescription
getAttributeDescription, getContentType, getDimensions, getRangeElementDescriptions
-
Methods inherited from interface ImageDescription
getProcessingLevelCode
-
-
-
-
Constructor Detail
-
DefaultImageDescription
public DefaultImageDescription()
Constructs an initially empty image description.
-
DefaultImageDescription
public DefaultImageDescription(ImageDescription object)
Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, since the other metadata contained in the given object are not recursively copied.Note on properties validation: This constructor does not verify the property values of the given metadata (e.g. whether a value is out of range). This is because invalid metadata exist in practice, and verifying their validity in this copy constructor is often too late. Note that this is not the only hole, as invalid metadata instances can also be obtained by unmarshalling an invalid XML document.- Parameters:
object
- the metadata to copy values from, ornull
if none.- See Also:
castOrCopy(ImageDescription)
-
-
Method Detail
-
castOrCopy
public static DefaultImageDescription castOrCopy(ImageDescription object)
Returns a SIS metadata implementation with the values of the given arbitrary implementation. This method performs the first applicable action in the following choices:- If the given object is
null
, then this method returnsnull
. - Otherwise if the given object is already an instance of
DefaultImageDescription
, then it is returned unchanged. - Otherwise a new
DefaultImageDescription
instance is created using the copy constructor and returned. Note that this is a shallow copy operation, since the other metadata contained in the given object are not recursively copied.
- Parameters:
object
- the object to get as a SIS implementation, ornull
if none.- Returns:
- a SIS implementation containing the values of the given object (may be the
given object itself), or
null
if the argument was null.
- If the given object is
-
getIlluminationElevationAngle
@ValueRange(minimum=-90.0, maximum=90.0) public Double getIlluminationElevationAngle()
Returns the illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface. For images from a scanning device, refer to the centre pixel of the image.The horizon is at 0°, straight up has an elevation of 90°.
- Specified by:
getIlluminationElevationAngle
in interfaceImageDescription
- Returns:
- a value between -90° and +90°, or
null
if unspecified.
-
setIlluminationElevationAngle
public void setIlluminationElevationAngle(Double newValue)
Sets the illumination elevation measured in degrees clockwise from the target plane at intersection of the optical line of sight with the Earth's surface. For images from a scanning device, refer to the centre pixel of the image.- Parameters:
newValue
- the new illumination elevation angle, ornull
.- Throws:
IllegalArgumentException
- if the given value is out of range.
-
getIlluminationAzimuthAngle
@ValueRange(minimum=0.0, maximum=360.0) public Double getIlluminationAzimuthAngle()
Returns the illumination azimuth measured in degrees clockwise from true north at the time the image is taken. For images from a scanning device, refer to the centre pixel of the image.- Specified by:
getIlluminationAzimuthAngle
in interfaceImageDescription
- Returns:
- a value between 0° and 360°, or
null
if unspecified.
-
setIlluminationAzimuthAngle
public void setIlluminationAzimuthAngle(Double newValue)
Sets the illumination azimuth measured in degrees clockwise from true north at the time the image is taken. For images from a scanning device, refer to the centre pixel of the image.- Parameters:
newValue
- the new illumination azimuth angle, ornull
.- Throws:
IllegalArgumentException
- if the given value is out of range.
-
getImagingCondition
public ImagingCondition getImagingCondition()
Returns the conditions which affected the image.- Specified by:
getImagingCondition
in interfaceImageDescription
- Returns:
- conditions which affected the image, or
null
if unspecified.
-
setImagingCondition
public void setImagingCondition(ImagingCondition newValue)
Sets the conditions that affected the image.- Parameters:
newValue
- the new imaging condition.
-
getImageQualityCode
public Identifier getImageQualityCode()
Returns a code in producer’s codespace that specifies the image quality.- Specified by:
getImageQualityCode
in interfaceImageDescription
- Returns:
- the image quality, or
null
if unspecified.
-
setImageQualityCode
public void setImageQualityCode(Identifier newValue)
Sets a code in producer’s codespace that specifies the image quality.- Parameters:
newValue
- the new image quality code.
-
getCloudCoverPercentage
@ValueRange(minimum=0.0, maximum=100.0) public Double getCloudCoverPercentage()
Returns the area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.- Specified by:
getCloudCoverPercentage
in interfaceImageDescription
- Returns:
- a value between 0 and 100, or
null
if unspecified.
-
setCloudCoverPercentage
public void setCloudCoverPercentage(Double newValue)
Sets the area of the dataset obscured by clouds, expressed as a percentage of the spatial extent.- Parameters:
newValue
- the new cloud cover percentage, ornull
.- Throws:
IllegalArgumentException
- if the given value is out of range.
-
getCompressionGenerationQuantity
@ValueRange(minimum=0.0) public Integer getCompressionGenerationQuantity()
Returns the count of the number of lossy compression cycles performed on the image.- Specified by:
getCompressionGenerationQuantity
in interfaceImageDescription
- Returns:
- the number of lossy compression cycles performed on the image, or
null
if unspecified.
-
setCompressionGenerationQuantity
public void setCompressionGenerationQuantity(Integer newValue)
Sets the count of the number the number of lossy compression cycles performed on the image.- Parameters:
newValue
- the new compression generation quantity.- Throws:
IllegalArgumentException
- if the given value is negative.
-
getTriangulationIndicator
public Boolean getTriangulationIndicator()
Returns the indication of whether or not triangulation has been performed upon the image.- Specified by:
getTriangulationIndicator
in interfaceImageDescription
- Returns:
- whether or not triangulation has been performed upon the image, or
null
if unspecified.
-
setTriangulationIndicator
public void setTriangulationIndicator(Boolean newValue)
Sets the indication of whether or not triangulation has been performed upon the image.- Parameters:
newValue
- the new triangulation indicator.
-
isRadiometricCalibrationDataAvailable
public Boolean isRadiometricCalibrationDataAvailable()
Returns the indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.- Specified by:
isRadiometricCalibrationDataAvailable
in interfaceImageDescription
- Returns:
- whether or not the radiometric calibration information is available, or
null
if unspecified.
-
setRadiometricCalibrationDataAvailable
public void setRadiometricCalibrationDataAvailable(Boolean newValue)
Sets the indication of whether or not the radiometric calibration information for generating the radiometrically calibrated standard data product is available.- Parameters:
newValue
-true
if radiometric calibration data are available.
-
isCameraCalibrationInformationAvailable
public Boolean isCameraCalibrationInformationAvailable()
Returns the indication of whether or not constants are available which allow for camera calibration corrections.- Specified by:
isCameraCalibrationInformationAvailable
in interfaceImageDescription
- Returns:
- whether or not constants are available for camera calibration corrections, or
null
if unspecified.
-
setCameraCalibrationInformationAvailable
public void setCameraCalibrationInformationAvailable(Boolean newValue)
Sets the indication of whether or not constants are available which allow for camera calibration corrections.- Parameters:
newValue
-true
if camera calibration information are available.
-
isFilmDistortionInformationAvailable
public Boolean isFilmDistortionInformationAvailable()
Returns the indication of whether or not Calibration Reseau information is available.- Specified by:
isFilmDistortionInformationAvailable
in interfaceImageDescription
- Returns:
- whether or not Calibration Reseau information is available, or
null
if unspecified.
-
setFilmDistortionInformationAvailable
public void setFilmDistortionInformationAvailable(Boolean newValue)
Sets the indication of whether or not Calibration Reseau information is available.- Parameters:
newValue
-true
if film distortion information are available.
-
isLensDistortionInformationAvailable
public Boolean isLensDistortionInformationAvailable()
Returns the indication of whether or not lens aberration correction information is available.- Specified by:
isLensDistortionInformationAvailable
in interfaceImageDescription
- Returns:
- whether or not lens aberration correction information is available, or
null
if unspecified.
-
setLensDistortionInformationAvailable
public void setLensDistortionInformationAvailable(Boolean newValue)
Sets the indication of whether or not lens aberration correction information is available.- Parameters:
newValue
-true
if lens distortion information are available.
-
-