Class DefaultSampleDimension
java.lang.Object
org.apache.sis.metadata.AbstractMetadata
org.apache.sis.metadata.ModifiableMetadata
org.apache.sis.metadata.iso.ISOMetadata
org.apache.sis.metadata.iso.content.DefaultRangeDimension
org.apache.sis.metadata.iso.content.DefaultSampleDimension
- All Implemented Interfaces:
Serializable
,Emptiable
,LenientComparable
,IdentifiedObject
,org.opengis.metadata.content.RangeDimension
- Direct Known Subclasses:
DefaultBand
@UML(identifier="MD_SampleDimension",
specification=ISO_19115)
public class DefaultSampleDimension
extends DefaultRangeDimension
The characteristic of each dimension (layer) included in the resource.
The following property is conditional (i.e. mandatory under some circumstances)
in a well-formed metadata according ISO 19115:
MD_SampleDimension
└─units………………………
Units of data in each dimension included in the resource.Note on International Standard versions
This class is derived from a new type defined in the ISO 19115 international standard published in 2014, while GeoAPI 3.0 is based on the version published in 2003. Consequently this implementation class does not yet implement a GeoAPI interface, but is expected to do so after the next GeoAPI releases. When the interface will become available, all references to this implementation class in Apache SIS will be replaced be references to the
This class is derived from a new type defined in the ISO 19115 international standard published in 2014, while GeoAPI 3.0 is based on the version published in 2003. Consequently this implementation class does not yet implement a GeoAPI interface, but is expected to do so after the next GeoAPI releases. When the interface will become available, all references to this implementation class in Apache SIS will be replaced be references to the
SampleDimension
interface.
Terminology
Data values should be physical values expressed in the unit of measurement given bygetUnits()
. Cell values are values stored in the device,
before conversion to data values by application of scale
factor and offset.
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.5
- Version:
- 1.3
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.metadata.ModifiableMetadata
ModifiableMetadata.State
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Integer
Maximum number of significant bits in the uncompressed representation for the value in each band of each pixel.private Double
Maximum value of data values in each dimension included in the resource.private Double
Mean value of data values in each dimension included in the resource.private Double
Minimum value of data values in each dimension included in the resource.private Double
Smallest distance between which separate points can be distinguished, as specified in instrument design.private Integer
Number of values used in a thematic classification resource.private Double
Physical value corresponding to a cell value of zero.private org.opengis.util.Record
Instance of other/attributeType that defines attributes not explicitly included inCoverageContentType
.private org.opengis.util.RecordType
Type of other attribute description.private Collection<org.opengis.metadata.content.RangeElementDescription>
Provides the description and values of the specific range elements of a sample dimension.private Double
Scale factor which has been applied to the cell value.private static final long
Serial number for inter-operability with different versions.private Double
Standard deviation of data values in each dimension included in the resource.private org.opengis.metadata.content.TransferFunctionType
Type of transfer function to be used when scaling a physical value for a given element.private javax.measure.Unit<?>
Units of data in each dimension included in the resource.Fields inherited from class org.apache.sis.metadata.iso.ISOMetadata
identifiers
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an initially empty sample dimension.Constructs a new instance initialized with the values from the specified metadata object.DefaultSampleDimension
(org.opengis.metadata.content.Band object) Bridge constructor forDefaultBand(Band)
. -
Method Summary
Modifier and TypeMethodDescriptionReturns the maximum number of significant bits in the uncompressed representation for the value in each band of each pixel.Returns the maximum value of data values in each dimension included in the resource.Returns the mean value of data values in each dimension included in the resource.Returns the minimum value of data values in each dimension included in the resource.Returns the smallest distance between which separate points can be distinguished, as specified in instrument design.Returns the number of values used in a thematic classification resource.Returns the physical value corresponding to a cell value of zero.org.opengis.util.Record
Returns instance of other/attributeType that defines attributes not explicitly included inCoverageContentType
, ornull
if none.org.opengis.util.RecordType
Returns type of other attribute description.Collection<org.opengis.metadata.content.RangeElementDescription>
Provides the description and values of the specific range elements of a sample dimension.Returns the scale factor which has been applied to the cell value.Returns the standard deviation of data values in each dimension included in the resource.org.opengis.metadata.content.TransferFunctionType
Returns type of transfer function to be used when scaling a physical value for a given element.javax.measure.Unit<?>
getUnits()
Returns the units of data in the dimension.private void
init
(DefaultSampleDimension object) Initializes this sample dimension to the values of the given object.void
setBitsPerValue
(Integer newValue) Sets the maximum number of significant bits in the uncompressed representation for the value in each band of each pixel.void
setMaxValue
(Double newValue) Sets the maximum value of data values in each dimension included in the resource.void
setMeanValue
(Double newValue) Sets the mean value of data values in each dimension included in the resource.void
setMinValue
(Double newValue) Sets the minimum value of data values in each dimension included in the resource.void
setNominalSpatialResolution
(Double newValue) Sets the smallest distance between which separate points can be distinguished, as specified in instrument design.void
setNumberOfValues
(Integer newValue) Sets the number of values used in a thematic classification resource.void
Sets the physical value corresponding to a cell value of zero.void
setOtherProperty
(org.opengis.util.Record newValue) Sets a new instance of other/attributeType that defines attributes not explicitly included inCoverageContentType
.void
setOtherPropertyType
(org.opengis.util.RecordType newValue) Sets a new type of other attribute description.void
setRangeElementDescriptions
(Collection<? extends org.opengis.metadata.content.RangeElementDescription> newValues) Sets the description and values of the specific range elements of a sample dimension.void
setScaleFactor
(Double newValue) Sets the scale factor which has been applied to the cell value.void
setStandardDeviation
(Double newValue) Sets the standard deviation of data values in each dimension included in the resource.void
setTransferFunctionType
(org.opengis.metadata.content.TransferFunctionType newValue) Sets the type of transfer function to be used when scaling a physical value for a given element.void
setUnits
(javax.measure.Unit<?> newValue) Sets the units of data in the dimension.Methods inherited from class org.apache.sis.metadata.iso.content.DefaultRangeDimension
castOrCopy, getDescription, getDescriptor, getNames, getSequenceIdentifier, setDescription, setDescriptor, setNames, setSequenceIdentifier
Methods inherited from class org.apache.sis.metadata.iso.ISOMetadata
getIdentifier, getIdentifierMap, getIdentifiers, getStandard, setIdentifier, transitionTo
Methods inherited from class org.apache.sis.metadata.ModifiableMetadata
checkWritePermission, collectionType, copyCollection, copyList, copyMap, copySet, deepCopy, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, writeCollection, writeList, writeMap, writeSet
Methods inherited from class org.apache.sis.metadata.AbstractMetadata
asMap, asTreeTable, equals, equals, getInterface, hashCode, isEmpty, prune, toString
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerial number for inter-operability with different versions.- See Also:
-
numberOfValues
Number of values used in a thematic classification resource. This value should be expressed in the unit of measurement given byunits
. -
minValue
Minimum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given byunits
. -
maxValue
Maximum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given byunits
. -
meanValue
Mean value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given byunits
. -
standardDeviation
Standard deviation of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given byunits
. -
units
private javax.measure.Unit<?> unitsUnits of data in each dimension included in the resource. -
scaleFactor
Scale factor which has been applied to the cell value. -
offset
Physical value corresponding to a cell value of zero. -
transferFunctionType
private org.opengis.metadata.content.TransferFunctionType transferFunctionTypeType of transfer function to be used when scaling a physical value for a given element. -
bitsPerValue
Maximum number of significant bits in the uncompressed representation for the value in each band of each pixel. -
rangeElementDescriptions
Provides the description and values of the specific range elements of a sample dimension. -
nominalSpatialResolution
Smallest distance between which separate points can be distinguished, as specified in instrument design. -
otherPropertyType
private org.opengis.util.RecordType otherPropertyTypeType of other attribute description. -
otherProperty
private org.opengis.util.Record otherPropertyInstance of other/attributeType that defines attributes not explicitly included inCoverageContentType
.
-
-
Constructor Details
-
DefaultSampleDimension
public DefaultSampleDimension()Constructs an initially empty sample dimension. -
DefaultSampleDimension
Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, because 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 it contains unexpected negative values). 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.
-
DefaultSampleDimension
DefaultSampleDimension(org.opengis.metadata.content.Band object) Bridge constructor forDefaultBand(Band)
.
-
-
Method Details
-
init
Initializes this sample dimension to the values of the given object. -
getNumberOfValues
@ValueRange(minimum=0.0) @UML(identifier="numberOfValues", obligation=OPTIONAL, specification=ISO_19115) public Integer getNumberOfValues()Returns the number of values used in a thematic classification resource.- Returns:
- the number of values used in a thematic classification resource, or
null
if none.
-
setNumberOfValues
Sets the number of values used in a thematic classification resource.- Parameters:
newValue
- the new number of values used in a thematic classification resource.- Throws:
IllegalArgumentException
- if the given value is negative.
-
getMinValue
@UML(identifier="minValue", obligation=OPTIONAL, specification=ISO_19115) public Double getMinValue()Returns the minimum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Returns:
- minimum value of data values in each dimension included in the resource, or
null
if unspecified.
-
setMinValue
Sets the minimum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Parameters:
newValue
- the new new minimum value.
-
getMaxValue
@UML(identifier="maxValue", obligation=OPTIONAL, specification=ISO_19115) public Double getMaxValue()Returns the maximum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Returns:
- maximum value of data values in each dimension included in the resource, or
null
if unspecified.
-
setMaxValue
Sets the maximum value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Parameters:
newValue
- the new new maximum value.
-
getMeanValue
@UML(identifier="meanValue", obligation=OPTIONAL, specification=ISO_19115) public Double getMeanValue()Returns the mean value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Returns:
- the mean value of data values in each dimension included in the resource, or
null
if none.
-
setMeanValue
Sets the mean value of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Parameters:
newValue
- the new mean value of data values in each dimension included in the resource.
-
getStandardDeviation
@UML(identifier="standardDeviation", obligation=OPTIONAL, specification=ISO_19115) public Double getStandardDeviation()Returns the standard deviation of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Returns:
- standard deviation of data values in each dimension included in the resource, or
null
if none.
-
setStandardDeviation
Sets the standard deviation of data values in each dimension included in the resource. This value should be expressed in the unit of measurement given bygetUnits()
.- Parameters:
newValue
- the new standard deviation of data values in each dimension included in the resource.
-
getUnits
@UML(identifier="units", obligation=CONDITIONAL, specification=ISO_19115) public javax.measure.Unit<?> getUnits()Returns the units of data in the dimension.- Returns:
- the units of data in the dimension, or
null
if unspecified.
-
setUnits
public void setUnits(javax.measure.Unit<?> newValue) Sets the units of data in the dimension.- Parameters:
newValue
- the new units of data in the dimension.
-
getScaleFactor
@UML(identifier="scaleFactor", obligation=OPTIONAL, specification=ISO_19115) public Double getScaleFactor()Returns the scale factor which has been applied to the cell value.- Returns:
- scale factor which has been applied to the cell value, or
null
if none.
-
setScaleFactor
Sets the scale factor which has been applied to the cell value.- Parameters:
newValue
- the new scale factor which has been applied to the cell value.
-
getOffset
Returns the physical value corresponding to a cell value of zero.- Returns:
- the physical value corresponding to a cell value of zero, or
null
if none.
-
setOffset
Sets the physical value corresponding to a cell value of zero.- Parameters:
newValue
- the new physical value corresponding to a cell value of zero.
-
getTransferFunctionType
public org.opengis.metadata.content.TransferFunctionType getTransferFunctionType()Returns type of transfer function to be used when scaling a physical value for a given element.Note on XML marshalling: ISO 19115-2 defines this property in a subtype for historical reasons. Apache SIS moves this property up in the hierarchy since this property can apply to any sample dimension, not only the measurements in the electromagnetic spectrum. However, this property will not appear in XML documents unless thisSampleDimension
is actually aBand
.- Returns:
- type of transfer function, or
null
.
-
setTransferFunctionType
public void setTransferFunctionType(org.opengis.metadata.content.TransferFunctionType newValue) Sets the type of transfer function to be used when scaling a physical value for a given element.- Parameters:
newValue
- the new transfer function value.
-
getBitsPerValue
@ValueRange(minimum=1.0) @UML(identifier="bitsPerValue", obligation=OPTIONAL, specification=ISO_19115) public Integer getBitsPerValue()Returns the maximum number of significant bits in the uncompressed representation for the value in each band of each pixel.- Returns:
- maximum number of significant bits in the uncompressed representation
for the value in each band of each pixel, or
null
if none.
-
setBitsPerValue
Sets the maximum number of significant bits in the uncompressed representation for the value in each band of each pixel.- Parameters:
newValue
- the new maximum number of significant bits.- Throws:
IllegalArgumentException
- if the given value is zero or negative.
-
getRangeElementDescriptions
public Collection<org.opengis.metadata.content.RangeElementDescription> getRangeElementDescriptions()Provides the description and values of the specific range elements of a sample dimension. Example: missing data.- Returns:
- description and values of the specific range elements.
- Since:
- 1.3
-
setRangeElementDescriptions
public void setRangeElementDescriptions(Collection<? extends org.opengis.metadata.content.RangeElementDescription> newValues) Sets the description and values of the specific range elements of a sample dimension.- Parameters:
newValues
- the new range element description.- Since:
- 1.3
-
getNominalSpatialResolution
Returns the smallest distance between which separate points can be distinguished, as specified in instrument design.Note on XML marshalling: ISO 19115-2 defines this property in a subtype for historical reasons. Apache SIS moves this property up in the hierarchy since this property can apply to any sample dimension, not only the measurements in the electromagnetic spectrum. However, this property will not appear in XML documents unless thisSampleDimension
is actually aBand
.- Returns:
- smallest distance between which separate points can be distinguished, or
null
.
-
setNominalSpatialResolution
Sets the smallest distance between which separate points can be distinguished, as specified in instrument design.- Parameters:
newValue
- the new nominal spatial resolution.- Throws:
IllegalArgumentException
- if the given value is negative.
-
getOtherPropertyType
@UML(identifier="otherPropertyType", obligation=OPTIONAL, specification=ISO_19115) public org.opengis.util.RecordType getOtherPropertyType()Returns type of other attribute description.- Returns:
- type of other attribute description, or
null
if none.
-
setOtherPropertyType
public void setOtherPropertyType(org.opengis.util.RecordType newValue) Sets a new type of other attribute description.- Parameters:
newValue
- the new type of other attribute description.
-
getOtherProperty
@UML(identifier="otherProperty", obligation=OPTIONAL, specification=ISO_19115) public org.opengis.util.Record getOtherProperty()Returns instance of other/attributeType that defines attributes not explicitly included inCoverageContentType
, ornull
if none.- Returns:
- instance of other/attributeType that defines attributes, or
null
if none.
-
setOtherProperty
public void setOtherProperty(org.opengis.util.Record newValue) Sets a new instance of other/attributeType that defines attributes not explicitly included inCoverageContentType
.- Parameters:
newValue
- the new instance of other/attributeType.
-