<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>SampleDimension (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.coverage.SampleDimension class">
<meta name="keywords" content="getName()">
<meta name="keywords" content="getCategories()">
<meta name="keywords" content="getBackground()">
<meta name="keywords" content="getNoDataValues()">
<meta name="keywords" content="getSampleRange()">
<meta name="keywords" content="getMeasurementRange()">
<meta name="keywords" content="getTransferFunction()">
<meta name="keywords" content="getTransferFunctionFormula()">
<meta name="keywords" content="getUnits()">
<meta name="keywords" content="forConvertedValues()">
<meta name="keywords" content="hashCode()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="toString()">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SampleDimension (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SampleDimension.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.coverage</a></div>
<h2 title="Class SampleDimension" class="title">Class SampleDimension</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li>SampleDimension</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SampleDimension</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre>
<div class="block">Describes the data values in a coverage (the range). For a raster, a sample dimension is a band.
 A sample dimension can reserve some values for <cite>qualitative</cite> information like  “this
 is a forest” and some other values for <cite>quantitative</cite> information like a temperature
 measurements.

 <div class="note"><b>Example:</b>
 an image of sea surface temperature (SST) could define the following categories:
 <table class="sis">
   <caption>Example of categories in a sample dimension</caption>
   <tr><th>Values range</th> <th>Meaning</th></tr>
   <tr><td>[0]</td>          <td>No data</td></tr>
   <tr><td>[1]</td>          <td>Cloud</td></tr>
   <tr><td>[2]</td>          <td>Land</td></tr>
   <tr><td>[10…210]</td>     <td>Temperature to be converted into Celsius degrees through a linear equation</td></tr>
 </table>
 In this example, sample values in range [10…210] define a quantitative category, while all others categories are qualitative.
 </div>

 <div class="section">Relationship with metadata</div>
 This class provides the same information than ISO 19115 <code>org​.opengis​.metadata​.content​.Sample­Dimension</code>,
 but organized in a different way. The use of the same name may seem a risk, but those two types are typically
 not used in same time.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.apache.sis.coverage.SampleDimension">Serialized Form</a></dd>

<p><font size="-1">Defined in the <code>sis-feature</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SampleDimension.Builder.html" title="class in org.apache.sis.coverage">SampleDimension.Builder</a></span></code></th>
<td class="colLast">
<div class="block">A mutable builder for creating an immutable <a href="SampleDimension.html" title="class in org.apache.sis.coverage"><code>Sample­Dimension</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.util.GenericName,java.lang.Number,java.util.Collection)">SampleDimension</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a>&nbsp;name,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang" class="externalLink">Number</a>&nbsp;background,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="Category.html" title="class in org.apache.sis.coverage">Category</a>&gt;&nbsp;categories)</code></th>
<td class="colLast">
<div class="block">Creates a sample dimension with the specified name and categories.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Compares the specified object with this sample dimension for equality.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forConvertedValues(boolean)">forConvertedValues</a></span>&#8203;(boolean&nbsp;converted)</code></th>
<td class="colLast">
<div class="block">Returns a sample dimension that describes real values or sample values, depending if <code>converted</code> is <code>true</code>
 or <code>false</code> respectively.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang" class="externalLink">Number</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBackground()">getBackground</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the background value.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="Category.html" title="class in org.apache.sis.coverage">Category</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCategories()">getCategories</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns all categories in this sample dimension.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a>&lt;?&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMeasurementRange()">getMeasurementRange</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the range of values after conversions by the transfer function.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an identification for this sample dimension.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang" class="externalLink">Number</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNoDataValues()">getNoDataValues</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the values to indicate "no data" for this sample dimension.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a>&lt;?&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSampleRange()">getSampleRange</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the range of values occurring in this sample dimension.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTransferFunction()">getTransferFunction</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <cite>transfer function</cite> from sample values to real values.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTransferFunctionFormula()">getTransferFunctionFormula</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the scale factor and offset of the transfer function.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUnits()">getUnits</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the units of measurement for this sample dimension.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a hash value for this sample dimension.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a string representation of this sample dimension.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString(java.util.Locale,org.apache.sis.coverage.SampleDimension...)">toString</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util" class="externalLink">Locale</a>&nbsp;locale,
        <a href="SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a>...&nbsp;dimensions)</code></th>
<td class="colLast">
<div class="block">Returns a string representation of the given sample dimensions.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.opengis.util.GenericName,java.lang.Number,java.util.Collection)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SampleDimension</h4>
<pre>public&nbsp;SampleDimension&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a>&nbsp;name,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang" class="externalLink">Number</a>&nbsp;background,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="Category.html" title="class in org.apache.sis.coverage">Category</a>&gt;&nbsp;categories)</pre>
<div class="block">Creates a sample dimension with the specified name and categories.
 The sample dimension name is used as a way to perform a band select
 by using human comprehensible descriptions instead of numbers.
 The background value is used for filling empty space in map reprojections.
 The background value (if specified) should be the value of a qualitative category
 present in the <code>categories</code> collection, but this is not mandatory.

 <p>Note that <a href="SampleDimension.Builder.html" title="class in org.apache.sis.coverage"><code>Sample­Dimension​.Builder</code></a> provides a more convenient way to create sample dimensions.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - an identification for the sample dimension.</dd>
<dd><code>background</code> - the background value, or <code>null</code> if none.</dd>
<dd><code>categories</code> - the list of categories. May be empty if none.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a>&nbsp;getName()</pre>
<div class="block">Returns an identification for this sample dimension. This is typically used as a way to perform a band select
 by using human comprehensible descriptions instead of just numbers. Web Coverage Service (WCS) can use this name
 in order to perform band sub-setting as directed from a user request.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an identification of this sample dimension.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/content/RangeDimension.html?is-external=true#getSequenceIdentifier()" title="class or interface in org.opengis.metadata.content" class="externalLink"><code>Range­Dimension​.get­Sequence­Identifier()</code></a></dd>
</dl>
</li>
</ul>
<a id="getCategories()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCategories</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="Category.html" title="class in org.apache.sis.coverage">Category</a>&gt;&nbsp;getCategories()</pre>
<div class="block">Returns all categories in this sample dimension. Note that a <a href="Category.html" title="class in org.apache.sis.coverage"><code>Category</code></a> object may apply to an arbitrary range
 of sample values. Consequently, the first element in this collection may not be directly related to the sample value
 <code>0</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of categories in this sample dimension, or an empty list if none.</dd>
</dl>
</li>
</ul>
<a id="getBackground()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackground</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang" class="externalLink">Number</a>&gt;&nbsp;getBackground()</pre>
<div class="block">Returns the background value. If this sample dimensions has quantitative categories, then the background
 value should be one of the value returned by <a href="#getNoDataValues()"><code>get­No­Data­Values()</code></a>. However this is not mandatory.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the background value, typically (but not necessarily) one of <a href="#getNoDataValues()"><code>get­No­Data­Values()</code></a>.</dd>
</dl>
</li>
</ul>
<a id="getNoDataValues()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNoDataValues</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang" class="externalLink">Number</a>&gt;&nbsp;getNoDataValues()</pre>
<div class="block">Returns the values to indicate "no data" for this sample dimension.
 If the sample dimension describes <a href="#forConvertedValues(boolean)">converted values</a>,
 then the "no data values" are NaN values.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the values to indicate no data values for this sample dimension, or an empty set if none.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­State­Exception</a></code> - if this method can not expand the range of no data values, for example
         because some ranges contain an infinite amount of values.</dd>
</dl>
</li>
</ul>
<a id="getSampleRange()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSampleRange</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../measure/NumberRange.html" title="class in org.apache.sis.measure">NumberRange</a>&lt;?&gt;&gt;&nbsp;getSampleRange()</pre>
<div class="block">Returns the range of values occurring in this sample dimension. The range delimits sample values that
 can be converted into real values using the <a href="#getTransferFunction()">transfer function</a>.
 If that function is <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform.html?is-external=true#isIdentity()" title="class or interface in org.opengis.referencing.operation" class="externalLink">identity</a>, then the values are already
 real values and the range may be an instance of <a href="../measure/MeasurementRange.html" title="class in org.apache.sis.measure"><code>Measurement­Range</code></a>
 (i.e. a number range with units of measurement).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the range of sample values in this sample dimension.</dd>
</dl>
</li>
</ul>
<a id="getMeasurementRange()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMeasurementRange</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../measure/MeasurementRange.html" title="class in org.apache.sis.measure">MeasurementRange</a>&lt;?&gt;&gt;&nbsp;getMeasurementRange()</pre>
<div class="block">Returns the range of values after conversions by the transfer function.
 This range is absent if there is no transfer function.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the range of values after conversion by the transfer function.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getUnits()"><code>get­Units()</code></a></dd>
</dl>
</li>
</ul>
<a id="getTransferFunction()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransferFunction</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true" title="class or interface in org.opengis.referencing.operation" class="externalLink">MathTransform1D</a>&gt;&nbsp;getTransferFunction()</pre>
<div class="block">Returns the <cite>transfer function</cite> from sample values to real values.
 This method returns a transform expecting sample values as input and computing real values as output.
 The output units of measurement is given by <a href="#getUnits()"><code>get­Units()</code></a>.

 <p>This transform takes care of converting all "<a href="#getNoDataValues()">no data values</a>" into <code>Na­N</code> values.
 The <code>transfer­Function.<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/operation/MathTransform1D.html?is-external=true#inverse()" title="class or interface in org.opengis.referencing.operation" class="externalLink">inverse()</a></code> transform is capable to differentiate
 those <code>Na­N</code> values and get back the original sample value.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <cite>transfer function</cite> from sample to real values. May be absent if this sample dimension
         does not define any transform (which is not the same that defining an identity transform).</dd>
</dl>
</li>
</ul>
<a id="getTransferFunctionFormula()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransferFunctionFormula</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform">TransferFunction</a>&gt;&nbsp;getTransferFunctionFormula()</pre>
<div class="block">Returns the scale factor and offset of the transfer function.
 The formula returned by this method does <strong>not</strong> take
 "<a href="#getNoDataValues()">no data values</a>" in account.
 For a more generic transfer function, see <a href="#getTransferFunction()"><code>get­Transfer­Function()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a description of the part of the transfer function working on real numbers.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­State­Exception</a></code> - if the transfer function can not be simplified in a form representable
         by <a href="../referencing/operation/transform/TransferFunction.html" title="class in org.apache.sis.referencing.operation.transform"><code>Transfer­Function</code></a>.</dd>
</dl>
</li>
</ul>
<a id="getUnits()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnits</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&gt;&nbsp;getUnits()</pre>
<div class="block">Returns the units of measurement for this sample dimension.
 This unit applies to values obtained after the <a href="#getTransferFunction()">transfer function</a>.
 May be absent if not applicable.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the units of measurement.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­State­Exception</a></code> - if this sample dimension use different units.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getMeasurementRange()"><code>get­Measurement­Range()</code></a></dd>
</dl>
</li>
</ul>
<a id="forConvertedValues(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forConvertedValues</h4>
<pre class="methodSignature">public&nbsp;<a href="SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a>&nbsp;forConvertedValues&#8203;(boolean&nbsp;converted)</pre>
<div class="block">Returns a sample dimension that describes real values or sample values, depending if <code>converted</code> is <code>true</code>
 or <code>false</code> respectively.  If there is no <a href="#getTransferFunction()">transfer function</a>, then this method
 returns <code>this</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>converted</code> - <code>true</code> for a sample dimension describing converted values,
                    or <code>false</code> for a sample dimension describing packed values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a sample dimension describing converted or packed values, depending on <code>converted</code> argument value.
         May be <code>this</code> but never <code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="grid/GridCoverage.html#forConvertedValues(boolean)"><code>Grid­Coverage​.for­Converted­Values(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns a hash value for this sample dimension.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object)</pre>
<div class="block">Compares the specified object with this sample dimension for equality.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to compare with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given object is equals to this sample dimension.</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString()</pre>
<div class="block">Returns a string representation of this sample dimension.
 This string is for debugging purpose only and may change in future version.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">to­String</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this sample dimension for debugging purpose.</dd>
</dl>
</li>
</ul>
<a id="toString(java.util.Locale,org.apache.sis.coverage.SampleDimension...)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature"><a href="../util/Debug.html" title="annotation in org.apache.sis.util">@Debug</a>
public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util" class="externalLink">Locale</a>&nbsp;locale,
                              <a href="SampleDimension.html" title="class in org.apache.sis.coverage">SampleDimension</a>...&nbsp;dimensions)</pre>
<div class="block">Returns a string representation of the given sample dimensions.
 This string is for debugging purpose only and may change in future version.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locale</code> - the locale to use for formatting texts.</dd>
<dd><code>dimensions</code> - the sample dimensions to format.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of the given sample dimensions for debugging purpose.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SampleDimension.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
